PR

今回はAIシステムの実装やテストについて取り上げる。実装フェーズではPoCで開発したモデルを整理し、周辺機能も実装する。テストはモデルへの入力と出力に着目することがポイントだ。

 前回はAI(人工知能)システム開発の設計フェーズにおいて、留意すべきポイントを解説しました。今回は後続フェーズとなるAIシステムの実装およびテストについて解説します。学習基盤の構築、そして機械学習モデルに対するテストについて、それぞれ取り上げていきます(図1)。

図1●AIシステム構築プロジェクトのプロセス
図1●AIシステム構築プロジェクトのプロセス
[画像のクリックで拡大表示]

 AIシステムは、機械学習モデルを組み込んだシステムです。通常のシステム開発プロセスと比較し、変更点はごく一部にとどまります。ただし、モデルの開発においては留意が必要です。ウォーターフォール型の開発プロセスを採っている場合、プログラム設計から単体テストの段階で変化が発生します。

 ウォーターフォール型は、設計を起点として進みます。要件定義・設計フェーズで実装すべき機能を洗い出して実装し、テストフェーズで設計通りに実装されていることを検証する、一気通貫のプロセスです。

 これに対してAIシステムの場合、設計フェーズでは把握し切れない不確実性を内在しています。機械学習モデルの内部がブラックボックスであるためです。そこで実装・テストフェーズでは、これらの不確実性を取り除くよう留意しなければなりません。不確実性を排除するために、プログラム設計から単体テストまでのプロセスでは、ウォーターウォール型ではなく、より反復的な開発プロセスを採用する必要があります。反復的なプロセスを折り込んだプロジェクトの進め方を踏まえ、実装フェーズを進めていきます(図2)。

図2●AIシステム実装の開発プロセスのイメージ
図2●AIシステム実装の開発プロセスのイメージ
[画像のクリックで拡大表示]