合成データを利用したLLMの開発
大規模言語モデル(LLM)の開発において、高品質で多様なデータセットの重要性は計り知れません。しかし、インターネットから収集されたデータには多くの問題が伴います。ノイズが多く、広告や特定の言語(特に英語)に偏りがちであり、さらにデータの量にも限界があります。これらの課題を解決するために、合成データの利用が注目されています。
合成データに関するベストプラクティス
Google DeepMindやその他の共同研究者によって発表されたこの論文は、合成データの応用、課題、そして将来の方向性に焦点を当てています。以下に論文のポイントをまとめてみました。
合成データの利点
合成データの利点の一つは、大規模に生成することができることです。これは、実世界のデータが不足しているか入手が困難な分野(例えば、全ての条件をカバーする気象データなど)で特に価値があります。
また、合成データは特定の要件に合わせてカスタマイズすることができ、異なるクラスのバランスの取れた表現を確保することが可能です。このようなデータ特性の制御は、モデルの性能と一般化を向上させることができます。
さらに、合成データは匿名化されたり特定されないデータセットを作成することで、プライバシーの懸念を軽減するのに役立ちます。これは、患者のプライバシーが最も重要とされるヘルスケア分野などで重要です。
合成データの課題
合成データの課題の一つは、合成データの事実性と忠実性を保証することです。偽りのある、幻覚を起こす、または偏見のある合成データで訓練されたモデルは、実世界のシナリオに一般化することができない可能性があります。
また、合成データが偏見を増幅させたり新たな偏見を導入する可能性もあります。これを防ぐためには、慎重な設計と検証が必要です。
合成データの使用例(学習)
数学、コードといった分野では、合成データによるモデルの学習を行なって推論性能が向上したという研究があります。
ツール使用の学習や計画能力の学習といったデータが少ない分野でも合成データによるモデルの学習が行われています。
HTMLや表データなどを画像にレンダリングして、その画像を逆レンダリングして元のコードやデータを再生するといった学習も行われています。
インストラクションチューニングにおいては、Self-instructやStanford Alpacaは、LLMを使用して様々なシナリオをカバーするデータを生成しています。
ハルシネーションの軽減においては、GPT-4が合成データを使用してハルシネーションの問題を改善するトレーニングを受けています。
合成データの使用例(評価)
事実性の評価において、初期の評価方法は語彙の重複を計算することに依存していましたが、これには限界があり、より複雑な誤認を評価するには不適切でした。LongFactでは、合成データを使用して長文の事実性を評価します。この手法はGoogle検索を基盤として使用し、LLMを自動評価に利用しています。このアプローチにより、人間レベルの精度を大幅に低コストで達成することが可能です。
安全性の評価においても、合成データを使用している例があります。例えば、Hubingerらは、合成データを利用して大規模にバックドア攻撃を引き起こし、AIの欺瞞的な振る舞いを明らかにしています。
まとめ
合成データは、データ不足、プライバシーの問題、AI開発の高コストなどの課題に対する有望な解決策として注目されています。LLMなどを活用し、事実に基づく忠実度と偏見のないデータを保証することが、効果的な合成データの作成につながります。小規模な言語モデルは、合成データを使用することで高い性能を発揮していますが、今後はこのデータのスケーリングと品質、多様性の向上が課題となります。モデルが学習データを超える優れた合成データを生成し、それによって自己改善する可能性は、今後の研究にとって非常に興味深い分野です。合成データを効果的に活用することは今後のAI開発において重要であると言えます。
Stanford Alpaca
疑問:
InstractGPTの性能はどこから来るのか?
SFT, インストラクションデータの品質, RLHF どれなのか?
目標:
低コストでInstarctGPTのトレーニングプロセスを再現する
課題:
1. インストラクションデータをどう集めるのか?
2. RLHFのためのデータをどう集めるのか?
3. RLHF(PPO)を実装する必要がある
ステップ1: Alpaca 7B
InstarctGPTでは、ユーザーがAPIに送信したプロンプトを収集し、それらからプロンプトデータセットを作成しています。その後、アノテーターがこれらのプロンプトに対して回答を作成し、それを元にインストラクションデータセットを作成しています。
Self-Instructという手法を用いて、175個のシードデータをもとにOpenAIのtext-davinci-003 で、52,000個のインストラクションデータセットを作成した。
このデータを用いて、LLaMA 7BモデルにSFT行うことでAlpaca 7Bを作成した。
ステップ2: AlpacaFarm
Alpaca 7Bの時点でかなり良い合成データが作れることが分かったため、RLHFデータをGPT-4を用いて生成することを目指した。
GPT-3.5やGPT-4で様々なプロンプトを試したり、出力が長いものや箇条書きに対する擬似相関などについても調査している。また、PPOアルゴリズムも実装している。
合成データでトレーニングしたモデルは人間が作成したデータでトレーニングしたモデルに似ていることが分かった。
また、人間が作成したデータでRLHFしたときに現れる過剰適合が合成データでのRLHFでも再現された。
PPOを行うことで、回答がより長くなり、箇条書きを利用するようになっている。
ステップ3: AlpacaEval
長さ制御付きのAlpacaEvalは、Chatbot Arenaとの相関を0.94から0.98に増加させ、現在Chatbot Arenaとの相関が最も高いベンチマークです。
まず、以下のようなinstructionに対してLLMの回答を作成します。
そのあと、以下のようにgpt-4-1106-previewなどに2つのモデルの出力を比較させます。
まとめ
GPT-4-Turboのような高性能なLLMを利用することで、SFT、RLHF、ベンチマークなどの分野でコストを抑えることができることがわかります。合成データでも人間が作成したデータに近い結果を得られること、またLLMによる評価でも人間の評価に近い結果が得られることから、LLMを上手く活用することで、大企業のような大規模な資金がない、中小企業やスタートアップでもLLMの開発が出来る可能性があります。
この記事が気に入ったらサポートをしてみませんか?