複合 AI システムとは何か
SNSで複合AIシステム(Compound AI)についての投稿を見ました。 実際調べてみると、非常に面白い内容だったので、紹介したいと思います。
元記事: https://bair.berkeley.edu/blog/2024/02/18/compound-ai-systems/
複合AIシステムとは、AIを単一もモデルとしてみるのではなく、フィルタリングモニタリングや再帰的な呼び出しなど複数のコンポーネントを含めたAIシステムのことを指します。 典型的にはRAGシステムがあります。
その重要性と今後の課題について、まとめてみました。
複合AIシステムの重要性
LLMの実用性が明らかになるまで、AIといえば物体検知や文章分類など、単一のタスクを行うものとして見られてきました。単一のタスクに対して、それまでに蓄積された外部・内部のデータセットで重み学習を行い、確率的に正しい結果が返ってくるモデルを作ることが、大きな目標だったと思います。
しかし、2023年から明らかに状況は変わりました。実はもっと以前から変わっていたのかもしれません。
綺麗な学習データを準備しなくてもよくなり、学習のためのコンピュータリソースやそれを制御する技術者がおらずとも、ある程度の言語処理タスクであれば簡単にできるようになりました。
このように、言語処理タスクのためのモデル作成のコストが大きく下がったことにより、より高度な複合AIシステムを開発することが可能になったと考えています。基本的にそのようなシステム(例えばRAGなど)を実用上で構築することは理論上可能だったのですが、高精度なLLMの出現により実用上で可能になりました。
しかし、その実装にはまだ多くの課題が残っています。
その課題についていくつか紹介します。
複合AIシステムの課題
システムデザイン
AIシステムの構築に際して、システム設計の可能性はとても多くあります。例えばRAGにおいては、モデルは何を使うのか、どのように検索を行うのか、検索結果をどのように使うのかなどです。それらを決定するためにAIを組み込んだシステムデザインについての記事は非常に多くありますし、参考になります。
しかしまずは手元のデータを確認して、課題の特性を理解した上で、デザインを考えるのが良いと思います。一般的な方法はデータセットも一般的なデータセットで検証されているため、必ずしも我々が独自に扱うデータでうまくいくとは限らないです。
最適化
AIシステムの最適化は、通常のMLモデルの最適化のようにはいきません。MLモデルの重み学習では学習データセットに対する損失を最小化するようにモデルからの出力を学習しますが、AIシステムはそのような学習を行わないためです。重み学習の代わりに、AIシステムではプロンプトを用いて学習を行います。
ではAIシステムを最適化するためにはどのようにすれば良いでしょうか
簡単な方針は、それぞれのコンポーネントで最適化を目指すことです。例えばRAGではドキュメント検索の最適化と生成部分の最適化を完全に切り分けて考えることができます。
他の方法ではAIシステムのための最適化パイプラインなどが最近出現しています。この点に関してはまだ詳しくないので、興味があれば調べてみます。
終わりに
今回は複合AIシステムというキーワードについて紹介しました。
今後LLMを使った大きなパラダイムを生むために重要なキーワードだと思うので、今後も見ていきたいです!
この記事が良いと思ったり、今後もRAGに関する記事が見たいと思ってくださったら、いいねお願いします!
投稿の励みになります!
Discussion