BLOG
2024.08.13

RAG導入のPOCを成功に導くAIソフトウェア開発アプローチ

はじめに

AIを活用したソフトウェアが大企業を中心に業務に取り入れられてきています。特に2022年にChatGPTが現れてからは大きくすそ野が広がっています。一方でAIソフトウェアの開発・導入プロジェクトは従来のソフトウェア開発・導入プロジェクトにはない難しさが多数存在します。この記事ではAIソフトウェアの開発・導入プロジェクトにおいて、どのようにプロジェクトのリスクを抑え、成功率を高めるのか、我々の取組みの一例をプロジェクト実務者の視点から紹介します。

AIソフトウェアは、扱うデータ量、処理時間、そして確率的な振る舞いなど、従来型のソフトウェアに比べて多くの面で複雑になりがちです。ソフトウェア全体のなかでAIはごく一部分に過ぎないものの[1]、AIの性能を理解し、仕様を定めることがソフトウェア全体の多くの仕様を決定づけます。したがってAIソフトウェアの実装においては、PoC(概念実証)としてAIの検証を最初に行うことが非常に重要です。

しかしながらAIのPoCは様々な困難があります[2]。目標精度の達成はもちろんのこと、十分な量・質を備えたデータの取得、評価基準の設定、現場及び経営陣の納得、などが挙げられます。これらの課題への対処を怠ると、プロジェクトの遅延や手戻りコストの増大といったリスクに直結します。

インクリメンタルなAIソフトウェア開発

我々は長年のAI関連プロジェクトの経験と課題を踏まえてAIソフトウェアの開発運用基盤であるexaBase Studioを開発しました。近年我々が取り組むプロジェクトでは、exaBase studioを活用して「インクリメンタルなAIソフトウェア開発」を実践しています。インクリメンタルな開発とは、最初に動作するソフトウェアを作り、ソフトウェアの様々な部分を別々のスケジュールで開発し、それらが完了する度に一つにまとめる方法のことです。top down programmingとfunctional expansion[4][5]という形でH. Mills によって提唱され、 Principles behind the Agile Manifesto[3]に受け継がれています。

インクリメンタルな開発は本番向けのソフトウェア開発はもちろんのことAIのPoCにおいても効果を発揮します。これまでのPoCでは検証結果をまとめた報告書のみを提供するケースが多くありました。exaBase Studioを用いると、AIの入出力を体験できるデモアプリを比較的簡単に開発・デプロイすることが可能になります。特に、検索拡張生成(RAG)などのポピュラーな用途においては、テンプレートを用いることで既に基本的な機能を備えた動作するソフトウェアを早期にデプロイし、個別に必要な機能を追加・検証するというまさに「インクリメンタルなAIソフトウェア開発」を行うことが出来ます。

このような手法をとることで、ドメインの専門家であるユーザーが早期に評価することができ、AI開発者には特定が難しいドメイン固有の課題を洗い出すことが可能になります。その結果、プロジェクト期間中に前倒しで打ち手を計画・実施することができるようになります。

AIシステムの評価への円滑化

しかしながら現実はそこまで単純ではありません。課題を特定するには大前提として対象とするAIシステムを評価することが必要ですが、AIのPoCでは、評価基準の定義、計測、評価が難しいことがよくあります。

1.評価基準の定義の課題:

AIの評価基準には誰もが理解できるシンプルな評価基準を定めることが理想ですが、これまで人間が行っていた作業の場合は往々にして複合的な評価軸が存在し、単一の評価軸で評価することが困難であることがあります。また、対象とする作業の本質を捉えるために、複雑な指標を採用せざるを得ないこともあります。その場合は関係者全員が必ずしも容易に理解できるものとは限りません。

2.計測の課題:

例えば最近広がりを見せる検索拡張生成(RAG)において、いわゆるGolden Dataが整っていない場合などは精度の計測自体が困難になります。

3.評価の課題:

RAGを例にあげると、precision, recallなど検索の評価指標がしばしば用いられます。これらの指標の定義は難しくありませんが、通常精度100%を達成することはなく、精度が95%、場合によっては60%や70%となった時にそれが事業で利用に値するのか机上で評価・判断することは容易ではありません。複雑な指標を用いる場合はなおさら難しくなります。

早期にデモアプリを提供することで、ユーザーはPoCの結果を報告書として机上で理解するだけではなく、AIの入出力を直接体感することが可能となります。これは評価を円滑に進める上でも助けとなります。たとえば次のような効果が期待されます。

  • 評価基準の理解促進と選択肢の拡大:複雑な評価基準を定めたとしても、入出力を体感することで指標について理解を深めることが可能になります。評価基準は客観的かつ可能な限りわかりやすい指標を定めるべきで、わかりにくさゆえに複雑な基準を使いづらい場面もあります。入出力結果を体感できる環境をあわせて提供することで、評価基準の選択の自由度が上がります。
  • ブロッカーの回避:データの準備、特にアノテーションはいつの時代もコストがかかります。RAGプロジェクトの場合もGolden Dataとして評価用のアノテーションデータを準備する必要があります。これはプロジェクト開始時に是非準備していただきたいデータではありますが、場合によっては極端に収集コストが高いケースがあるのも事実です。そのような場合でも、AIの入出力を体感頂くことで課題の洗い出しが可能になることもあり、データを収集している間にプロジェクトを一定前にすすめることが可能になります。
  • AIの評価の促進: 実際のAIの出力を直接体験することで、数値的な評価だけでなく、入力条件と結果が直感的に理解しやすくなり、AIの評価を促進します。RAGを例に挙げると、チャットボットからNG回答が得られたとしても、全く許容出来ないのか、一部は許容できるのか、運用プロセスを整えれば許容できるのかなど、様々な色合いがあります。このように手触り感のある考察を行うなど、評価から多くの示唆を引き出すことができます。

共同作業の促進

さらに、デモアプリを提供することでユーザーと開発者の共同作業が容易になります。これはPrinciples behind the Agile Manifesto[3]の4つ目の原則“Businesspeople and developers must work together daily throughout the project.”に他なりません。具体的には、投資判断や要件の明確化を通した将来の計画策定が容易になります。例えば次のような効果が期待されます。

  • 納得感向上と投資判断の透明性向上:ユーザーや経営陣の納得感を高めたうえでの後続作業にすすめるべきかのGo/No-Go判断が可能となります。
  • 本番向け要件の明確化:PoC段階ではAIソフトウェアの入出力を体験・評価することのみを目的とし、通常は最小限のデモアプリを作ります。実際の入出力を体験することで、本番においてはどのようなUI/UXが望ましいのか、きわめて具体的な議論が可能になります。

まとめ

AIソフトウェア開発プロジェクトにおいては、後続のソフトウェア開発を成功させるためにも、最初のPoC段階でAIの検証を行うことが重要であるということを述べました。AIソフトウェア開発においては従来型のソフトウェア開発プロジェクトにはない課題が現れますが、exaBase Studio を取り入れることで、これらの課題に対して効果的に対処することが可能です。この手法はアジャイル宣言の背後にある原則[3]の各種原則に沿っており、インクリメンタルな開発、AIの評価の円滑化、共同作業の促進など多くのメリットをもたらします。

参考文献

  • [1] D. Sculley, Gary Holt, Daniel Golovin, Eugene Davydov, Todd Phillips, Dietmar Ebner, Vinay Chaudhary, Michael Young, Jean-Franc¸ois Crespo, Dan Dennison. Hidden Technical Debt in Machine Learning Systems. NIPS, pages 2503-2511. 2015.
  • [2]国立研究開発法人新エネルギー・産業技術総合開発機構. 産業分野における人工知能及びその内の機械学習の活用状況及び人工知能技術の安全性に関する調査報告書. 2019.
  • [3]Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern
  • [4] H. D. Mills, Top-Down programming in large systems,  Debugging Techniques in Large Systems, R. Rustin, ed., Prentice-Hall. 1971.
  • [5] C. Larman and V. R. Basili, “Iterative and incremental developments. a brief history,” in Computer, vol. 36, no. 6, pp. 47-56,  2003. https://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman-and-basili-ieee-computer.pdf 
  • Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas.
  • Principles behind the Agile Manifesto. https://agilemanifesto.org/principles.html. 2001.

exaBase Studioに関するお問い合わせ

インクリメンタルなAIソフトウェア開発のための基盤であるexaBase Studioのより詳しいご案内をお求めのお客様は、下記よりお問い合わせ下さい。