教師ありファインチューニングロードマップ:大規模言語モデルカスタマイズの中核概念

スポンサーリンク

教師ありファインチューニングロードマップ:大規模言語モデルカスタマイズの中核概念

  • ファインチューニング概要
  • ファインチューニング前提条件
  • ファインチューニングロードマップ
  • 命令チューニング
  • LLM適応
  • LLMエンジニアリング
  • LLMトレーニングパイプライン
  • LoRA
  • マスキング
  • PEFT
  • 量子化
  • 教師ありファインチューニング
  • トークン化
  • Ready Tensor
  • Mohamed Abdelhamid
  • Wasif Mehmood

🏠
ホーム – 全レッスン

⬅️
前 – LLMの学習方法

➡️
次 – LLMファインチューニングのためのデータセット準備

言語モデルがどのように学習するか — 次トークン予測、損失、マスキングを通じて — を理解しました。

さて、実際の実装に入る前に、答える必要があります:
正確に何をファインチューニングしているのか、そして今後のすべてのトピックがどのように組み合わさるのか?

このレッスンでは、LoRAとQLoRAでファインチューニングする前に必要な基礎概念を通じた旅を示します。

教師ありファインチューニング(SFT)が実際に何であるか、トレーニングとどのように関連するか、そしてトークン化、量子化、データ型などのトピックがランダムな回り道ではない理由 — それらは不可欠なビルディングブロックです — を明確にします。

最後には、完全なマップが見えます:どこに向かっているのか、各ピースが何を可能にするのか、そしてこれらの基礎を理解することで、設定を調整する人から解決策をエンジニアリングする人に変わる理由。

教師ありファインチューニング(SFT)とは何か?

大きな絵から始めましょう。

教師ありファインチューニング、またはSFTは、事前トレーニングされたモデルが私たちが望む方法で動作することを学習する段階です — 命令に従い、質問に答え、または特定のスタイルで応答をフォーマットします。

以前に見た同じ学習メカニズム — クロスエントロピー損失を伴う次トークン予測 — を使用しますが、今度はモデルに新しい動作パターンを教える構造化されたラベル付き例に適用されます。

言い換えれば、ファインチューニングはモデルに言語を理解することを教えません — すでにそうしています。
ファインチューニングは、特定のコンテキストで生成する言語の種類を教えます。

たとえば、ベースモデルは次のプロンプトを続けるかもしれません:

「上司に説明するメールを書いてください…」

ランダムまたは役に立たない何かで。
SFTは、次のような何千ものペアを示すことでそれを修正します:

命令: 今日の会議に欠席することをマネージャーに説明するメールを書いてください。
応答: こんにちは[マネージャー]、体調が悪く、今日の会議に出席できないことをお知らせしたいと思います。ご理解ありがとうございます。

時間の経過とともに、モデルは命令が与えられると、構造化されたコンテキストに配慮した応答が続くことを学習します。
それが、テキスト補完者を有能なアシスタントに変える方法です。

内部では、SFTは単にトレーニングの継続です — しかし目的を持って。
事前トレーニングされたモデルから始め、より小さくラベル付けされたデータセットを使用し、一般的な言語ではなく特定のタスクやスタイルに調整します。

ファインチューニングが事前トレーニングと異なる点

機械的には、SFTは事前トレーニングと同じ学習プロセス — クロスエントロピー損失を伴う次トークン予測 — を使用します。

しかし、3つの重要な違いがあります:

  1. 開始点
    事前トレーニングはゼロから始まります(ランダム化された重みを持つモデル)が、ファインチューニングはすでに言語を理解しているモデル(事前トレーニングされたモデル)から始まります。

  2. データ構造とスケール
    事前トレーニングは、大規模なデータセット(数兆トークン)からの生の連続テキストを使用します。ファインチューニングは、はるかに小さく構造化されたペア — 望ましい応答とペアにされた命令(多くの場合、数千から数万の例のみ)を使用します。

  3. 何でトレーニングされるか
    事前トレーニングでは、モデルはすべてのトークンから学習します。ファインチューニングでは、通常、命令トークンをマスクします — モデルはアシスタントの応答に基づいてのみ重みを更新します。これにより、特定の入力が与えられたときに適切な出力を生成することを教えます。

基本的なメカニズムは同一です。無制限のデータと計算があれば、タスクのためにゼロからトレーニングできます — 「ファインチューニング」ではなく「トレーニング」と呼ぶだけです。これらは、異なるアルゴリズムではなく、開始条件に基づくラベルです。

トレーニングジャーニーのどこに位置するか

SFTは、現代のLLMパイプラインの中間に位置します — 広範な事前トレーニングと好みベースのアライメントの間。

ステージ2に焦点を当てます。なぜなら、SFTは後のステップを可能にする橋だからです。

モデルが一貫した構造化された応答を生成することを学習すると、Direct Preference Optimization(DPO)、Generative Replay Optimization(GROPO)、またはProximal Policy Optimization(PPO)などの技術が、フィードバックに基づいてそれらの応答をさらに洗練できます。

このプログラムは、その基礎を習得することに焦点を当てています — 教師ありファインチューニング段階 — なぜなら、それは実世界の使用のために大規模モデルを適応させる最もアクセスしやすく、再現可能で、スケーラブルな方法だからです。

次に来ること:効果的なファインチューニングのための中核概念

LoRAとQLoRAでファインチューニングを開始する前に、プロセスを機能させる中核概念を理解する必要があります — データがどのように表現されるか、損失がどのように適用されるか、モデルが限られたハードウェアにどのように適合するか、そして選択的パラメータのみがどのように更新されるか。

次のいくつかのレッスンで、以下をカバーします:

これらのトピックのそれぞれは、責任を持って効率的にファインチューニングするために不可欠です — モデルがより速くトレーニングし、ハードウェアに適合し、より安定した結果を生成することを保証します。

これらを、理論的なファインチューニングを実践的なワークフローに変える中核エンジニアリング基盤と考えてください。これらを理解すると、ファインチューニングは試行錯誤ではなくなり、エンジニアリング規律になります。

次は何か

次のレッスンでは、トークン化とパディングから始めます — テキストがテンソルに変わる方法、そしてこのステップを正しく行うことで、下流のすべてがより安定して効率的になる理由。

  • 学習メカニクスから教師ありファインチューニングへ

コメント

タイトルとURLをコピーしました