DEITA(ディータ)
Data-Efficient Instruction Tuning with Automatic Selectionの略。LLMを使って指示データの「複雑さ」と「品質」をスコアリングし、高スコアのデータのみ厳選してInstruction Tuningを行う自動データ選択フレームワーク。少量でも高性能を実現する。
DEITA とは
DEITA(Data-Efficient Instruction Tuning with Automatic Selection)は、Liuら(2024, City University of Hong Kong + Microsoft)が提案したLLMを評価者として指示データを自動選択するフレームワークです。大量の合成指示データから「本当に有益な少量データ」を自動厳選し、効率的なInstruction Tuningを実現します。
背景: データ量vs品質問題
Self-Instruct・Evol-Instructなどで数万〜数十万件の合成指示データが生成できるようになりましたが、大量データが必ずしも高性能につながらないことが明らかになってきました。ノイズデータや重複・低品質データの混入がモデルを劣化させる場合があります。
DEITAの2軸スコアリング
軸1: Complexity Score(複雑さスコア)
ChatGPTを評価者として指示の複雑さを1〜6でスコアリング:
- 低スコア(1〜2): 「1+1=?」「首都は?」など単純な指示
- 高スコア(5〜6): 多段階推論・複数制約・専門知識を要する複雑な指示
評価プロンプト例:
This following instruction has a complexity score of [X].
[前例をin-contextに5件提示]
Now rate this instruction: [対象指示]
軸2: Quality Score(品質スコア)
同様にChatGPTで応答の品質を1〜6でスコアリング:
- 正確性・完全性・詳細さ・安全性を総合評価
総合スコアと選択
total_score = complexity_score × quality_score
全データを総合スコアでランキングし、上位K件を選択してファインチューニングに使用します。
実験結果
| 選択データ数 | MT-Bench | AlpacaEval |
|---|---|---|
| Alpaca 52k(全) | 4.23 | 50.2% |
| DEITA 6k | 5.08 | 66.1% |
| DEITA 10k | 5.26 | 68.9% |
わずか6kのDEITA選択データで、52k全データを大幅に上回る結果を達成しました。
Diversity-Aware Selection
DEITAはスコアだけでなく多様性も考慮します:
- 選択済みデータとのコサイン類似度を計算
- 高類似度(重複)データを除外してカバレッジを確保
- スコアと多様性の両立で汎化性能を向上
実用への応用
- OpenHermes 2.5: DEITAの考え方を応用して900k件から高品質サブセットを選択
- Tulu 2: 多様なデータソースからDEITA的な品質フィルタを適用
- Phi-3 Mini: 少量高品質データ哲学の実践(direct application)
他の選択手法との比較
| 手法 | 選択基準 | 多様性 | LLM利用 |
|---|---|---|---|
| Random | ランダム | 自然発生 | 不要 |
| IFD (Li et al.) | 応答困難度 | なし | 不要 |
| DEITA | 複雑さ×品質 | あり | 必要 |
まとめ
DEITAは「データ量でなくデータ質」というシンプルな哲学を自動化します。LLMを評価者として活用することで、人手コストを最小化しながら高品質データ選択を実現し、Instruction Tuning効率を劇的に改善します。