抽出ベンチマーク:GPT-4、Claude、オープンソースLLMのチャットログからの構造化データ抽出比較
LangChainは、チャットログから構造化情報を抽出するLLMの能力を評価するための新しいベンチマークデータセットを公開しました。データセットの作成プロセス、評価指標、GPT-4、Claude-2、Code Llama 2などのモデルのベンチマーク結果を詳述します。実験により、GPT-4が多くの指標で最良であり、オープンソースモデルは構造化出力に課題があることが示されました。
2週間前、LangChainはlangchain-benchmarksパッケージとLangChainドキュメントに関するQ&Aデータセットをリリースしました。本日、チャットログから正しい構造化情報を推論するLLMの能力を測定する新しい抽出データセットを発表します。
この新しいデータセットは、非構造化テキストの分類、機械可読情報の生成、妨害情報がある中での複数タスクの推論といった、LLMアプリケーション開発における一般的な課題をテストする実用的な環境を提供します。
本記事では、データセットの作成方法を説明し、初期のベンチマーク結果を共有します。
データセット作成の動機
実世界の問題であるチャットボットインタラクションからの構造化インサイト抽出を中心にデータセットスキーマを設計しました。今年の夏、優秀なインターンのMollyがChat LangChain(LangChainのPythonドキュメント上のRAGアプリケーション)のリフレッシュを手伝ってくれました。これは「検索エンジン付きLLM」であり、ユーザーは「エージェントにメモリを追加する方法は?」などと質問でき、ドキュメントから見つけた回答を返します。
このようなプロジェクトの真の試練はデプロイ後に始まり、使用方法を観察してさらに洗練します。通常、ユーザーは明示的なフィードバックを提供しませんが、会話から多くのことが明らかになります。ログを単にLLMに入れて要約することもできますが、監視と分析のために構造化コンテンツを抽出することが有益な場合が多いです。これにより、分析ダッシュボードやファインチューニングデータ収集パイプラインを駆動できます。
チャット抽出データセットは、今日のLLMがこの種のデータから関連情報を抽出・分類する能力をテストするために設計されています。
データセットの作成
主な手順は以下の通りです:構造化出力を表現するデータモデルの決定、QAペアによるシード、LLMによる候補回答の生成、アノテーションキューでの人間によるレビューとタクソノミの更新。LangChainは合成データセット生成ユーティリティを長年提供しており、初期データのブートストラップを支援しますが、最終版には品質保証のため人間によるレビューが常に必要です。
初期データセットができたら、ラベル付きデータをシード生成モデルの少数ショット例として使用し、人間がレビューするデータの品質を向上させることができます。
抽出スキーマ
タスクは扱いやすくしつつも、現在の多くのモデルにとって挑戦的であることを目指しました。スキーマはチェーン付きPydanticモデルを使用して定義しました。抽出例は以下の通りです:
{ "GenerateTicket": { "question": { "toxicity": 0, "sentiment": "Neutral", "is_off_topic": false, "question_category": "Function Calling", "programming_language": "unknown" }, "response": { "response_type": "provide guidance", "confidence_level": 5, "followup_actions": [ "Check with API provider for function calling support." ] }, "issue_summary": "Function Calling Format Validation" } }
このスキーマにはいくつかの課題があります:長い列挙値、オブジェクトのネスト、入力の対応するセクションからの推論、分類・要約・構造化出力生成の組み合わせです。
評価
このベンチマークは構造と分類に焦点を当てており、LLMを判定者とする指標は使用しません。カスタムのLangSmith評価器を作成し、以下を測定しました:
- 構造検証:JSONスキーマ準拠。
- 分類タスク:質問カテゴリ、オフトピック、毒性、プログラミング言語、信頼度、感情など。
- 全体的な差異:JSON編集距離。
実験
gpt-4-1106-preview、claude-2、llama-v2-34b-code-instruct、llama-v2-chat-70b、yi-34b-200k-capybaraを評価しました。
実験1:GPT-4とClaude-2の比較。GPT-4はツール呼び出しAPIを使用し、Claude-2はJSONスキーマまたはXSDでプロンプト。結果、GPT-4がほぼすべての指標で優れ、JSONスキーマを完璧に出力しました。Claude-2はフォーマットの一貫性に問題がありました。
実験2:オープンソースモデルのベースライン。Yi-34bとCode Llama 2はLlama 2 70BよりもJSON準拠性が高かったが、全体としてクローズドソースモデルには遠く及びません。Code Llama 2が相対的に良好でした。
実験3:スキーマ準拠のためのプロンプト戦略。追加指示、チェーン・オブ・ソート、少数ショット例の3戦略をテストしたが、Code Llama 2への改善は限定的でした。
まとめると、このベンチマークは構造化抽出における現在のモデルのギャップを浮き彫りにし、今後の改善の方向性を示しています。