Skip to Content
Docs03. 実装学習用合成データの実務

この記事の音声は準備中です。

音声の一覧・再生リストへ

学習用合成データの実務

この記事の目的

ファインチューニング既存モデルの重みを自分のデータで追加調整すること。形式・文体・ドメイン特化の挙動に加え事実知識も学習し得るが、正確な再現や容易な更新は保証されない。評価・データ準備・再学習の費用を、プロンプト改善・RAG・モデル変更と比較して選ぶ。(FT)・蒸留・選好調整複数の応答への人間(または AI)の選好から「良い応答」の基準を学ばせる LLM の学習工程(RLHF・DPO など)。有用さ・無害さ・トーンを形作る一方、迎合(sycophancy)や過剰な拒否の由来にもなる。に使うデータを LLM で生成する際の、作り方の型と品質管理・落とし穴を押さえられるようになります。「LLM に量産させれば安く学習データが作れる」という発想の危うさ(崩壊・単調化・汚染・権利)を理解し、実際に使える合成データLLM に生成させた評価・学習用のデータ。量とバリエーションを安く稼げる一方、分布の偏りと盲点の共有(生成モデルと評価対象が同系だと弱点が現れない)に注意が必要。を設計できる状態がゴールです。

対象読者

前提知識

本文

概要: 分担と「学習用」の限定

対象正本本記事
FT・蒸留を選ぶか・手法・運用ファインチューニングと蒸留—
評価用の合成データ(使いどころと危険)評価データセットの構築と保守—
SFT・選好調整で挙動が決まる仕組みLLM の学習パイプライン—
学習用の合成データの作り方本記事用途の型・生成の型・品質管理・崩壊・権利

本記事は学習用に限定します。評価用の合成データ(分布の偏り・盲点の共有・正解ラベルの信頼性)は 評価データセットの構築と保守 が正本です。両者を混同すると、後述の「汚染」を招きます。

そもそも FT・蒸留が本当に必要かは ファインチューニングと蒸留 で判断します。プロンプト・RAG外部の知識ソースを検索し、結果を LLM の入力に加えて回答の根拠にする手法。検索の判断を Agent に任せる構成は Agentic RAG と呼ばれる。 で足りるなら、学習データを作る必要はありません。

用途の類型

学習用合成データは、目的で作り方が変わります。

用途作るもの使い先
SFT 用の指示応答「指示 → 望ましい応答」のペア指示追従・形式・文体を教える教師ありFT
蒸留(教師出力)上位モデルに解かせた出力小型モデルに上位モデルの挙動を移す
選好ペア同じ入力への「良い応答 / 悪い応答」の組選好最適化(DPO報酬モデルの学習と強化学習の 2 段を、選好データから直接 1 段で最適化する選好調整の手法。「報酬モデルは方策に暗黙に含まれる」ことを使い、正規化定数を消去して選好から直接学ぶ。実装が軽い一方、明示的報酬モデルがないぶん細かい制御は RLHF に劣る。 等)で優劣を教える
既存データの拡張少量の実データを言い換え・多様化不足しているパターンの補強

用途を先に決めます。「とりあえず大量に生成」は、どの用途にも中途半端なデータを生みます。

生成の型

品質管理

合成データの品質管理は、生成より選別と計測が中心です。

  • 検証器でフィルタリングする: 生成物を、決定的な検証(スキーマ・テスト・照合)やモデル判定(LLM-as-a-Judge)で選別します。「生成は難しいが検証は易しい」構造を作れる用途ほど、合成データは有効です(ループ内フィードバックと検証器の設計)
  • 多様性を測る: 大量生成は、似たようなサンプルばかりになりがちです。重複・近重複の割合や表現の分散を測り、多様性が確保されているか確認します(単調なデータで学習すると、モデルの出力も単調になります)
  • 人手サンプリング検品: 全数は無理でも、無作為抽出した一定数を人が確認します。「もっともらしいが誤り」の合成データは、機械フィルタをすり抜けることがあります
  • 正解ラベルの信頼性: 生成器と同系のモデルで正解を付けると、両者が共有する誤りが検出できません(盲点の共有)。ラベルは独立した手段で検証します

劣化リスク: モデル崩壊と単調化

合成データ最大の落とし穴が、自己出力での学習を繰り返すことによる劣化です。

  • モデル崩壊(model collapse): モデルの出力を学習データにして次のモデルを訓練する、を繰り返すと、分布の裾(まれなパターン)が失われ、出力が平均的・単調に崩れていく現象です。合成データだけで世代を重ねるほど危険が増します
  • スタイルの単調化: 単一モデルの出力で学習すると、そのモデルの言い回し・構造の癖に染まります。多様性の確保(ペルソナ多様化・複数ソース)が対策です
  • 実データを混ぜる: 崩壊を避ける実務的な指針は、合成データを実データの代替ではなく補強として使い、実データを一定割合混ぜることです。「実データが足りないから全部合成」は最も崩壊しやすい構成です

権利と規約: 教師モデル出力の利用条件

蒸留や合成データ生成に他社の LLM の出力を使う場合、その利用条件は提供者ごとに異なります。

評価データとの厳格な分離

学習用合成データで最も起こりやすい事故が、評価データへの汚染です。

  • 生成した学習データが評価セットと重なると、評価が過大に出ます(見た問題を解けるのは当然です)。学習用と評価用の生成は厳格に分離します(評価データセットの構築と保守)
  • 同じシードから学習用と評価用を両方作ると、表現違いの実質同一データが混入します。シードのレベルで分けます
  • 汚染は静かに起きます。「合成データで学習したらスコアが上がった」が、汚染による見せかけでないかを、独立した評価セットで確認します

実務での注意点

アンチパターン

  • 実データが足りないから全部合成で補う → モデル崩壊・単調化で品質が劣化する → 合成は補強にとどめ、実データを一定割合混ぜる
  • 大量生成すれば良いデータになると考える → 似たサンプルの山になり、フィルタもかけない → 生成より選別(検証器フィルタ)と多様性計測に注力する
  • 生成器と同系モデルで正解ラベルを付ける → 共有する誤りが検出できない(盲点の共有) → ラベルは独立した手段で検証し、人手で抜き取り確認する
  • 学習用と評価用を同じ生成・同じシードから作る → 評価が汚染され、スコアが過大に出る → 学習用と評価用をシードのレベルで厳格に分ける
  • 他社モデルの出力を規約確認なしに学習に使う → 利用規約違反のリスク → 提供者の利用条件を確認し、契約チェックと整合させる

チェックリスト

  • FT・蒸留が本当に必要か(ファインチューニングと蒸留)を先に判断した
  • 用途(SFT / 蒸留 / 選好ペア / 拡張)を先に決めてから生成している
  • 生成物を検証器でフィルタリングし、選別の質を担保している
  • 多様性(重複・近重複の割合・表現の分散)を計測している
  • 無作為抽出した合成データを人手で検品している
  • 実データを一定割合混ぜ、合成だけで世代を重ねていない
  • 学習用と評価用を厳格に分離し、汚染がないことを独立評価で確認した
  • 教師モデル出力の利用条件を規約で確認した

関連トピック

参考資料

TODO・未確認事項