学習済みモデルの生成を念頭に置いたソフトウェアの開発方式として、探索的段階型があります。「AI・データの利用に関する契約ガイドライン」(経済産業省作成)の中に探索的段階型ソフトウェア開発に関する考え方が記述されています。
本記事ではAI開発契約と探索的段階型の開発形式について説明します。
AI開発契約とは
AI開発契約とは、AI技術に関するソフトウェアの開発を社外に委託する際に締結する契約のことです。システム開発の契約とは性質が大きく異なります(後述)。
AI開発契約の一般的な流れは以下となります。
- 発注側が委託先に生データを提供する
- 委託先が学習用プログラムを設計する
- 委託先が学習用データセットを作成する
- 委託先が、学習用プログラムに学習用データセットを入力し、学習済みモデルを生成する
AI開発契約とシステム開発契約はどう違う?
一般的に、システム開発の案件では、案件のゴール(ある要件を満たすシステムの開発と納品など)に向かって直線的に開発を進めることになります。
システム開発の案件の中でも、やや性質の異なるウォーターフォール式やアジャイル式がありますが、概ね上記のスタイルで進みます。
これに対して、AI開発では、同じ最終的なゴールでも、複数通りの道が考えられ、最初はどの道に沿って進むとうまくいくかが分かりません。さらに、最終的なゴール(目標)があっても、最終的に出来上がる成果物はどんなものなのか確かではないこともあります。
このような開発案件では、発注側と受注側(委託先)で揉めそうですよね。
そこで、経済産業省がAI開発契約に関するガイドラインをまとめ上げました。それが「探索的段階型」の開発方式でです。
探索的段階型の開発方式とは
探索的段階型の開発方式では、両側で通常のシステム開発とAI開発の違い及びKPI設定への共通認識を持つことが重要です。以下のように開発プロセスを分割しています。
- アセスメント:発注側と委託先の間で秘密保持契約(NDA)を結んだ上で、発注側がまず「サンプル」として一定量の生データを送付し、それをもって委託先が学習済みモデルが作成可能かを判断します。
- PoC(概念実装; Proof of Concept):委託先で生データから学習用データセットを作成し、発注側が求める精度を満たすような学習済みモデルを生成できるかどうかを検証します。試作モデルを作るイメージです。
- 開発:PoCを通過した後は、実際に本番用の学習用データセットを用いて学習済みモデルを構築します。
- 追加学習:発注側からその要請がある時に、場合によっては追加金額を契約に入れた上で、モデルの精度をさらに上げるための工夫をします。モデルの「チューニング」とも呼ばれます。ここでは、追加の学習用データ(時系列の場合は直近のデータ)を学習済みモデルに入力し、その結果に基づいてモデルのパラメータの微調整をします。
AI開発契約の形態はさらに、請負契約と準委任契約に分類することができます。ただし、成果を保証しづらいので、準委任契約類型がガイドラインで推奨されています。
執筆担当:ヤン ジャクリン (分析官・講師)