リソース / ガイド

モデルトレーニングの解説

独自のデータで言語モデルをファインチューニングするためのすべての背景を、概念ごとに解説します。どこからでも始められます。各カードを開くと、メカニズム、具体的な例、設定、よくある間違い、一次情報源を含む詳細ページが表示されます。

9章68個の概念
01

全体像

ファインチューニングはモデルをゼロから構築するものではありません。望ましい動作の多数の例を用いて、既存のモデルを微調整するものです。

  1. 01セッションチャットの選択
  2. 02データセットサンプルの収集
  3. 03プロバイダートレーニング環境
  4. 04データ準備クリーニング + 変換
  5. 05トレーニングジョブの実行
  6. 06評価改善の証明
  7. 07テストチャット自身で試行
  8. 08使用業務への適用
トレーニングパイプライン。各ステージは凍結され検査可能な成果物を次のステージに渡すため、どの実行も学習元の正確なチャットまで遡って追跡できます。
02

トークンとコンテキスト

モデルは文字や単語ではなく、トークンを読み書きします。トレーニングにおけるほぼすべての制限と価格は、トークン単位で計算されます。

03

チャットから学習データへ

チャットは、モデルがどの返答を記述するよう学習すべきかを決定することで、トレーニングデータになります。

04

データセット

実際のチャット、生成されたチャット、公開データセット、またはチャットのフィードバックから得られた、名前付きの固定された例のコレクションであり、トレーニング済みモデルの品質を決定づける最大の要因です。

概念データセットとは何かチャットからのコピー、モデルによる作成、またはインポートされたトレーニング例と、学習用ドキュメントを含む、名前付きの凍結されたコレクション — リンクではなくスナップショットである理由、そしてそれが修正、インポート、再現性に何を意味するのか。詳細を読む →ベストプラクティス優れたデータセットの条件ファインチューニングによってモデルが改善されるかどうかを決定する特性(正確性、一貫性、多様性、明確な焦点、代表性)と、トレーニング前にそれぞれを確認する方法。詳細を読む →手法合成データとDataset Builder優れたモデルが、まだ手元にない会話例をどのように作成できるか、そしてDataset Builderのブリーフ、プラン、チェック、レビューによって、それらのチャットをどのように多様で、根拠があり、制御された状態に保つかについて説明します。詳細を読む →概念Hugging Faceの公開データセット公開されているHugging Faceデータセットの内容、そのようなデータセットで一般的なフォーマット、そしてデータセットがチャットになる理由、ドキュメントになる理由、トレーニングに全く使用できない理由について。詳細を読む →手法チャットのフィードバックからの学習チャットでの「いいね」、「よくないね」、およびRefreshがどのようにトレーニングデータになるか:高評価の回答は教師あり学習に、ペアは選好チューニングに、低評価の回答はレビュー担当者へ回されます。詳細を読む →
05

データ準備

データ準備では、データセットの例をプロバイダーが想定する正確なトレーニングファイルに変換します。これには、クリーニング、墨塗り、トリミング、およびトレーニング、検証、テストセットへの分割が含まれます。

パイプラインステップクリーニングクリーニングは、モデルが学習すべきではない回答 — エラー、拒否、インターフェースマークアップ、重複、定型的な回答 — を削除し、すべての記録がトレーニングに有効になるように構造を修正します。詳細を読む →パイプラインステップ個人データとシークレット(PII)ファインチューニングされたモデルはトレーニングテキストを一言一句繰り返す可能性があるため、トレーニングの前に、メールアドレス、電話番号、カード番号、IBAN、国民ID、APIキーが検出され、デフォルトでプレースホルダーに置き換えられます。詳細を読む →設定トークン上限とTrimすべてのプロバイダーは、1つの学習サンプルに含めることができるトークン数に上限を設けています。上限を超える長い会話は、Trim(最も古いやり取りから削除)されるか、Drop(除外)されます。詳細を読む →パイプラインステップ検証データの分割会話の一部は訓練から除外され、モデルが学習しないデータにおける損失を監視するために使用されます。会話全体を単位として分割されるため、確保されたチャットの一部が訓練データにリークすることはありません。また、これは評価用に保持されるテストセットとは異なります。詳細を読む →設定システムプロンプトシステムプロンプトは、すべての会話の前に配置される常設の指示です。トレーニング時に追加されることで、モデルはその正確なプロンプトが存在する状態での動作を学習するため、モデルを使用する際にも同じ状態を保つ必要があります。詳細を読む →概念JSONLトレーニングファイルJSONL(JSON Lines)は、1行に1つの完全なJSONオブジェクトを含むテキストファイルです。これはファインチューニングデータの標準フォーマットであり、1行が1つのトレーニングレコードになります。詳細を読む →
06

学習のプロセス

トレーニングはループです。予測し、誤差を測定し、各重みをどのように変更すべきかを計算し、少し変更する、というプロセスを何千回も繰り返します。

概念トレーニングループファインチューニングは、1つの短い手順を何千回も繰り返すプロセスです。目標とする回答を予測し、その予測がどれだけ間違っていたかを測定し、各重みをどの方向に動かすべきかを計算し、少しだけ動かします。詳細を読む →概念エポック、バッチ、ステップバッチとは1回の重み更新の背後にあるサンプルのグループであり、ステップとは1回の更新、エポックとはトレーニングデータ全体を1周することを指します。これらが組み合わさることで、モデルが変更される頻度と、各サンプルを処理する回数が決定されます。詳細を読む →手法フルファインチューニングフルファインチューニングは、モデル内のすべての重みを更新します。動作を変更する余地が最も大きい反面、モデル自体のサイズの何倍ものGPUメモリを必要とし、ベースモデルが持っていたスキルを損なう可能性が最も高くなります。詳細を読む →手法LoRAおよびアダプター(PEFT)LoRAはベースモデルを凍結し、選択したレイヤーの横で2つの小さな行列をトレーニングします。その積が凍結された重みに追加されます。これにより、トレーニング可能な重みとメモリが劇的に削減され、適切に構成されていれば、一般的なファインチューニングデータセットでのフルファインチューニングに匹敵します。詳細を読む →手法QLoRA(4ビットLoRA)QLoRAは、16ビットではなく4ビットで保存されたベースモデル上で、通常のLoRAアダプターをトレーニングします。トレーニングに必要なメモリが約3分の1に減少するため、速度は多少犠牲になりますが、同じマシンで約3倍の大きさのモデルをファインチューニングできます。詳細を読む →概念Gradient checkpointingGradient checkpointingは、フォワードパスの中間結果の一部のみを保持し、バックワードパスで必要になった際に残りを再計算することでメモリを節約します。メモリ使用量を大幅に削減しますが、トレーニングの速度は約20〜30%遅くなります。詳細を読む →ベストプラクティスモデルは収まるか? 学習用メモリ学習には、モデルの重み、勾配、オプティマイザの状態、さらに作業用メモリのためのスペースが必要です。LoRAの場合は10億パラメータあたり約2GB、フルファインチューニングの場合は約12GBという簡単な経験則により、開始前にモデルがマシンに収まるかどうかを判断できます。詳細を読む →概念オープンウェイトモデルオープンウェイトモデルとは、トレーニング済みの重みが公開され、誰でもダウンロードできるモデルのことです。これにより、任意のハードウェアでファインチューニングや実行が可能になります。ライセンスによって許可される用途が定められており、どのファミリーを選ぶかと同じくらい、どのリリースから始めるかが重要になります。詳細を読む →設定ハイパーパラメーターハイパーパラメーターとは、モデルが学習する重みとは対照的に、エポック、学習率、バッチサイズ、アダプターランクなど、お客様が選択するトレーニング設定のことです。Autoはお客様のデータからこれらを選択し、適切な初回実行を行います。このページでは、そこからチューニングできるように各設定について説明します。詳細を読む →設定学習率学習率は、各更新で重みがどれだけ移動するかを設定します。これは最も敏感な学習設定であり、高すぎるとオーバーシュートしてスキルを消去する可能性があり、低すぎるとモデルがほとんど変化しません。通常、スケジュールではウォームアップを行い、その後、実行全体にわたって減衰させます。詳細を読む →指標損失曲線の読み方トレーニング損失は、モデルが学習元のサンプルにどの程度適合しているかを示します。検証損失は、トレーニングに使用されなかった保留サンプルをどの程度うまく予測できるかを示します。これら2つの曲線のギャップは、トレーニングの実行から得られる最も有用なシグナルです。詳細を読む →指標過学習と学習不足過学習(オーバーフィッティング)とは、モデルが背後にあるパターンを学習するのではなく、学習用の例を暗記してしまう状態のことです。そのため、学習した例にはうまく対応できますが、新しいデータに対する精度は低下します。学習不足(アンダーフィッティング)はその逆で、パターンを全く学習できていない状態を指します。詳細を読む →概念トレーニングの課金方法ほとんどのマネージドのファインチューニングは、処理されたトークン単位で課金されます。つまり、トレーニングファイル内のトークン数にエポック数と単価を掛けた金額です。一方、レンタルGPUでのジョブは時間単位で課金されます。その後のモデルの使用には別途コストがかかります。詳細を読む →
07

学習手法

手法によってモデルがどのシグナルから学習するかが異なります。そのため、必要となるデータや、それぞれの手法で教えられることと教えられないことが異なります。

4つの手法の違いは1つだけです。それは、モデルが学習する際のシグナルです。

プレファレンスチューニング

手法選好チューニング(DPO)Direct Preference Optimization(直接選好最適化)は、良い回答と悪い回答のペアでモデルをトレーニングし、従来のRLHFで必要とされる報酬モデルや強化学習のループなしに、より良い回答を好むように学習させます。詳細を読む →設定DPOにおけるベータ(β)ベータは、選好チューニングにおいてモデルを開始時点の状態にどの程度強く維持するかを設定します。値を低くするとペアによる変更が大きくなり、高くすると元のモデルに近い状態が維持されます。詳細を読む →指標DPO損失の読み方DPOの損失は、初期状態と比較して、モデルが各ペアにおいてより良い回答をどれだけ明確に好むようになったかを測定します。ln 2 ≈ 0.693から始まり、選好が学習されるにつれて0に向かって低下します。詳細を読む →ベストプラクティス優れた選好ペアの由来選好ペアとは、1つのプロンプトに対して、より良い回答とより悪い回答を組み合わせたものです。DPOがどの程度機能するかは、主に2つの回答の違いが、実際に変更したい点であるかどうかに依存します。詳細を読む →指標選好精度選好精度(Preference accuracy)とは、モデルが非選好の回答よりも選好される回答に対して、開始時点と比較してより高い暗黙の報酬を与えるようになったペアの割合です。50%付近から始まり、選好が学習されるにつれて上昇します。詳細を読む →ベストプラクティス標準的な手法:SFT、次にDPO選好チューニングは、モデルがすでに提供できる回答をさらに洗練させるものです。そのため、通常の手法は2つのステップで構成されます。タスクを教えるための教師ありファインチューニングと、そのモデルから継続して行われ、それに対して評価されるDPOです。詳細を読む →

強化学習によるファインチューニング

手法強化学習ファインチューニング(RFT)強化学習ファインチューニングは、回答例の代わりにスコアに基づいてモデルをトレーニングします。各プロンプトに複数回回答し、グレーダーがすべての試行をスコアリングし、モデルはより高いスコアを獲得した回答の傾向を学習します。詳細を読む →手法GRPOのステップバイステップGroup Relative Policy Optimizationは、同じプロンプトに対する複数の回答をスコアリングし、グループの平均を上回るものを強化します。PPOの独立したバリューモデルを、このシンプルな比較に置き換えます。詳細を読む →設定グレーダー:回答のスコアリング方法グレーダーは、回答を0から1の間の数値に変換します。強化学習によるファインチューニングにおいて、モデルが認識する「良さ」の定義はこれのみであるため、グレーダーの選択がモデルの学習内容を決定づけます。詳細を読む →設定RFT設定強化学習ファインチューニングの実行における6つの設定:回答のスコアリング方法、モデルが記述する回答の数と長さ、各更新の大きさと固定の度合い。詳細を読む →指標注視すべきRFTメトリクス報酬、クリップ率、報酬のばらつき、生成長:強化学習の実行が学習しているか、シグナルが不足しているか、あるいはグレーダーを欺いているかを示す4つのチャート。詳細を読む →指標強化学習ファインチューニングにおけるホールドアウト検証プロバイダーがホスト型推論モデルで強化学習ファインチューニングを実行する際、数ステップごとに少数のホールドアウト検証用問題を再度出題し、同じ評価システムで回答を採点します。各問題は、訓練効果がモデルの未学習の問題にも適用されているかを示すタイムラインとなります。詳細を読む →ベストプラクティス報酬ハッキング報酬ハッキングとは、モデルが評価器の検証漏れを悪用し、タスクの実際のパフォーマンスを向上させることなくスコアだけを上げる現象を指します。これは、強化学習によるファインチューニングが失敗する主な原因となります。詳細を読む →
08

評価

損失曲線はモデルの適合度を示します。評価は、その回答が実際に改善されているかを示します。

概念ベースモデルとファインチューニング済みモデルの比較評価では、開始時のモデルとトレーニング済みのモデルに同じホールドアウトされた質問を行い、その回答を比較します。これにより、トレーニングによって実際に回答が良くなったかどうかを確認できます。詳細を読む →概念テスト用の質問:「ホールドアウト」が重要である理由データ準備の段階で真っ先に取り分けられる会話の一部。これにより、学習済みモデルに対して未学習の質問を用いた評価が可能になります。真の精度向上と単なる記憶を明確に区別できる唯一の方法です。詳細を読む →手法LLM-as-a-judge独立した言語モデルが、質問、参照回答、および2つの候補回答を読み込み、両方をスコアリングして勝者を選択します。順序をシャッフルし、異なるモデル系統を使用してブラインドで設定した場合、人間同士の評価が一致するのとほぼ同じ頻度で、人間の評価者と一致します。詳細を読む →指標評価結果の読み方勝率、スコア差、および評価の二次的シグナルの読み方 — そして質問数が少ない場合に、真の改善とノイズをどのように見分けるか。詳細を読む →概念チェックポイント:ベースモデルが利用できなくなった場合チェックポイントとは、プロバイダーがトレーニングの途中で保存するモデルのコピーです。ベースモデルをデプロイできなくなった場合、最終モデルを初期のチェックポイントと比較することで、後半のトレーニングステップが有効であったかどうかがわかります。詳細を読む →手法モデルの単独スコアリング2つの回答を比較する代わりに、判定者は会話と参照回答の横にある1つの回答を読み、基準ごとに1〜5でスコアリングします。結果は絶対的な品質スコアとなり、勝敗や改善の度合いを測るものではありません。詳細を読む →ベストプラクティス複数モデルの比較モデル — 異なるプロバイダー、手法、ベースサイズ — を選択するには、同じ質問に回答させ、同じ審査員によってスコアリングされる必要があります。比較では、共通の質問セットに対してモデルごとに1回の評価を実行し、審査員の平均スコアでランク付けします。詳細を読む →ベストプラクティスアノテーションキュー: 手動による判定者の確認人間がモデルの回答を1つずつレビューし(スコア付け、より良い回答の選択、または修正の記述)、LLMの判定者にどの程度の信頼性があるかを測定し、その修正内容をトレーニングデータに変換します。詳細を読む →
09

モデルの試行とサービング

トレーニング済みモデルが回答するには、事前にデプロイされている必要があります。また、専用のデプロイメントは、稼働している時間ごとにコストが発生します。

概念推論とデプロイメント推論とは、モデルを使用して回答を生成することです。トレーニング済みモデルは、まずデプロイされる(エンドポイントの背後にあるハードウェアに重みが読み込まれる)必要があり、これには数分かかる場合があります。その後、トークン単位または時間単位でコストが発生します。詳細を読む →概念サーバーレスと専用の比較サーバーレスのサービングは、待機コストなしで共有キャパシティ上のトークンごとに課金されます。専用デプロイメントは、モデル用にGPUを予約し、それが存在する時間ごとに課金されます。どちらが安くなるかは、使用量によって異なります。詳細を読む →概念コストについて:数値の読み方モデルの作業は複数の異なる方法で請求されるため、Scalataが表示するすべてのコストには、その数値の根拠を示すステータス(確定、見積り、保留中、または請求なし)が付与されます。詳細を読む →ベストプラクティス実行のアーカイブアーカイブ機能は、データセット、データ準備、モデル、または評価を削除することなく、日常的なリストや選択画面から非表示にします。これにより、何を試し、なぜ失敗したのかという記録が利用可能なまま維持され、いつでも復元できます。詳細を読む →
10

用語集

すべての概念を網羅しています。それぞれをクリックすると詳細ページが開きます。

専門家が数週間かける作業を数分に短縮します

Scalataがお客様のチーム、データ、および統制にどのように適合するかをご確認ください。

営業へのお問い合わせ