昨日Jagu’e’rエバンジェリスト就任しました大前七奈です。今年のお題は「GenAIはPoCの壁を超えたのか」だったので、日頃に考えていたことをこれを機に記事にしたいと思います
PoCの壁とは何か?
生成AI、いわゆるLLM(大規模言語モデル)は、従来のAIモデルと違って汎用的なモデルで、チューニングなし(Zero Shot)で利用できるモデルです。しかし、PoC(概念実証)の段階から本番環境への移行、つまり、実用的なサービスとしてLLMを運用するには、様々な課題を克服する必要があります。
PoC段階では、LLMの潜在的な可能性を検証し、具体的なユースケースを特定することが主な目的です。しかし、PoCから本番環境への移行には、以下の課題が立ちはだかります。
- スケーラビリティ: 大量のユーザーからのリクエストにリアルタイムで応えるための処理能力
- 信頼性: 高い精度と安定性を維持し、誤った情報や偏見を含んだ回答を防ぐこと
- セキュリティ: ユーザーデータや機密情報の保護
- コスト: モデルの学習と推論にかかるコストの最適化
- 運用管理: Drift監視と検知やモデルの更新、トラブルシューティングなど、継続的な改善体制
PoCの壁を超えるには
個人的に最近のトレンドを見ている限り、以下のいくつかの要素がLLMをプロダクションに持っていける可能性をより一層に高めたかと思いました。
クエリチェーン
LLMに新しい情報を与えたいときに、大量データと訓練するためのリソースが必要になってきます。そこで、1つのLLMにすべての機能を持たせるのではなく、機能を分解することで、個別のLLMが単一のタスクをやってもらいつつ、全体から見ると、複雑な処理ができるようになります。
部品として切り出すことで、ほかのユースケースでの再利用も考えられます。
たとえば、以下のように、LLMを2つに分解し、その間にメタデータ(Augment with external data)を付与することで精度を上げることができます。また、間に誤った情報や偏見をフィルタするようなLLMを噛ませることで、より精度のシステムを構築できます。
LLMでLLMを評価
ベンチマークの日本語データセットは、一般的に完全一致率、文字ベースF値で回答と参照文章の一致度を評価する事が多いです。ただし、ユースケースがQ&Aではないときに、評価したい文章がどうしても長くなり、人間が評価せざるをえなかったです。または、ROUGE、BLEUを利用した場合、回答が参照テキストと似ていても文字ベースで一致しないと、スコアが低くなります。
そして、人間の代わりに、LLMによる評価(LLM-as-a-judge)を利用することで、より柔軟かつ汎用性の高い評価ができます。
評価用プロンプトの例
あなたは、ユーザーからの質問に対する回答評価者です。以下の質問への回答に対して、有用性、関連性、正確性の観点で評価してください。[[rating]]という形式で1から10までの整数の評価値を出力してください。
質問:
{question}
回答:
{answer}
参考回答:
{refernce_answer}
自動評価ツール
-
llm-jp-eval
- 一致度を用いる評価が多い、日本語ベンチマーク対応
-
flexeval
- LLMによる評価、日本語ベンチマーク対応
-
RAGAS
- RAG用ではありますが、そんな中で生成文章に関する指標もある
- faithfullness(忠実度)、answer relevancy(関連性)
- 参考になった記事: RAGAS:9つの指標と評価方法をコードを見ながらざっくり解説する
- RAG用ではありますが、そんな中で生成文章に関する指標もある
LLMで評価するときの注意点
- 位置バイアス
- 回答が先に言及したとき、スコアが高くなりがち
- 冗長性バイアス
- 長い回答のほうが好まれる
- 自己選好バイアス
- 評価対象と評価者が同じLLMの場合、評価が高くなる
監視パイプライン(=継続的な訓練とチューニング)
従来のシステムと比べて、AIを利用したシステムの運用負荷が遥かに高いです。それはなぜかというと、実際にモデルを継続的に現実世界のデータに合わせる必要なためです。監視パイプラインが全然新しいものではないですが、上記の評価指標と併用することで、ユーザーと合意を得た閾値を超えたときに、再度自動的に訓練できれば、より従来のシステム運用(監視指標)に近づけるかと思います。
参考に、GoogleのMLOpsレベル2のシステム図を貼り付けました。以下の図のように、従来のシステムでいう開発環境は実験パイプラインの部分に該当し、本番環境は推論パイプラインに該当します。そして、従来のシステムに当てはまらない部分は監視パイプラインの部分になります。
まとめ
その他のお題(PEFTチューニング、評価ツールの詳細)も触れたかったですが、一旦今回の記事はここまでにします。
LLMの未来の進化にわくわくします。