大規模言語モデルTanuki-8B, 8x8Bの位置づけや開発指針など
関連URL
- Tanuki-8x8B
- Tanuki-8B
-
大規模言語モデルTanuki-8B, 8x8Bの位置づけや開発指針など
- 全体像
-
フルスクラッチで開発した大規模言語モデルTanuki-8B, 8x8Bの性能についての技術的な詳細
- Japanese MT-Benchにおける性能の詳細とJasterに関する一部言及
-
ChatbotArena的なシステムでTanuki-8x8Bを始めとする大規模言語モデルの日本語性能を評価する(2024年8月)
- ブラインドテスト形式で種々のモデル出力の優劣を人手で評価した結果と、各種ベンチマークとの関係性
-
大規模言語モデルを開発するにあたっての事前・事後学習の戦略メモー特に合成データについてー
- 開発の鍵となった合成データ戦略に至るまでの試行錯誤など
-
Tanuki-8B,8x8Bの開発完了までに考えていたことと、「科学の基盤モデル」の構築に向けた考え
- 開発時に考えていたこと、科学研究が可能な基盤モデルの構築に向けた現状整理など
(Claudeが書いた文章を追記修正したものです)
要点
- モデルの開発過程や学習データなどを全てオープンにしたコミュニティで構築した大規模言語モデル Tanuki-8B, Tanuki-8x8Bの開発が完了しました。
- 日本語での応答能力や作文性能を評価するJapanese MT-Benchという代表的なベンチマークにおいて、純国産のモデルとしては最高峰に相当する性能が得られました(前者はGPT-3.5と同等レベル)。
- 今回の開発を通して得られたオープンな知見は、LLM開発のボトムアップに貢献する可能性があります。
内容
1. 開発の背景と目的
2024年8月現在、大規模言語モデル(LLM)の進化は著しく加速しています。特にローカルで実行可能なモデルの性能向上は目覚ましく、Metaが発表したLlama-3.1ベースの日本語継続学習モデルは、一部のベンチマークにおいて商用モデルであるGPT4o-miniやClaude-3-sonnetを凌駕するレベルに到達しています(https://x.com/gosrum/status/1818279597550837806)。
しかしながら、性能評価に関するベンチマークランキングの上位を占めるのは、全て海外にルーツを持つモデルとなっています。例えば日本語での応答性能評価のために設置されたNejumi LLMリーダーボード Neo*の重要指標の一つであるJapanese MT-Benchのスコアでは、国産モデルと海外産モデルの間に非常に大きな開きが存在します:
(*最新版のLeaderboard3でも評価を行いました。詳細は別記事を参照)
*リリース元の情報を記載
**チーム内での評価
海外産の高性能なモデルを有効活用するのは有効な戦略の一つではありますが、それだけでは以下のような課題が生じます:
- モデル開発の主導権を握れない(海外メーカーの意向に追従する以外の選択肢がなくなる)
- 推論性能や制御性の向上に必要な本質に関わる先端知識やノウハウが溜まりにくい
- 海外の高性能モデルの日本語ローカライズ版を作る以上の取り組みが難しくなる
- 新たな知識や能力を付与するために必要な知見が溜まりにくい
これらの課題は、中長期的に見て、日本が人工知能に関わる諸分野での競争力を保つ上での弱点と言えるかもしれません。
そこで、チームでは以下の目的を掲げて開発を進めてまいりました:
- 可能な限り最短ルートでモデル開発の最善手を打ち続け、海外モデルにキャッチアップする
- 得られた知見をモデル開発の基礎知見として共有し、できれば日本全体のLLM開発レベルの底上げに貢献したい
- これまでの日本のLLM開発で足りなかった要素を明らかにするとともに、今後の課題を整理する
2. 「Tanuki」モデルの特長と成果
2.1 トップレベルの日本語作文性能
日本語での応答能力や作文性能を評価する代表的なベンチマーク「Japanese MT-Bench」において、以下の成績*が得られました:
- Tanuki-8x8B: 8.0点
- Tanuki-8B: 7.3点
(*こちらはLeaderboard Neoでの評価結果です。最新版のLeaderboard3でも評価を行いました。詳細は別記事を参照)
これらのスコアは、純国産モデルとしては最高峰で、GPT-3.5(8.0点)と同等レベルの性能を示しています。
また、モデルのパラメータ数(アクティブパラメータは8Bで7.5 B、8x8Bで13 B)も既存の高性能モデル(22 B, 100B)に比べて大幅に少なく抑えられており、省コストでの推論や学習が可能となりました。
パラメータ数 (B) | Japanese MT-Bench平均 | |
---|---|---|
GPT-3.5 | 非公表 | 8.0* |
Tanuki-8B | 7.5 | 7.8* |
Tanuki-8x8B | 13 (47)** | 8.0* |
Calm3-22B | 22 | 8.0* |
Plamo-100B | 100 | 7.8 |
*チームでの評価. **13Bは推論時のアクティブパラメータ数、47Bは総パラメータ数をあらわす。
(Nejumi leaderboard NEOを使いチーム内で評価。GPT-4の採点不具合で評価が-1となった項目は採点から除外した。)
2.2 開発アプローチ
Tanukiの開発では、以下のような革新的なアプローチを採用しました:
- データ合成: これまで主流とされてきたインターネットデータ(Common Crawl)の過度の依存から脱却し、対話や作文に特化した合成データを活用
- 対話・指示データの合成: 人工的に生成した対話および指示データを事前学習に組み込み
- モデルのアップサイクリング: 8x8Bモデルはゼロから作るのではなく、先に構築した8Bモデルを素材に用いるアップサイクリングと呼ばれるアプローチをとることで、限られた計算リソースから高性能なモデルを得ることに成功
- 効率的な試行錯誤: 先に構築した8Bモデルでの高速な実験検証サイクルを構築し、低コストで多量に試行錯誤を行うことで、モデル開発の基礎知見やノウハウを集積
これらの取り組みにより、特定の知識やタスクの習得に必要なデータ量や質、適切なモデル規模に関する有益な知見を得ることができました。
3. 今後の展望と課題
Tanukiの開発は当初の期待以上の成果を上げましたが、同時にいくつかの課題も明らかになりました:
- 総合的な能力の向上: 今回はMT-Benchに関連するタスクに絞って最適化を行ったが、今後は知識量や多様な対話能力など、より幅広い観点での性能向上が必要
- 高精度タスクへの対応: 数学やプログラミングなど、高度な精度が要求されるタスクでの性能改善
- 評価手法の洗練: より客観的かつ多角的なモデル評価手法の開発
これらの課題に取り組むとともに、日本の強みを活かせる専門分野に特化したモデルの開発などに着手することで、国際的に競争力のある技術へと深化していくと期待されます。
技術的な詳細
基本戦略
大規模言語モデルの開発には、理論と実践の両面からのアプローチが必要です。当プロジェクトでは、モデルの実際の挙動を最重視する方針を採用し、以下の点に注力しました。
1. モデルの実際の挙動を重視
開発過程では、既存の理論や論文に頼るだけでなく、目の前のモデルが示す実際の挙動を注意深く観察し、それに基づいて判断を下しました。大規模言語モデルに関する様々な論文や言説が存在しますが、それらの主張の適用範囲が不明確な場合が多く、開発中のモデルに直接当てはまるかどうかの判断が困難でした。
例えば、LIMA論文と呼ばれる有名な報告では、ファインチューニングと呼ばれるプロセスのデータ件数は少なくても(1000件程度で)十分だと主張されていましたが、実際にはそれでは十分な性能が得られませんでした。また、今回採用した、「既存のモデルの出力を学習するアプローチ」については、モデル性能に悪影響が可能性を報告する事例もあるようですが、Tanukiの性能向上においてはメリットがデメリットを大幅に上回ることが分かりました。
2. 試行錯誤の回数を重視
大規模言語モデルの挙動は非常に複雑で、予想通りの結果が得られないケースが多々ありました。そのため、仮説を立てては検証するサイクルを何度も繰り返し、必要に応じて軌道修正を行いました。
一般的に、事前学習では使用するデータセットを事前に確定させ、最後まで一貫して学習を行うことが多いですが、本プロジェクトでは30回以上にわたり、学習の設定やデータセットに細かな変更を加えながら学習を進めました。
事後学習の試行錯誤も累計300回以上にわたり行い、「どのようなデータを学習させたらどのようなモデルが得られるか」についての実践的なノウハウを蓄積しました。試行錯誤を高速化するため、オンライン強化学習のような高コストな手法は選択しませんでした。一方、開発の最終盤においては、高速で微調整を行えるLoRAやマージと呼ばれる手法が活躍しました。
開発時に心がけたこと:
- モデルの実際の挙動を重視
- 理論よりも実際のモデル挙動を観察し、それに基づいて開発を進めた
- 既存の論文や言説の適用範囲が不明確な場合が多く、実際のモデルに当てはまらないこともあった
- 試行錯誤の回数を増やす
- モデルの複雑な挙動に対応するため、仮説・検証サイクルを多く回した
- 事前学習においても、データセットを柔軟に変更しながら30回以上の調整と立ち上げを行った
- 最も合理的なアプローチに注力
- 海外モデルのキャッチアップを最優先し、独自のこだわりよりも合理性を重視した
- リソース制約を考慮し、強化学習などのハイコストな手法は見送った
優先度を下げた機能と、その理由
Tanukiモデルの開発チームは、限られた開発期間とリソースの中で、戦略的に優先順位を設定しました。チームは「指示に従う能力」を最重要課題として設定し、他の機能や特性については優先度を下げる決断をしました。
優先度を下げた機能と、その理由は以下の通りです:
- モデルに投入する一般知識の量や質
理由:- 情報の陳腐化:どんなに正確なモデルでも、時間の経過とともに情報が古くなる。
- 継続的更新の困難さ:大企業でない限り、モデルを常に最新の情報で更新し続けることは難しい。
- 代替アプローチ:正確な情報を詰め込むよりも、ユーザーから与えられた情報を正確に処理する能力の向上に注力。
- 安全性と倫理性
理由:- 自動生成による基準の確保:教師となる大規模言語モデルが自動生成した対話データを使用することで、一般的な水準の安全性と倫理性を自動的に確保できた。
- 基準設定の複雑さ:安全性の基準は状況や文脈によって変わるため、一律の基準設定が困難。
例:「爆弾の作り方」は爆弾処理の専門家には有用だが、一般人には不適切。
- 会話の楽しさ
理由:- 基本機能の重要性:「指示に従わないAI」は実用性が低いため、まずは基本的な指示追従能力の向上を優先。
- 将来の発展可能性:マルチターンでの心地よい日本語でのチャットなど、日本の文化的背景も活かした発展は将来の課題として位置付け。
- マルチモーダル機能
対応:- 一部のメンバーが取り組んだが、主要な開発目標としては設定せず。
- ツールの活用スキル(ソフトウェアとしての電卓などを使う能力)
理由:- 基礎能力の重要性:予備検討の過程で、数学的な基礎能力がないモデルは正確な数値処理ができないことが判明(例: 電卓に打ち込む数値を間違える)。
- 優先順位の設定:ユーザーの指示に従って適切に情報処理を行う基本能力の向上を優先。
モデル戦略: 段階的アプローチによる大規模言語モデルの開発
本プロジェクトでは、効率的かつ効果的な大規模言語モデルの開発を目指し、独自のアーキテクチャ戦略を採用しました。この戦略の核心は、既存の8Bモデルを基盤として、より大規模な8x8BのMixture of Experts (MoE)モデルへと発展させる「アップサイクリング」のアプローチです。
まず、1080Bトークンのデータを学習した8bモデルを準備しました。その後、このモデルの重みパラメータを活用して8x8bのMoEモデルを構築し、さらに数百億トークンの追加学習を行いました。この段階的なアプローチには、いくつかの重要な利点があります。
第一に、既存モデルの再活用が可能となります。計算リソースが限られた環境下でも、既存のモデルの蓄積を活かしつつ、その性能限界を超えるモデルを作成できます。特に、プロジェクトの初期段階で作成したモデルを有効活用できたことは大きな利点でした。また、当時はアップサイクリングの公な成功例がなかったため、この手法の有効性を実証する意義もありました。
第二に、プロジェクト全体を通じて2つの成果物(8Bモデルと8x8Bモデル)を得られることです。大規模言語モデルの事前学習では、ロススパイクによるモデル崩壊のリスクが常に存在します。しかし、プロジェクトの成功が絶対条件である中、このアプローチは失敗リスクを抑えつつ、段階的に成果を積み上げることができます。まず、比較的安定した8Bモデルで主要な学習を進め、確実に成果物を得た上で、さらなる精度向上を目指して、よりチャレンジングなMoEモデルへと発展させる戦略は、開発者に大きな安心感をもたらしました。
図: モデル規模や学習効率を上げると、学習の成功確率が低下しやすい
第三に、ファインチューニングの検証を早期に開始できる点が挙げられます。ベースモデルとアップサイクリングモデルは類似した性質を持つため、小型の8Bモデルを用いて事後学習の試行錯誤を早い段階から行うことができました。モデルが比較的小さいため、ファインチューニングのサイクルを迅速に回すことができ、開発効率の大幅な向上につながりました。
一方で、初めからMoEモデルを構築する方が費用対効果が高いという報告もあります。しかし、本プロジェクトの条件下では、段階的なアプローチがもたらす利点が大きかったと言えます。特に、リスク管理とリソースの効率的活用の観点から、この戦略は非常に有効でした。
結果として、この段階的なアーキテクチャ戦略により、プロジェクトのリスクを最小限に抑えつつ、高性能な大規模言語モデルの開発に成功しました。既存リソースの有効活用、複数の成果物の獲得、そして効率的な開発プロセスの実現など、多面的な利点をもたらしたこの戦略は、今後の大規模言語モデル開発においても有益な指針となるかもしれません。
事前学習
大規模言語モデル「Tanuki」の開発では、日本語で高い能力を持つモデルの実現を目指しました。
学習データの構成は、日本語が全体の1/2から2/3を占め、残りを英語が占めています。この比率により、日本語に特化しつつも、英語の知識も備えたバイリンガルモデルの開発を目指しました。
学習プロセスは段階的に進められ、まず8Bモデルの開発から着手しました。このモデルは、Phase 1で280 Bトークンを学習済みのモデルを基盤とし、そこから継続的に学習を重ねました。総学習トークン数は約1300 Bトークンに達しました。
次に、より大規模な8x8bモデルへと拡張しました。このモデルの総学習トークン数は1710 Bトークンに及びました。上記の8Bモデルを1080 Bトークンの段階でMixture of Expert (MoE)モデルとして分化させ、追加で635 Bトークンの学習を行いました。
追加の学習によって、エキスパート間の重みパラメータの類似度は50%以下まで低下しました。この結果は、今後、モデルを追加で継続学習させることで、モデルに更に多くの知識やタスクを追加できる余地が残っていることを示唆しています。
両モデルの学習の後半では、大規模言語モデルによって自動生成された対話データを大量に学習させる戦略を採用しました。この取り組みにより、Tanukiモデルの対話能力、作文能力、そして指示追従能力が大幅に向上することが分かりました。
実際の学習履歴(詳細)
(コーパス類は今後に公開予定)
8b
date | run id | token (b) | データ概要 | 備考 | max_lr | 終了時loss | shファイル名 | |
---|---|---|---|---|---|---|---|---|
0 | 280 | phase1 | ||||||
6/26 | 1 | 33 | llmjpコーパスなど | 突貫の立ち上げ | 4.00E-05 | 0627_16node | ||
6/28 | 2 | 220 | fineweb-eduのデータが9割+llmjpコーパス | 多量のデータ学習 | 4.00E-05 | 0628_16node_restart_from_0628 | ||
7/1 | 3 | 77 | 同上 | lrを上げる, pipeline_parallelも変更 | 8.00E-05 | 0701_16node_inc_lr_and_fix_pp_resume | ||
7/2 | 4 | 104 | 同上 | 再開 | 8.00E-05 | 0702_16node_inc_lr_and_fix_pp_resume | ||
7/3 | 5 | 94 | 同上 | lrを上げる | 1.50E-04 | 0703_16node_inc_lr_and_fix_pp_inc_lr | ||
7/7 | 6 | 188 | 同上 | 再開(lr=3e-4まで上げる検討もしたが、spikeした) | 1.50E-04 | 0707_16node_inc_lr_and_fix_pp_inc_lr_resume_1p5e-4 | ||
7/8 | 7 | 80 | 同上 | 再開 | 1.50E-04 | 1.96 | 0707_16node_inc_lr_and_fix_pp_inc_lr_resume_1p5e-4 | |
このタイミングで8x8BにMoE化 | ||||||||
7/12 | 8 | 11 | 合成データ(人間の文章から再生成したものなど) | 5.00E-05 | 1.58 | 0712_cleaned_data | ||
7/19 | 9 | 80 | 合成データ(人間の文章から再生成したものなど) | 5.00E-05 | 1.1 | 0719_synth_train | ||
7/29 | 10 | 5 | 合成データ(instructionが中心、英語多め) | 5.00E-06 | 0.81 | 0729_synth_train2 | ||
7/29 | 11 | 21 | 合成データ(instructionが中心、英語多め) | 再開 | 5.00E-06 | 0.76 | 0729_synth_train2 | |
7/30 | 12 | 5 | 合成データ(instructionが中心、日本語多め) | 5.00E-06 | 0.87 | 0730_synth_train2_step2 | ||
8/5 | 13 | 75 | 合成データ(コード・数学・論理多め) | 1.00E-05 | 0.66 | 0805_synth_train | ||
8/5 | 14 | 26 | 合成データ(コード・数学・論理多め) | 再開 | 1.00E-05 | 0.66 | 0805_synth_train | |
8/9 | 15 | 2 | 合成データ(wizardlm8x22b,nemotron中心) | 8.00E-07 | 0.75 | |||
total | 1301 | |||||||
うち合成データ(概算) | 225 |
8x8b
date | run id | token (b) | データ概要 | 備考 | max_lr | 終了時loss | shファイル名 | |
---|---|---|---|---|---|---|---|---|
0 | 1076 | 8bでの学習 | ||||||
7/10 | 1 | 64 | llmjpコーパス+fineweb edu | seq_len=2048で学習 | 5.00E-05 | 1.86 | tanuki-8x8b | |
7/12 | 2 | 39 | phase1のコーパス+fineweb edu | 5.00E-05 | 1.9 | 0712_tanuki-8x8b_2nd_tonyu | ||
7/13 | 3 | 5 | llmjpコーパス、twitter | 5.00E-05 | 2.1 | 0713_tanuki-8x8b_3rd_tonyu_llmjpcorpus_tsunagi | ||
7/14 | 4 | 65 | 同上 | 再開 | 5.00E-05 | 1.93 | 0713_tanuki-8x8b_3rd_tonyu_llmjpcorpus_tsunagi | |
7/15 | 5 | 96 | 学術コーパス(pmc), llmjpコーパス | 5.00E-05 | 1.8 | 0715_tanuki-8x8b_4th_tonyu_llmjpcorpus_tsunagi | ||
7/20 | 6 | 45 | 合成データ(人間の文章から再生成したものなど) | 5.00E-05 | 1.2 | 0720tanuki8x8b_5th_clean_texts | ||
7/21 | 7 | 35 | 合成データ(人間の文章から再生成したものなど) | 再開 | 5.00E-05 | 1.17 | 0720tanuki8x8b_5th_clean_texts | |
7/23 | 8 | 55 | 合成データ(人間の文章から再生成したものなど) | 再開 | 5.00E-05 | 1.14 | 0720tanuki8x8b_5th_clean_texts | |
7/24 | 9 | 16 | open_webmath, fineweb_edu, llmjp_corpus,starcoder, cosmopedia | best fit packing開始 | 2.50E-05 | 1.4 | 0724tanuki8x8b_6th_with_packing | |
7/25 | 10 | 40 | open_webmath, fineweb_edu, llmjp_corpus,starcoder, cosmopedia | 再開 | 2.50E-05 | 1.3 | 0724tanuki8x8b_6th_with_packing | |
7/26 | 11 | 99 | open_webmath, fineweb_edu, llmjp_corpus,starcoder, cosmopedia | 再開 | 2.50E-05 | 1.3 | 0724tanuki8x8b_6th_with_packing | |
8/1 | 12 | 25 | 合成データ(instructionが中心) | seq_len=4096に拡張 | 3.00E-06 | 0.73 | 0801tanuki8x8b_8th_4k_pack | |
8/2 | 13 | 15 | 合成データ(instructionが中心) | 5.00E-06 | 0.92 | 0802tanuki8x8b_9th_4k_pack | ||
8/6 | 14 | 34 | 合成データ(instructionが中心) | 1.00E-05 | 0.43 | 0806tanuki8x8b_10th_4k_pack | ||
8/7 | 15 | 2 | 合成データ(wizardlm8x22b,nemotron中心) | 8.00E-07 | 0.63 | 0809tanuki8x8b_11th_4k_pack |
事後学習
Tanukiモデルの開発において、事後学習は非常に重要な役割を果たしました。この段階では、モデルが人間と自然かつ効果的に対話できるよう、細かな調整を行いました。主に用いた手法は、Supervised Fine-Tuning (SFT)とDirect Preference Optimization (DPO)です。
これらの事後学習では、各手法につき数万件程度のデータを使用しました。しかし、Tanukiモデルの特筆すべき点として、事前学習の段階で既に100Bトークン程度の対話・指示学習データを学習済みであったことが挙げられます。この事前の大規模学習が、事後学習の効率と効果を大きく向上させた可能性が高いです。
事後学習の最終段階では、人間の期待に沿った出力を得るため、モデルのパラメータを微調整する作業に多くの時間を費やしました。しかし、完全に意図通りの応答を得ることは極めて難しく、多くの試行錯誤が必要でした。この過程で特に有効だったのが、LoRA(Low-Rank Adaptation)やパラメータマージといった低コストで迅速に実験可能な手法です。これらの手法により、高コストなフルパラメータ学習よりも迅速に、多様な仮説を検証することができました。
プロジェクト全体を通し、事後学習の過程で累計300回以上もの仮説検証を行いました。この膨大な数の試行錯誤は、モデルの性能向上に大きく貢献しました。各試行から得られた知見を積み重ね、モデルの応答をより自然で有用なものへと進化させていきました。
図: 試行錯誤の過程(抜粋)
この丁寧な事後学習プロセスは、Tanukiモデルの対話能力を大幅に向上させただけでなく、人間の意図をより正確に理解し、適切に応答する能力を磨き上げました。特に、低コストで効率的な手法を活用したことで、限られたリソースの中で最大限の成果を得ることができました。
大規模言語モデル開発における合成データの活用経緯(詳細)
国産モデルと海外モデルの違いはどこにあるか?
Tanukiモデル開発チームは、高性能な国産モデルの実現に向けて、データの重要性に着目しました。この判断に至った背景には、以下のような洞察がありました。
まず、大規模言語モデルの性能向上の鍵を握るのは「データ」であると考えられました。その理由として、Transformerベースのアーキテクチャやアルゴリズムがほぼ標準化され、広く公開されているにもかかわらず、世界のモデル性能が日進月歩で向上している状況が挙げられます。つまり、アルゴリズムよりもデータの質と量が、モデルの性能を大きく左右していると判断しました。
これまでの国産モデルが海外産モデルに性能面で劣後してきた理由も、データの問題にあると推測しました。ここでデータの「質」と「量」の両面が課題として浮上しましたが、量的な面では、リソースの制約から海外の主要モデルと同等レベルのデータ量に到達することは困難でした。そのため、開発チームは「データの質」の向上に注力することにしました。
ところで、既存のインターネット上のデータのみでは、望ましい対話・作文能力を持つモデルの開発が困難であることが示唆されていました。例えば高性能モデルを開発しているMetaの開発者らはWebデータの品質の低さを指摘しています。
大規模言語モデル(LLM)の開発における対話能力の獲得に関する洞察
チームは数十億パラメータ規模のLLMに関して、以下のような特性を観察しました:
- 限定的な汎化能力:モデルは学習したことに強く類似した内容は生成できるが、それ以外の内容の生成は困難でした。
- 低い学習効率:人間の直感よりもはるかに多くの例が必要でした。一つの知識や技能の獲得に1000件程度のテキストが必要とされるという最近の報告も重要視しました。
- モデルサイズと学習効率の関係:モデルサイズが大きくなるほど、学習に必要なデータ量は減少する傾向がありますが、数十B程度のモデル規模では、高度な対話タスクをこなすために必要な学習データ数は十分には確保できないと推定しました。
以上の経緯から、チームは「CommonCrawlテキストには、今回開発する中規模LLMが高度な対話能力を獲得するために必要な情報が十分に含まれていない可能性がある」という仮説を立てました。この仮説の背景には、以下の考察があります:
- インターネットデータの偏り:CommonCrawlのようなウェブデータの大半は宣伝や広告目的のページで、多様な対話や深い思考を要する内容が少ない可能性があります。
- 情報の質と量:例えば「富士山の標高」のような一般的な事実情報は多く含まれていても、複雑な対話や推論に必要な情報が十分でない可能性があります。
- 人間の言語習得プロセスとの比較:人間が単にウェブサーフィンだけで高度な対話能力を獲得できないように、LLMもウェブデータの学習だけでは十分な対話能力を得られない可能性があります。
対話能力の向上戦略
Tanukiモデルの開発における主な戦略は、大量の高品質な対話データを事前学習段階でモデルに学習させることでした。この戦略には以下の特徴があります:
- 高性能モデルの活用:
対話データの生成には、以下の主に高性能モデルを使用しました:- Calm3-22b
- Wizardlm2-7b, 8x22b
- Phi-3 13b
これらのモデルは、Apache 2.0ライセンスで利用可能だったため、データ生成プロセスを大幅に効率化できました。
- 大規模な合成データの生成:
数百GB以上の対話データを人工的に合成し、事前学習段階でこれらのデータを組み込みました。
対話データを事前学習に組み込んだタイミングから、MT-Benchのベンチマークスコアも急上昇するようになりました。
WizardLM 8x22Bによって自動生成された対話データの例(日本語訳)
合成データの利点を最大限に活かすため、モデルの最終段階では、入力データのほぼ全て(99.99%以上)を合成データで構成することにしました。
(参考) データ合成に関する諸議論
Tanukiモデルの開発過程で合成データを多量に活用したことについて、いくつかの想定される質問と回答をまとめました。
1. 合成データとモデル崩壊のリスク
合成データの使用がモデル崩壊を引き起こす可能性は最近のNature論文でも話題になりました。しかしこの点について、短期的には大きな問題はないと考えています。なぜなら、実際の開発では、モデル学習に合成データのみを使用するのではなく他の情報源も組み合わせますし、人間による出力チェックとフィードバックを行いながら進めるからです。ただし注意点として、モデルが処理する膨大なデータ量を考えると、入力データの完全なチェックは不可能であり、気づかないうちに、モデル特有のバイアスが増強するリスクは否定しきれません。
いずれにせよ、現状では、高性能なモデル開発には合成データの活用が不可欠であると考えており、リスクと利点のバランスを取りながら開発を進めることが重要であると認識しています。
2. 人間が生成した指示データの使用余地
結果的に、開発過程では人間が生成した指示データをほとんど使用しませんでした。独自に人手で作成・アノテーションしたデータも生成しましたが、作業者やモデルによる品質のばらつきが大きく、ファインチューニングに含めると悪影響を与える傾向が観察されました。結果的に、Calm3などの言語モデルが生成したデータの方が、事後学習後のモデル精度において優れていました。
3. 合成データの誤りとハルシネーション
合成データの出力に含まれる誤りがハルシネーションにつながる可能性はありますが、これは確率の問題として捉えられています。人間が書いた文章にも誤りは存在します。Nvidiaが2024年に発表した合成データ中心のモデル(Nemotron)の報告では、ジャンルによっては、LLMの出力の方が正確な可能性を示唆しています。実際、別記事で検証したTruthfulQAと呼ばれるベンチマークなどにおいて、今回のモデルで合成データ由来の著しいハルシネーションは生じていないということが示唆されました。
Japanese MT-Benchでの評価結果
別記事を参照。
(考察)「巨大AIモデルを用いる時代は終った」のか?
OpenAIのサム・アルトマンCEOが述べた「巨大AIモデルを用いる時代は終わった」という言葉の重みを、今回の開発を通じて改めて実感しました。確かに、巨大モデルには少ない学習データから効率的に知識やスキルを習得できるという大きな利点があります。しかし、その一方で深刻な課題も存在します。
巨大モデルの計算・推論コストは、開発や運用において大きな障壁となります。具体的には、計算リソースの確保が困難であることや、GPUのハードウェアエラーの発生確率が指数関数的に上昇すること、さらには事前学習の失敗リスクが増加することなどが挙げられます。加えて、仮説・検証サイクルの遅延も無視できない問題です。
これらの課題に対し、本開発でも活用したデータ合成というアプローチが注目されています。データ合成は、細切れの計算資源でも実行可能であることや、生成されたテキストが再利用可能な「資産」となること、そして効率的な学習に基づくモデルの小型化が可能になるといった利点があります。
もし同等の推論性能が得られるのであれば、巨大モデルの学習に全リソースを投入するのではなく、データ合成と小型モデルの学習にリソースを分散するアプローチを取る方が合理的だと考えられます。このようなパラダイムシフトは、AI開発の効率性と持続可能性を高める可能性を秘めています。
最後に: 課題と展望
Tanukiモデルの開発は、大規模言語モデル(LLM)の分野において一定の進展を示しました。開発チームは今後の研究課題と発展の方向性を以下のように認識しています。
-
モデルの総合的性能向上:
現状では、MT-Benchに特化した最適化が行われており、基礎的な言語処理能力は一定の水準に到達しています。しかし、より広範なタスクにおける性能評価とその改善が必要です。特に、GPT-3.5やCalm3などの既存モデルと比較した際の総合的な性能差を縮める必要があります。
今後の研究方針として、実際の対話データを用いた強化学習の適用や、人間による直接的な評価フィードバックの導入が選択肢に挙がります。これにより、GPT-4による評価では捉えきれない、より人間の期待に沿った出力の質的向上を目指します。 -
データ合成に関する体系的な取り組みと知見集積:
取り組みでは、事前学習のためのデータ合成の有効性を一つの事例として提示することができました。しかし体系的な取り組みには至っておらず、合成データの品質管理なども未着手です。今後に行うべき検証として、a) 多様かつ高品質なデータ合成を生成・管理するためのノウハウ蓄積、b)合成データの質と量が事前学習に与える正負の影響の解明、などが求められます。 -
エージェント・マルチモーダルシステムへの展開:
ローカルモデルの特徴である高速で連続的な推論能力を活かし、長時間にわたるタスク実行や対話を維持できるエージェントシステムの開発が展望されています。これは、複雑な問題解決や意思決定支援システムへの応用可能性を広げる重要な研究方向です。
また、言語モデルの次なる進化として、マルチモーダル機能の導入が検討されています。特に、ドメイン特化型の軽量マルチモーダルモデルの実装が有望視されています。これにより、画像、音声、動画などの多様なモダリティと言語を統合した理解・生成能力の獲得を目指します。この研究方向は、特定分野における専門的なアプリケーション開発にも直結します。 -
競争力のあるモデルへの進化:
基盤となるアーキテクチャの構築と、モデル能力とデータ量・質の相関に関する基礎的知見の獲得に成功しました。今後は、ドメイン特化や独自のアーキテクチャ最適化などを通じて、国際的な競争力を持つモデルへの進化を目指す必要があるかもしれません。
謝辞
開発に関わったすべての皆様に感謝申し上げます。
この成果は、NEDO(国立研究開発法人新エネルギー・産業技術総合開発機構)の助成事業「ポスト5G情報通信システム基盤強化研究開発事業」(JPNP20017)の結果得られたものです。
東京大学 松尾・岩澤研究室が運営する松尾研LLMコミュニティのLLM開発プロジェクト[GENIAC] の開発記録、情報発信になります。 各種リンクはこちら linktr.ee/matsuolab_community
Discussion