論文紹介 part7-2 :"The Ultimate Guide to Fine-Tuning LLMs from Basics to Breakthroughs: An Exhaustive Review of Technologies, Research, Best Practices, Applied Research Challenges and Opportunities"を読む
はじめに
今回も同様に以下の論文を読んでいきます。
論文名:The Ultimate Guide to Fine-Tuning LLMs from Basics to Breakthroughs: An Exhaustive Review of Technologies, Research, Best Practices, Applied Research Challenges and Opportunities
著者:Venkatesh Balavadhani Parthasarathy, Ahtsham Zafar, Aafaq Khan, and Arsalan Shahid
今回も引き続きステージ7のSelection of Fine-Tuning Techniques and Appropriate Model Configurationsについてみていきます。今回は後半部分を見ていこうと思います。
前回は6.3のParameter-Efficient Fine-Tuning(PEFT)までを見てきました。ファインチューニングをするに当たりアダプターという概念があることを紹介し、このアダプターが事前学習されたモデルの重みWとは別の重み⊿Wを形成することでファインチューニングが実装されます。さらに、このアダプターを低ランクの行列に分けて学習させるLoRAや量子化するQLoRa、重み付けするDoRaなどを見てきました。
今回は6.4のHalf Fine-Tuning(HFT)からみていきます。
6.4 Half Fine-Tuning(HFT)
Half Fine-Tuning(HFT)[68] は、大規模言語モデル(LLM)が持つ基盤知識を維持しつつ、新しいスキルを習得するための手法
HFTでは、各ファインチューニングラウンド中にモデルのパラメータの半分を固定し、残りの半分を更新
この方法により、事前学習された知識を保持しつつ、新たなタスクのパフォーマンスを向上させることができる
また、モデルアーキテクチャを変更せずに済むため、適用が容易
具体的には、繰り返し使用されるトランスフォーマーレイヤーを自己注意層、フィードフォワード層、レイヤーノルム層の3つに分け、それぞれのブロック内でパラメータの半分を固定し、残りの半分を更新
このプロセスをラウンドごとに交互に繰り返すことで、知識の均等な更新とモデルスケーラビリティを向上させる
LLAMA 2-7Bなどのモデルを用いた研究では、HFTにより基礎知識の「忘却」が大幅に回復し、高い一般的能力を維持できることが示されている
この手法は、監督型ファインチューニング、直接的嗜好最適化、継続学習など、さまざまなファインチューニングシナリオで応用可能
また、モデルアーキテクチャを維持することにより、実装が簡単で既存システムと互換性があり、実務での採用を促進する
6.4.1 HFTの利点
事前学習知識の回復:ファインチューニングされたパラメータの半分を事前学習状態に戻すことで、元の知識の一部を効果的に回復し、以前に習得した能力の忘却を軽減する
パフォーマンスの向上:研究によれば、HFTは下流タスクにおいてフルファインチューニング(FFT)と同等またはそれ以上のパフォーマンスを維持し、知識の保持とタスク特化型学習のバランスを実現する
ロバスト性:更新するパラメータの選択戦略や数に関係なく、HFTは一貫した性能を示し、多様な設定での適用が可能
シンプルさとスケーラビリティ:HFTはモデルアーキテクチャを変更しないため、実装が簡単で、連続するファインチューニングシナリオにおいてスケーラブルである
多用途性:HFTは監督型ファインチューニング、直接的嗜好最適化、継続学習など、多様なファインチューニングシナリオに効果を発揮する
6.5 ラミニメモリチューニング
ラミニ(Lamini)[69] は、大規模言語モデル(LLM)における「幻覚(hallucination)」を削減することを目的とした特化型ファインチューニング手法
この手法の開発は、正確な情報の取得が求められるドメインでLLMの信頼性と精度を向上させる必要性から着想を得ている
従来のトレーニング方法では、膨大なデータセットに基づく確率的勾配降下法(SGD)が一般的に使用されているが、これらの方法はトレーニングデータには適合するものの、汎化性能が不足しており、幻覚のようなエラーが発生しやすいという問題があった
たとえば、Chinchillaレシピのように、1兆トークン程度の膨大なコーパスを単一エポックでトレーニングする手法では、損失の低減が可能である一方、創造性や汎化性を重視するためにトークン選択のランダム性を許容する構造となってる
しかし、このような手法は、高い事実精度が求められるタスクには適していない
ラミニメモリチューニングは、個別の事実の損失を詳細に分析することにより、事実の正確な記憶能力を大幅に向上させる
この手法では、モデルに専用のメモリパラメータ(例: 8Bパラメータモデルに追加で2Bのメモリ用パラメータを付加)を導入し、LLMスケーリング則を守りつつ大量の事実を正確に記憶し再現することを可能にする
このように、汎化性能を犠牲にすることなく、事実の精度を向上させる設計が特徴
6.5.1 Lamini-1 - ラミニを基盤としたモデルアーキテクチャ
Lamini-1モデルアーキテクチャ(図6.8)は、従来のトランスフォーマーベースの設計とは異なり、**大規模なメモリエキスパート(MoME: Massive Mixture of Memory Experts)**を採用している
このシステムは、事前学習済みのトランスフォーマーバックボーンに加え、クロスアテンションメカニズムを通じて動的に選択されるアダプターを統合している
これらのアダプターは、MoE(Mixture of Experts)アーキテクチャにおける「エキスパート」と同様の機能を果たし、選択されたエキスパートに特定の事実を正確に保存する
推論時には、インデックスから関連するエキスパートのみを取得するため、大量の事実を記憶しながらも推論のレイテンシを低く抑えることが可能
また、Tritonで記述された専用GPUカーネルを使用してエキスパートの検索を加速させ、記憶された知識への迅速なアクセスを最適化している
幻覚を排除するためのシステム最適化
MoMEアーキテクチャは、事実を記憶するために必要な計算負荷を最小限に抑えるよう設計されている
トレーニング中には、例えば100万個のエキスパートのうち32個だけを各事実に対応して選択
バックボーンネットワークの重みとエキスパート選択のためのクロスアテンションの重みは固定され、損失が十分に低下するまで勾配降下法が実行される
この方法により、同じエキスパートが異なる事実に対して複数回選択されることを防ぐ
このアプローチでは、トレーニング例の数に比例して計算がスケールするため、全体のパラメータ数に比例する計算量を大幅に削減できる
この最適化された手法により、Lamini-1はリアルデータおよびランダムデータでのメモリチューニングでほぼゼロ損失を達成し、幻覚を排除しつつ、事実の正確な再現性を向上させることができる
6.6 エキスパートの混合(Mixture of Experts)
**エキスパートの混合(Mixture of Experts, MoE)**は、ニューラルネットワークのレイヤーや操作(例: 線形層、MLP、注意投影)を複数の専門的なサブネットワーク(「エキスパート」)に分割するアーキテクチャ設計
それぞれのエキスパートが独立して計算を行い、その結果を集約してMoEレイヤーの最終的な出力を生成する
MoEアーキテクチャは以下の2種類に分類される
密集型(Dense): 各入力に対して全てのエキスパートが使用される
疎結合型(Sparse): 各入力に対して使用されるエキスパートは一部に限られる
6.6.1 Mixtral 8x7Bのアーキテクチャと性能
Mixtral[70] 8x7Bは、**疎結合型エキスパート(Sparse Mixture of Experts, SMoE)**アーキテクチャを採用している
このモデルはMistral 7Bの構造を反映しながら、各レイヤーに8つのフィードフォワードブロック(エキスパート)を追加している
各レイヤーでのトークンごとに、ルーターネットワークが現在の状態を処理する2つのエキスパートを選択し、その出力を結合
このように、各トークンは1度に2つのエキスパートとしか相互作用しないが、選択されるエキスパートは各タイムステップで異なる
その結果、各トークンは470億個のパラメータにアクセス可能だが、推論中に実際に使用されるパラメータは130億個に限られる
Mixtral 8x7Bは、Llama 2 70BおよびGPT-3.5を全ての評価ベンチマークで上回るか、少なくとも同等の性能を示した
特に、数学、コード生成、多言語タスクにおいて、Llama 2 70Bを大幅に上回る性能を発揮した
Mixtral 8x7Bの特徴
ルーターネットワーク: 8つのエキスパートから最も関連性の高いエキスパートを動的に選択
効率的な計算とスケーラビリティ: 必要なエキスパートのみを選択して使用することで、計算効率を向上
専門性の高い処理: エキスパートごとに特化した処理を行うことで、モデル性能を向上
6.7 エージェントの混合(Mixture of Agents)
大規模言語モデル(LLMs)の数々の成果にもかかわらず、モデルサイズやトレーニングデータに関して基本的な制約が依然として存在する
これらのモデルをさらにスケールアップするには膨大なコストがかかり、多くの場合、数兆トークンにわたる再トレーニングが必要です
一方で、LLMsにはそれぞれ異なる強みがあり、特定のタスクに特化しているものもある
最近の研究では、複数のLLMの専門知識を活用して、より能力が高くロバストなモデルを開発する方法が模索されている
この手法は**エージェントの混合(Mixture of Agents, MoA)**と呼ばれている[72]。
MoAの構造
MoAは層状のアーキテクチャを採用しており、各層には複数のLLMエージェントが含まれている(図6.10参照)
この構造により、「LLMの協調性」という現象が明らかになりる
革新的なMoAフレームワークでは、複数のLLMの能力を組み合わせることで、推論能力と言語生成能力を向上させる
研究によれば、LLMsは自然に協調し、他のモデルの出力を活用することで、たとえそれらの出力が完全でなくても、より高品質な応答を生成することが示されている
6.7.1 方法論
複数のLLM間の協調を向上させるためには、それぞれの強みを理解し、それに応じて分類する必要がある。エージェントは以下の役割に分類される。
提案者(Proposers):
他のモデルにとって有益な参照応答を生成する能力に優れたモデル。
単体では高い性能を発揮しない場合もありますが、文脈や多様な視点を提供することで、最終出力の品質向上に寄与します。
集約者(Aggregators):
複数のモデルからの応答を統合して、高品質な結果を生成する能力に優れたモデル。
個々の入力の質に関係なく、最終的な応答の質を維持または向上させることができます。
各MoA層でのモデル選定には、特定のパフォーマンス指標(例: 層内での平均勝率など)を使用する
これにより、次の層で使用するモデルの適性を評価し、高品質な出力を生成する
また、モデル出力の多様性も重要で、多様な応答は、単一モデルからの均質な応答よりも、最終的なパフォーマンス向上に大きく貢献する
MoAにおける$${i}$$層の出力$${y_i}$$は以下の式で計算される:
$$
y_i = \bigoplus_{j=1}^n \left[ A_{i,j}(x_i) \right] + x_1, \quad x_{i+1} = y_i
$$
6.7.2 MoEとの類似点
**エキスパートの混合(Mixture of Experts, MoE)**は、複雑な問題を解決するために複数の専門的ネットワークが協力する、機械学習の一般的な手法
このアプローチは多くのアプリケーションで成功を収めており、MoAメソッドのインスピレーション源となっている
$$
y_i = \sum_{j=1}^n G_{i,j}(x_i) E_{i,j}(x_i) + x_i
$$
一般的なMoE設計では、MoE層として知られるレイヤーのスタックがあり、これには複数のエキスパートネットワーク、ゲーティングネットワーク、および勾配フローを改善するための残差接続が含まれる
MoAはこの概念を進化させ、モデルレベルでのプロンプトベースの相互作用を活用する
MoAでは、単一モデル内の特殊化サブネットワークに依存する代わりに、複数のLLMを異なる層で使用する
この方法では、ゲーティングやエキスパートネットワークの機能をLLM自体が解釈可能なプロンプトを用いて実現し、追加の調整メカニズムを必要としない
6.7.3 MoAの成功要因
優れた性能:
MoAはLLMベースのランカー(提案から1つの応答を選択するモデル)を大きく上回る
これは、提案されたすべての応答を統合するというアプローチが、単純に既存の選択肢から選ぶだけの場合よりも効果的であることを示している
提案の効果的な活用:
MoAの集約者は、最良の提案を統合する傾向を示す
BLEUスコア(n-gramの重複を測定)などの類似度指標との正の相関により、集約者が提案応答を効果的に活用していることが裏付けられている
モデルの多様性と提案者の数:
提案者の数が増えると出力品質が向上する
また、提案者として多様なLLMを使用すると、単一のLLMを使用する場合よりも常に優れた結果が得られる
これにより、各MoA層におけるLLMエージェントの数と多様性が性能向上に大きく寄与することが示されている
モデルの専門化:
MoAエコシステム内でのモデルの役割を分析した結果、GPT-4o、Qwen、LLaMA-3は支援と集約の両方で効果的であることが示された
一方で、WizardLMは提案者として優れている一方、他のモデルからの応答を集約する際には苦戦することが判明した
6.8 近接方策最適化(Proximal Policy Optimization, PPO)
近接方策最適化(PPO)[73]は、エージェントが多様な環境でタスクを遂行できるようにトレーニングするための、広く認識された強化学習アルゴリズム
このアルゴリズムは、方策勾配法(Policy Gradient Methods)を活用しており、方策をニューラルネットワークで表現し、現在の状態に基づいてエージェントが取るべき行動を決定する
PPOは、エージェントと環境の継続的な相互作用によって生成される動的なトレーニングデータを効果的に扱う
この特徴は、静的なデータセットを用いる従来の教師あり学習とは異なる
PPOの革新は、確率的勾配上昇(Stochastic Gradient Ascent)を用いて最適化される「代替目的関数(Surrogate Objective Function)」にある
この手法は、同じデータバッチから複数回の更新を可能にし、従来の方策勾配法に比べてトレーニング効率と安定性を向上させる
OpenAIによって開発されたPPOは、実装の容易さを重視しつつ、より複雑なアルゴリズム(例: 信頼領域方策最適化 [Trust Region Policy Optimization, TRPO])の堅牢な性能特性を維持しているが、それに伴う計算の複雑さを回避している
PPOは、累積報酬を最大化するために反復的に方策を調整
この調整は、高い報酬をもたらす行動の確率を増加させる方向で行われる
PPOの重要な特徴の1つは、目的関数内にクリッピングメカニズムを導入していること
このメカニズムにより、方策の更新幅が制限され、トレーニング中の安定性が維持される
PPOのプロセスの概要
図6.11では、**人間のフィードバックによる強化学習(Reinforcement Learning from Human Feedback, RLHF)**の文脈でPPOを適用した場合の概要が示されている。このプロセスは以下の通り:
プロンプトデータセットを使用してLLM(大規模言語モデル)をトレーニングする。
PPOアルゴリズムは、報酬モデルによって提供される報酬に基づいてLLMの方策を調整する。
報酬モデル自体は、人間のフィードバックによってファインチューニングされている。
PythonライブラリでのPPOの実装
Hugging Faceのtransformersライブラリは、**Transformers Reinforcement Learning(TRL)**パッケージを通じてPPOトレーナー(PPO Trainer)を提供している
このトレーナーは、言語モデルを嗜好データ(preference data)からトレーニングするために使用される
PPOトレーナーでは、生成された応答をクエリに一致させるため、報酬モデルから得られる報酬を利用
PPOアルゴリズムの各ステップでは、データセットからプロンプトのバッチをサンプリングし、これらを用いて事前学習済みのモデルから応答を生成
その後、報酬モデルを使用して生成された応答に対する報酬を計算し、これをもとにPPOアルゴリズムでモデルを最適化
6.8.1 PPOの利点
安定性:
PPOは、クリッピングによる代替目的関数を使用して方策更新の幅を制限するため、トレーニング中の安定性が高い
これにより、一貫性のある学習が可能
実装の容易さ:
TRPOのような高度なアルゴリズムに比べて、PPOは実装が比較的簡単
二次最適化技術を必要とせず、初心者にも扱いやすい
サンプル効率:
PPOは、トレーニングデータを効率的に再利用できるため、他の強化学習アルゴリズムと比べてデータ効率が高い
これにより、データ収集がコストや時間のかかるシナリオで有利
6.8.2 PPOの限界
複雑さと計算コスト:
PPOは、方策ネットワークと価値ネットワークを用いるため、トレーニングにはかなりの計算リソースが必要
その結果、トレーニング時間が長くなり、運用コストも増加
ハイパーパラメータの感度:
PPOの性能は、クリッピング範囲、学習率、割引率などのハイパーパラメータに強く依存
これらのパラメータの適切な調整が求められ、不適切な設定では方策の性能が低下したり、学習が不安定になる可能性がある
安定性と収束の課題:
PPOは、従来の方法と比べて安定性を高める設計がされているが、非常に動的または複雑な環境では収束に問題が生じる場合がある
報酬信号への依存:
PPOは、学習プロセスを導くために適切に設計された報酬信号に強く依存
報酬関数の設計が難しい場合や不適切な場合、PPOは期待される結果を得るのが困難
6.8.3 PPOを用いたモデルトレーニングのチュートリアル
IMDBデータセットを使用してPPOでGPT-2をポジティブな映画レビューを生成するようにトレーニングするチュートリアルが提供されている
このチュートリアルでは、PPOの実践的な実装方法を学ぶことができる
HFTの概念はわかりやすいと思のではと思います。半分の重みを固定して残りの半分をファインチューニングするのに対して、LoRAではアダプターの重み⊿wを低ランクの行列に分解して学習させ、計算コストの低減を図っていました。
そしてここからより複雑になっていきますが、クロスアテンションというメカニズムを用いるラミニメモリチューニングは、大規模言語モデル(LLM)の幻覚を抑制し、正確な事実の記憶と再現性を向上させるファインチューニング手法です。トランスフォーマーバックボーンに「メモリエキスパート」を追加し、クロスアテンションを用いて特定の事実を効率的に記憶・検索します。これにより、幻覚の発生を抑えつつ、正確な応答を低い計算コストで実現します。医療や法律など、精度が求められる分野で有用です。
そしてMixture of Experts(MoE)は、ニューラルネットワークを複数の専門的なサブネットワーク(エキスパート)に分け、入力ごとに最適なエキスパートを選択して計算するアーキテクチャです。特に、疎結合型(Sparse MoE)は、全エキスパートの一部のみを活用することで計算効率を大幅に向上させます。例えば、Mixtral 8x7Bモデルは、1レイヤーあたり8つのエキスパートを持ち、ルーターネットワークで2つのエキスパートを動的に選択します。この設計により、必要な計算量を削減しつつ、優れた性能を実現します。MoEは、特にスケーラブルな大規模言語モデルのトレーニングに適しており、計算リソースを効率的に活用しながら、数学、コード生成、多言語タスクで高い性能を発揮します。
Mixture of Agents(MoA)は、複数の大規模言語モデル(LLM)の能力を組み合わせて、推論や言語生成の性能を向上させるアプローチです。各層で複数のエージェントが独立して入力を処理し、その結果を統合することで、高品質な出力を生成します。エージェントには役割があり、提案者(Proposers)は参考となる応答を生成し、集約者(Aggregators)は複数の応答を統合して最終結果を出力します。エージェントの多様性と数を増やすことで、出力の品質がさらに向上します。MoAは、LLM間の自然な協調性を活用し、スケーラブルかつ効率的な設計を実現しています。特に、多様なモデルを活用することで、数学や対話生成など多様なタスクで高いパフォーマンスを発揮します。
Mixture of Experts (MoE) は単一モデル内で複数のエキスパート(サブネットワーク)を動的に選択して計算効率を向上させる手法です。一方、Mixture of Agents (MoA) は複数の独立したモデルを協調的に活用し、それぞれの役割(提案者や集約者)を分担することで精度と多様性を向上させます。MoEは効率化、MoAは協調による性能向上を目的としています。
Proximal Policy Optimization (PPO) は、強化学習で広く使われる安定性と効率性に優れたアルゴリズムです。方策勾配法を基にしており、「クリッピングメカニズム」によって方策の更新幅を制限し、学習の安定性を向上させます。また、同じデータバッチを複数回利用することで、データ効率を高めています。PPOは実装が比較的簡単で、計算コストを抑えつつ安定した性能を発揮します。そのため、大規模言語モデルのファインチューニング(例: 人間のフィードバックを用いた強化学習)や、他の動的な環境でのタスク学習に適しています。
次は6.9Direct Preference Optimization(DPO)から見ていこうと思います。