AIのソフトウェア開発が増えています。従来型のソフトウェア開発と比較して、AIを利用したソフトウェアの開発にはどのような特徴があるのでしょうか?
AI・データの利用に関する契約ガイドライン
このガイドラインは、学習済みモデル(学習用データセットを用いた学習の結果得られたパラメータが組み込まれた推論プログラム)の生成を念頭に、以下の点を特徴として挙げています。
ユーザおよびベンダは、契約締結にあたっては上記の特徴を踏まえて条件交渉等に臨むべきといえます。
とはいえ、学習済みモデルの内容・性能等が契約締結時に不明瞭な場合が多いからといって、いかなる場合にも学習済みモデルの内容・性能が保証されない(保証される必要がない)というものではありません。
また、生成物(学習済みモデル等)について、いずれかの当事者による再利用(上記④)を常に前提としなければならないものでもありません。
上記の特徴を踏まえつつも、開発に際して投じられる双方の費用や労力、ノウハウ、投入されるデータセットの秘密性の程度など、個別の事情を考慮したうえでその都度条件交渉することが望まれます。
上記のガイドラインでは、AIを利用したソフトウェア開発の特徴を踏まえ、試行錯誤型の開発を許容する観点から、開発プロセスとして以下の段階があります。
この段階は、段階ごとに、AI技術によって自らのベンダがユーザとの間で秘密保持契約を締結したうえで、ユーザから一定量のデータ(例えば、ユーザ側でそれほど労力をかけずに提供できるデータ)を受領し、学習済みモデルの生成可能性があるか否かを事前検証する段階です。
次に、PoC(ProofofConcept)とは、概念実証のことであり、新たな概念やアイデアを、その実現 可能性を示すために、部分的に実現することを意味します。
学習済みモデル の生成においては、ユーザまたはベンダが保有しているデータを基に学習済みモデルの生成を進めるかについて検証する段階として捉えられることが多いです。
実際に学習用データセットを用いて学習済みモデルを生成する段階です。
ベンダが納品した学習済みモデルについて、追加の学習用データセットを使って学習をする段階など、次の段階に進むか否かについて探索しながら、それらの検証と当事者相互の確認を得ながら開発を進めていくプロセスを導入することを提唱しています。
このような開発方式とした場合、ユーザにとっては全体のコスト把握が困難である(少なくとも③の開発段階の契約が締結されるまでは、開発までに要する費用の総額を見通すことができない)というデメリットがあると思われます。
しかし、途中の段階で必要な性能を有する学習済みモデルができないことが判明した場合に次の段階に進まないという選択をすることができるという点では、双方にとって無用な損害の拡大を防ぐことができる方式でもあります。
また、ユーザにとっても、開発に至るまでに、ペンダの力量を測る機会を得ることができる方式であるともいえます。
なお、ガイドラインは、上記各段階のいずれについても、請負型ではなく準委任型の契約が親和的であるとするが、開発段階の契約については、想定されている学習済みモデルの仕様が事前に確定できるような場合には、請負型の契約が相応しいということもあり得えます。
AIを利用したソフトウェアの開発契約において、ユーザとベンダの争いの対象となる論点の1つとして、学習済みモデルに関する権利帰属や利用条件の設定が挙げられます。
ユーザおよびベンダは、当該開発契約において想定されている成果物が具体的にどのようなものであるかを踏まえつつ、知的財産権の対象となる部分とならない部分に分けて検討する必要があります。
知的財産権の対象となる部分については、その権利が法律上いずれの当事者に生じるものであるか、そして、それを他方に譲渡するか、譲渡しないとしても利用許諾するか、それらの場合の条件をどうするか等について検討することとなります。
原則として当該部分については現実にアクセス可能な当事者が自由に利用することができるということを前提として、当事者間の合意(契約)により利用を制限する必要があるか否か、あるとしてその内容をどうするかについて検討することとなります。
権利帰属や利用条件を決定するにあたっての基準について、ガイドラインは、その対象となるデータやプログラムの生成・作成に寄与した程度(寄与度)、これに要する労力や、必要な専門知識の重要性、データやプログラムの利用により当事者が受けるリスク等を主たる基準として判断されることが一般的であると考えられ、寄与度に影響する要素としては、次のものが考えられます。
以上のように、AIを利用したソフトウェア開発は、通常のソフトウェア開発とは異なる部分が多々あります。
このような特性を踏まえて、契約条件を定めるようにしましょう!