AIシステムを構築する際の基盤設計の方法について解説する。クラウド、コンテナ、API連携などの新技術を取り入れながら基盤を構築することが重要だ。システム稼働後の運用管理も設計時から想定しよう。
これまでの連載では、要件定義フェーズとしてAI(人工知能)システムの要件定義および、要件に対するPoC(Proof of Concept=概念検証)について解説しました。PoCフェーズではシステム要件を検証するために実際のデータを使い、機械学習モデルを構築しました。今回はPoC後の設計フェーズのポイントを解説していきます(図1)。
AIシステムの設計フェーズで重要なことは、PoCの結果をベースに、機械学習モデルと業務オペレーションの整合を取らなければならないということです。
PoCでは、機械学習モデルの予測精度やアルゴリズムの検証に注力する傾向があります。しかし設計段階では機械学習モデルにフォーカスするのではなく、モデルに投入するためのデータの前処理のフローの整備や、モデルの精度の維持方法などを踏まえて、業務オペレーションとの整合性を重視し、設計することが重要になります。
設計フェーズでは機械学習モデルに関する設計だけでなく、モデル周辺に付随するシステムも含めた全体構成を検討する必要があるのです(図2)。
詳細要件定義で再検討する
PoCで検証された機械学習モデルをシステムに組み込む際、AIシステムの機能に合わせて、周辺システムを含めてシステム全体をモジュール単位で検討することが重要になります。
設計に当たっては、機械学習モデルが大量の過去データの学習に基づいているという特性に注意します。加えて、機械学習モデルを長期的、安定的に機能させるために継続的な改善サイクルを踏まえることも欠かせません。
例えば、ディープラーニング(深層学習)による機械学習モデルは、ネットワークと膨大なデータによって調整されたパラメーターの集合によって成り立っています。モデルはそれ単独では機能せず、常にデータと接続した状態であることが不可欠です。言い換えれば、入力データによって、モデルの挙動が大きく変化するということです。誤った学習データを入力してしまい、それをモデルが学習してしまうとモデルの精度は低下していきます。こうした特性を踏まえ、AIシステムではモデルだけでなく、学習のためのデータフローの整備が必要になってきます。
また利用期間が長くなれば、当初は精度が高くて有用だった機械学習モデルの精度が低くなる経年劣化が起きます。経年劣化が起こることを想定し、継続的な改善サイクルを用意します。モデルからのアウトプットが誤りだった場合、他のシステムや人の手を使ってどのようにカバーするのかといったポイントも、設計時に考えておきましょう。誤りに対する処理は、運用設計でも重要なポイントとなります。
こうした点を踏まえ、AIシステムは機能面から見て以下の4つのプロセスで構成することが一般的です。
(1)前処理
(2)モデル構築
(3)モデルによる推論
(4)アウトプットの出力
またこれらの機能を持ったAIシステムを管理するプロセスは以下の3つで構成します。
(1)状態監視(学習、アウトプットのエラー出力)
(2)パラメーターの更新
(3)モデルの再構築
設計フェーズでは、これらのプロセスに対応した機能をモジュール単位で定義し各プロセスを実行するためのアプリケーションや基盤を検討します。以下で各プロセスの役割と、設計上の留意点を解説していきます。