AI・機械学習
上級

Synthetic QA Generation(合成質問応答生成)(シンセティックキューエージェネレーション)

LLMにドキュメントやコーパスを入力として与え、質問-回答ペアを自動生成するデータ拡張手法。RAGシステムの評価・訓練データ作成、ドメイン特化QAモデルの構築に不可欠な技術で、人手アノテーションの1/100以下のコストで大規模QAデータセットを構築できる。

0 回閲覧
0 いいね

Synthetic QA Generation(合成質問応答生成)とは

Synthetic QA Generation は、大規模言語モデル(LLM)を活用してドキュメントから質問-回答(Question-Answer)ペアを自動的に生成する技術である。人手でQAペアを作成する従来のアプローチに比べ、1/100 以下のコストで大量の高品質なQAデータを生成でき、特にRAG(Retrieval-Augmented Generation)システムの評価データ作成やドメイン特化QAモデルの訓練に不可欠な技術となっている。

2024年以降、RAGシステムの爆発的な普及に伴い、ドメイン固有のQAデータセットの需要が急増している。医療・法律・金融等の専門分野では公開QAデータセットが不足しており、Synthetic QA Generation がこのギャップを埋める主要技術として定着した。

生成パイプライン

Synthetic QA の標準的な生成パイプラインは以下の通りである。

ドキュメント収集 → チャンク分割 → 質問生成 → 回答生成 → 品質フィルタ → QAデータセット

Step 1: ドキュメント前処理

  • PDF/HTML/Markdown からテキスト抽出
  • 500-1,000トークンのチャンクに分割(重複 50-100 トークン)
  • メタデータ(ソース URL・ページ番号・セクション見出し)を付与

Step 2: 質問生成

チャンクを LLM に入力し、そのチャンクから回答可能な質問を生成させる。

質問タイプ説明生成プロンプトの例
事実型特定の事実を問う「このテキストから、事実に関する質問を3つ生成してください」
推論型情報の組み合わせが必要「複数の情報を組み合わせて答える質問を生成してください」
比較型2つ以上の要素の比較「テキスト中の要素を比較する質問を生成してください」
Why/How型理由や方法を問う「なぜ/どのように という形式の質問を生成してください」
マルチホップ複数チャンクの横断「複数の段落の情報を統合して答える質問を生成してください」

Step 3: 回答生成

生成された質問に対し、ソースチャンクを参照しながらLLMに回答を生成させる。回答には以下の要素を含める。

  • 直接回答: 質問に対する簡潔な回答(1-3文)
  • 根拠抽出: ソースチャンク中の回答根拠となるスパン
  • 回答不能判定: チャンクから回答できない質問の場合は「回答不能」とマーク

Step 4: 品質フィルタリング

フィルタ条件目的
回答可能性質問がソースチャンクから回答可能か無意味なQAペアの排除
多様性同一チャンクからの質問間の ROUGE-L < 0.5重複質問の排除
難易度パープレキシティに基づく難易度スコア難易度分布の均一化
事実整合性回答とソースの NLI スコア > 0.8ハルシネーション回答の排除
流暢性生成文のパープレキシティ < 閾値不自然な生成文の排除

主要ツール・フレームワーク

ツール開発元対応LLM特徴価格帯
RAGASExplodinggradientsGPT-4/Claude/ローカルRAG評価に特化、8種の自動評価指標OSS(無料)
GiskardGiskard AIGPT-4/Claudeテスト生成 + 脆弱性検出OSS + Enterprise
LlamaIndex QA GeneratorLlamaIndex任意のLLMドキュメントローダーと統合OSS(無料)
PromptfooPromptfoo任意のLLMQA生成 + A/Bテスト + CI統合OSS + Cloud
Synthetic Data VaultDataCebo表形式データ構造化データのQA生成OSS + Enterprise
ArgillaArgilla任意のLLMアノテーション + QA生成ワークフローOSS(無料)

ドメイン別ベストプラクティス

医療ドメイン

  • PubMed 論文・臨床ガイドラインからの QA 生成
  • 疾患名・薬剤名・治療法の正確性を UMLS(Unified Medical Language System)で検証
  • 患者向け平易な質問と医療者向け専門的な質問を別々に生成

法律ドメイン

  • 判例・法令条文からの QA 生成
  • 条文番号・判例番号の正確性を自動検証
  • 「〜した場合の法的責任は」「〜に該当する判例は」等の実務的質問パターン

金融ドメイン

  • 有価証券報告書・決算資料からの QA 生成
  • 数値データ(売上・利益率等)の正確性を元データと照合
  • 時系列比較(前年比・四半期推移)の質問を重点生成

パフォーマンスベンチマーク

設定SQuAD 2.0 (F1)Natural Questions (F1)コスト/1K QA生成速度
人手アノテーション89.285.4$500-1,00050件/時
GPT-4 Synthetic QA86.883.1$3-5200件/分
Claude 3.5 Synthetic QA86.282.7$2-4200件/分
Llama-3-70B Synthetic QA83.579.8$0 (ローカル)50件/分
T5-XXL Synthetic QA81.277.3$0 (ローカル)100件/分

2025-2026年の最新動向

  • マルチモーダルQA生成: 画像・表・グラフを含むドキュメントからの視覚的QA生成が実用化。GPT-4o のマルチモーダル能力を活用
  • CoT(Chain-of-Thought)QA: 回答に推論過程を含むQAペアの生成。数学・論理的推論タスクの訓練データに必須
  • Adversarial QA 生成: モデルが間違えやすい質問を意図的に生成し、モデルの弱点を特定・改善
  • QA品質のSelf-Evaluation: 生成したQAペアの品質をLLM自身が評価する自動品質管理ループの確立
  • Federated Synthetic QA: プライバシー保護が必要なドメインで、元データを公開せずに合成QAのみを共有

よくある質問(FAQ)

Q1: Synthetic QA のデータでファインチューニングしたモデルは人手QAに近い性能を出せますか? A: GPT-4 で生成した Synthetic QA を用いたファインチューニングでは、人手 QA の 95-97% の性能に達する。ただし、100% の置き換えではなく、合成80% + 人手20%のブレンドが最良の結果を示す研究が多い。

Q2: RAGシステムの評価にSynthetic QAはどの程度信頼できますか? A: RAGAS フレームワークの実験では、Synthetic QA ベースの評価と人手評価の相関(Kendall's tau)が 0.82-0.91 と高い一致を示している。ただし、回答の正確性評価(Faithfulness)は比較的高い相関を示す一方、回答の包括性(Answer Completeness)の評価はやや相関が低い傾向がある。

Q3: 1万件のQAデータセットを作るコストと時間は? A: GPT-4o で約 $30-50、所要時間は約 1-2時間。Llama-3-70B をローカル実行(A100 × 2台)なら電気代のみで約 4-6時間。人手アノテーションでは $50,000-100,000 かつ数ヶ月を要するため、コスト差は 1,000-3,000倍。

まとめ

  • Synthetic QA Generation は RAG 時代の必須技術で、人手の 1/100 以下のコストで QA データを構築
  • 事実型・推論型・比較型・マルチホップ等の多様な質問タイプの生成が可能
  • GPT-4/Claude で生成した QA は人手データの 95-97% の品質に達する
  • RAGAS・LlamaIndex・Giskard 等の OSS ツールで容易に導入可能
  • 品質フィルタリング(事実整合性・多様性・難易度)が生成パイプラインの品質を左右