基本 中級
合成データ
Synthetic Data
現実の記録ではなく、プログラムや AI で人工的に作ったデータのことです。個人情報を避けたい場合や、不足しているデータを補いたい場合に、AI の学習や評価に使われます。
別の呼び方人工データ、合成データ生成
例実際の顧客情報を使わずに済むよう、LLM で架空の問い合わせ文を作って評価用データにした。
詳しく
合成データ(Synthetic Data)とは、実際の人や出来事から集めたのではなく、ルールに基づくプログラムや生成 AI によって人工的に作られたデータです。AI の学習や評価、テストに使われます。
なぜ使うのか
- データが足りない:まれな事故や故障のように、現実ではめったに起きない場面は、集めること自体が難しいです。
- プライバシーの保護:患者の記録や顧客情報をそのまま使えない場合に、統計的な性質だけを似せた架空のデータで代用できます。
- コストと速度:人手でラベル付けや収集をするより、速く安く大量に作れることがあります。
- 偏りの調整:不足している集団や場面のデータを意図的に増やし、バランスを整えられます。
作り方の例
- ルールで作る:ゲームエンジンで道路を描き、自動運転用の画像と正解ラベルを同時に作る。
- 既存モデルに作らせる:LLM に「こういう問い合わせメールを100通書いて」と頼み、分類器の学習用データにする。
- 蒸留:大きく高性能なモデルの出力を教材にして、小さなモデルを学習させる。蒸留は合成データの代表的な使い道です。
- 推論モデルの出力を使う:数学やコードなど正しさを機械的に確認できる分野で、正解した解答だけを残して学習に再利用する。
具体例
カスタマーサポートの返信 AI を作る際、実際の顧客メールには個人情報が含まれます。そこで、LLM に架空の問い合わせ文を大量に書かせて評価用データを作れば、本物の顧客情報を使わずに動作確認ができます。
注意点とよくある誤解
- 品質が一番の課題:生成したデータに誤りや不自然さがあれば、それをそのまま学ぶことになります。確認して取捨選択する工程が必要です。
- 偏りの複製:元にしたモデルの偏りやクセが、合成データにも引き継がれます。
- 多様性の不足:似たものばかりが並びやすく、現実の幅広さを再現できないことがあります。
- モデル崩壊:AI が作ったデータだけで、世代を重ねて学習させると、性能が劣化して多様性が失われるおそれが指摘されています。人間が作った本物のデータを混ぜるなど、設計が必要です。
- プライバシーの保証ではない:元のデータの特徴を強く写し取った合成データは、元の個人を推測される可能性が残ります。
関連する考え方
training-data は学習に使うデータ全般、model-collapse は合成データの弊害、distillation は大きなモデルから教わる方法、evals は評価用データの作り方に関わります。
あわせて知りたい言葉
- 学習データAI モデルに学習させるために使う、文章・画像・音声などの大量のデータです。モデルの得意・不得意や偏りは、何を学習したかに大きく左右されるため、質と中身が重要です。
- モデル崩壊AIが生成したデータを次世代のAIの学習に使い続けると、少しずつ多様性や正確さが失われ、品質が劣化していく現象です。まれな事例から先に消え、出力が平凡になっていきます。
- 蒸留大きく性能の高いモデル(教師)の出力を手本にして、小さいモデル(生徒)を学習させる手法です。小さく速いモデルに、大きいモデルの能力の一部を移すことができ、費用の削減につながります。
- 評価(eval)AI の出力がどれくらい目的に合っているかを、決めたテストケースと基準で測ることです。モデルやプロンプトを変えたときに、良くなったか悪くなったかを判断する根拠になります。