LangChain、文書質問応答の自動評価機能改善を提案
本文の状態
日本語全文を表示中
詳細モードで約7分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
LangChain Blog
LangChain は質問応答タスクの性能ボトルネックとしてファイル転送速度と画像データの肥大化を指摘し、Anthropic の手法に触れつつも簡易なモデル記述評価の実装例を示している。
AI深層分析を開く2026年8月26日 23:55
AI深層分析
キーポイント
ファイル転送と処理の非効率性
クライアントからバックエンドへのファイル転送に最大 40 秒を要し、画像データが含まれる場合ファイルサイズが肥大化して処理遅延を引き起こすことが示された。
画像データの最適化の必要性
画像がファイルサイズを膨らませる要因となるため、転送前に画像を除去するなどの前処理が必要であるという課題提起が行われている。
モデル記述評価の実装アプローチ
Anthropic の研究を参照しつつ、速度優先のために入力コンテキストからランダムに選択して QA ペアを生成する極めて単純な評価手法を採用している。
検索手法の多様性
ベクトルデータベースによるk近傍法だけでなく、SVMやTF-IDFなどの統計的手法も検索器として検討できる。
自動評価器の実用性
自動評価器を使用すれば、様々な検索手法の追加やテストを容易に行うことができる。
重要な引用
File transfer from client to back-end is slow.
Images bloat the files and may be be stripped prior to transfer from the client
Anthropic and others have published on model-written evaluations.
Auto-evaluator makes it easy to add and / or test various retrievers.
編集コメントを表示
編集コメント
このブログ記事は、理論的な可能性だけでなく実際の運用データに基づいた課題を提示しており、実装段階の開発者にとって貴重な示唆となる。特に画像データの扱い方に関する具体的な数値は、システム設計の参考になるだろう。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
コンテキスト
ドキュメントの質問応答(Question-Answering)は、大規模言語モデル(LLM)の利用事例として非常に人気があります。LangChain を使えば、モデルや検索エンジンなどの LLM コンポーネントを組み合わせ、質問応答をサポートするチェーンを簡単に構築できます。具体的には、入力ドキュメントをチャンクに分割して検索エンジンに保存し、ユーザーからの question に対して関連するチャンクを取得、LLM に渡して合成し、answer を生成します。
改善の機会
ファイル処理
クライアントからバックエンドへのファイル転送には時間がかかります。2 つのファイル(合計 39MB)を転送するのに約 40 秒かかります。
- Prod:Local
- OAI embedding:OAI embedding
- Stage:Elapsed time / Elapsed time
- Transfer file:37 sec / 0 sec
- Reading file:5 sec / 1 sec
- Splitting docs:3 sec / 3 sec
- Making LLM:1 sec / 1 sec
- Make retriever:6 sec / 2 sec
- Success:✅ / ✅
画像が含まれるとファイルサイズが膨らみ、転送前に削除される可能性があります。
- Prod:Prod / Prod / Prod
- 1.3 MB, 40 pg:3.5 MB, 42 pg / 7.7MB, 42 pg / 32MB, 54 pg
- Stage:Elapsed time / Elapsed time / Elapsed time / Elapsed time
- Transfer file:1 sec / 3 sec / 5 sec / 35 sec
- Reading file:5 sec / 4 sec / 6 sec / 7 sec
- Splitting docs:0 sec / 0 sec / 0 sec / 1 sec
- Making LLM:1 sec / 1 sec / 1 sec / 1 sec
- Make retriever:3 sec / 3 sec / 3 sec / 4 sec
- Success:✅ / ✅ / ✅ / ✅
モデルによる評価(Model-written-evaluations)
Anthropic 社や他社では、モデルが生成した評価に関する論文を発表しています。ここでは速度を優先し、極めて単純な手法を採用しました。具体的には、入力コンテキストからランダムに選択した部分を抽出し、そこから QA ペア(質問と回答のペア)を生成するものです。詳細は当社のブログ記事 こちら をご覧ください。なお、今回の手法には改善の余地が十分にあります。例えば、入力全体の文脈を考慮した質問を生成するなどです。
検索エンジン(Retrievers)
LangChain の retriever abstraction には、文書検索を実現する複数のアプローチが含まれています。ベクトルデータベース(VectorDB)から抽出した埋め込み表現に基づく k-Nearest Neighbor 検索は人気のある手法ですが、他にも選択肢があります。例えば、Karpathy は SVMs を retriever として活用する案を最近提唱しており、TF-IDF に代表される統計的なアプローチも検討の余地があります。Auto-evaluator を使えば、さまざまな retriever の追加やテストが容易になります。
私たちは、Kipply の優れた transformer taxonomy から 15 編の論文を選定してテストセットを構築しました。もちろん、このテストセットはさらに改善の余地があります。
- Question:Answer
- What corpus of data was GPT-3 trained on?:GPT-3 was trained on a 300B token dataset consisting mostly of filtered Common Crawl, along with some books, webtext and Wikipedia.
- What is in-context learning?:The broad set of skills and pattern recognition abilities gained during pre-training can be used at inference time to perform novel tasks given only input-output examples without any weight update. It is a an emergent behavior in large language models (LMs).
How much better is Galatica than GPT-3 on LaTex equations?
LaTeX 数式の評価において、Galatica は 68.2% のスコアを記録し、最新の GPT-3 が示した 49.0% を上回りました。
BLOOM モデルはどのようなデータで学習されたのでしょうか?
BLOOM は ROOTS コーパスを用いて訓練されました。これは Hugging Face の 498 種類のデータセットを統合したもので、総量は 1.61 テラバイトに及びます。対象となるのは 46 の自然言語と 13 のプログラミング言語です。
Chinchilla ペーパーが計算資源最適化の観点から重要だと指摘している点はどこでしょうか?
同論文では、計算資源を最適に活用するための訓練において、モデルサイズと学習トークンの数を等しくスケールさせるべきであると結論付けています。具体的には、モデルサイズを 2 倍にする際も、学習トークンの数は同様に 2 倍にする必要があります。
以下にサマリー結果を示します。詳細な結果は こちら で確認できます。
要約すると、この特定のケースにおいては、TF-IDF と SVM は k-NN と同等か、むしろわずかに優れたパフォーマンスを示しました。もちろんこれは常に当てはまるわけではありませんが、重要なのは検索機能には検討するべき選択肢が多数存在するという点です。

モデル評価(Model-Graded Eval)
スコアリングプロンプト
このアプローチの核心は、プロンプトを用いてモデルが生成した回答(および取得された文書)を、正解となる基準データに対して評価・採点することです。私たちは複数のプロンプトを試しましたが、その詳細は こちら で確認できます。
各プロンプトによる結果(質問、回答、および採点の根拠)と要約については こちら をご覧ください。
- プロンプト:正解率
- Fast(高速):5 / 5
- Descriptive(記述的):4 / 5
- Descriptive with bias(バイアスありの記述的):5 / 5
OpenAI の ClosedQA モデルによる評価は 2 / 5 でした。
つまり、プロンプトによって回答の採点結果がばらつくことがわかります(例えば、OpenAI の評価基準が最も厳しい傾向にあります)。今後は、モデルによる自動評価のためのプロンプトをさらに洗練させる研究に注力すべきです。
バラつきについて
現在のアプリでは採点役として GPT-3.5-turbo を使用していますが、OpenAI との議論によると GPT-4 の利用が推奨 されています。以下はその具体例です:採点モデルが二重否定に混乱し、同じ入力に対して非決定的な出力を返すケースがあります。
- 実験番号:回答 / 評価 / 根拠
1
工具や物置、遊び場などとして使用される一階建ての独立した附属建築物または構造物については、屋根の投影面積が 100 平方フィート(約 9.29 平方メートル)を超えない限り、建築確認申請は不要です。
評価:不正解
理由:学生は「屋根の投影面積が 100 平方フィート以下の構造物には建築確認申請が不要」と回答していますが、これは誤りです。正しくは、「100 平方フィートを超える構造物には建築確認申請が必要」であるためです。
2
工具や物置、遊び場などとして使用される一階建ての独立した附属建築物または構造物については、屋根の投影面積が 100 平方フィート(9.29 m²)を超えない限り、建築確認申請は不要です。
評価:正解
理由:学生は「100 平方フィート未満の構造物には建築確認申請が不要」と回答しており、これは正しい記述です。
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み