トレーニングの基礎
モデルトレーニング
Model training
意味
モデルがターゲットの動作またはタスクを実行できるように、データからモデルのパラメータを調整するプロセス。
使用場面
データ準備、トレーニング、検証、およびチェックポイント選択を含む、全体的な最適化プロセスを指す用語を使用してください。
活用例
実行前に、学習目標、承認済みのデータセット、検証計画、計算リソースの予算、および停止条件を定義します。生成AIエンジニアリング
トレーニングデータ、目的、バッチ、エポック、損失、勾配、オプティマイザー、学習率、検証、過学習、チェックポイント、分散トレーニング、および再現性を理解します。
61 件
トレーニングの基礎
Model training
モデルがターゲットの動作またはタスクを実行できるように、データからモデルのパラメータを調整するプロセス。
データ準備、トレーニング、検証、およびチェックポイント選択を含む、全体的な最適化プロセスを指す用語を使用してください。
実行前に、学習目標、承認済みのデータセット、検証計画、計算リソースの予算、および停止条件を定義します。トレーニングの基礎
Pre-training
モデルが、より狭いタスクまたはドメインに適応される前に、広範なパターンを学習させるための大規模なトレーニング。
基本モデルの作成と、その後のファインチューニングまたはアライメントを区別する場合に使用します。
承認された多言語コーパスで基本モデルを事前学習し、その後、言語の網羅性を評価します。トレーニングの基礎
Foundation model
多くのダウンストリームタスクと適応をサポートするように設計された、広範に事前学習されたモデル。
その後、プロンプト、検索、アダプター、またはファインチューニングが構築される、一般的なモデルを特定する場合に使用します。
承認された基盤モデルのファミリー、バージョン、ライセンス、および意図された適応パスを記録します。トレーニングの基礎
Base model
推論または追加の適応の開始点として使用される、特定の事前学習済みのチェックポイント。
トレーニングとデプロイを再現できるように、正確なモデルとリビジョン識別子を使用してください。
ベースモデル:承認済みモデルIDと不変のバージョン情報。トレーニングの基礎
Model parameter
モデル内の数値であり、トレーニング中に学習されるか、選択された方法によって固定されるもの。
モデルの合計、固定、およびトレーニング可能な部分を比較する場合に使用します。
パラメータの総数と、トレーニング方法によって更新されるパラメータのサブセットを報告します。トレーニングの基礎
Transfer learning
ある設定で学習した知識を、別の関連するタスクまたはドメインの開始点として再利用します。
新しいモデルをランダムに初期化することなく、事前にトレーニングされた表現を適用する場合に使用します。
承認済みの言語モデルから開始し、意図分類に適用します。トレーニングの基礎
Training objective
トレーニング実行が最適化しようとする数学的または行動的な目標。
データ、ラベル、損失関数、および評価指標を選択する前に、これを定義します。
目的:承認されたドメインコーパスにおける検証損失を最小限に抑えながら、次のトークンを予測する。トレーニングの基礎
Supervised learning
入力と、期待されるラベルまたは出力がペアになった例からトレーニングします。
信頼性の高いターゲットの答え、クラス、または値が利用可能な場合に利用します。
レビューされた意図ラベルとペアになったサポート質問でトレーニングします。トレーニングの基礎
Self-supervised learning
ラベルのないデータの構造自体から予測ターゲットを導き出すトレーニング。
手動によるラベル付けが不可能な大規模な表現または言語モデルの学習に使用します。
各シーケンスの一部を隠したり、ずらしたりして、モデルに欠落しているコンテンツまたは次のコンテンツを予測するように学習させます。トレーニングデータ
Training dataset
勾配を計算し、モデルのパラメータを更新するために使用される例。
関連性、ライセンス、代表性、および品質管理されたデータから構築します。
公開されているデータが、モデルのトレーニングに自動的に許可されていると仮定しないでください。
ソース、ライセンス、同意、言語、および品質のメタデータを含む、バージョン管理されたトレーニングデータセットを作成します。トレーニングデータ
Validation dataset
開発中に設定を比較し、汎化性能を監視するために使用される検証データセット。
チェックポイントの選択、早期停止、およびハイパーパラメータの決定に使用します (例から重みを更新しない場合)。
各エポックで検証損失を評価し、最適な承認済みチェックポイントを保持します。トレーニングデータ
Test dataset
開発の選択が完了した後、最終的な、より偏りの少ない推定値を得るために、別途保持されたデータセット。
モデルとハイパーパラメータの選択を行った後のみ使用し、最終的なテストに過剰に適合しないようにします。
実験の前にテストセットをロックし、最終結果とともにそのバージョンを報告します。トレーニングデータ
Training corpus
モデルの学習に使用されるテキスト、コード、画像、オーディオ、またはその他の素材のコレクション。
データ収集の規模で、ソースの網羅性、出所、フィルタリング、および権利について議論する際に、この用語を使用してください。
ドキュメントのソース、収集日、除外事項、権利の根拠、および削除手順。トレーニングデータ
Training sample or example
ラベル付けされた行、シーケンス、画像、会話、または好みのペアなど、トレーニングパイプラインに渡される1つのユニット。
スキーマ、サンプリング重み、品質チェック、およびデータセットサイズにカウントされるものを定義する場合に使用します。
1つの例には、入力、ターゲット、ソースID、権利メタデータ、および品質ステータスが含まれます。トレーニングデータ
Label
教師あり学習の例に関連付けられた、ターゲットクラス、値、範囲、応答、または判断。
文書化されたルブリックを使用してラベルを定義し、あいまいなタスクについて、レビュアーの合意を測定します。
各チケットに、承認された意図のラベルを付け、不明確な場合は、判断のために記録します。トレーニングデータ
Data augmentation
意図されたラベルまたは動作を維持する制御された変換を適用することで、追加のトレーニング例を作成します。
変換が現実的であり、ターゲットの意味を変更しないことを検証しながら、カバレッジを向上させるために使用します。
パラフレーズのバリエーションを作成し、各バリエーションが元の意図ラベルを維持していることを確認します。トレーニングデータ
Data contamination
トレーニングデータに評価例または類似のバリエーションが存在し、評価が過大評価を引き起こす。
学習前および保護された評価セットの隔離前に、完全一致と意味的な重複を確認します。
学習時と評価時のデータセットにおけるハッシュ値と、類似した埋め込み表現を比較する。トレーニングデータ
Training tokenization
トレーニング中に使用されるモデル入力ユニットと識別子に、生のコンテンツを変換するプロセス。
トークナイザーの選択、語彙、正規化、および特殊トークンが、モデルおよびサービングパイプラインと互換性があることを確認します。
トークナイザーのバージョン、語彙サイズ、特殊トークン、切り捨て、および最大シーケンス長を記録します。トレーニングデータ
Data split
データをトレーニングセット、検証セット、およびテストセットに分割する。
ランダムな行が、近接した重複をサブセット間で漏洩する可能性がある場合、ユーザー、時間、ドキュメント、またはグループで分割します。
顧客アカウントごとに分割し、ある顧客からの会話がトレーニングデータとテストデータの両方に表示されないようにします。トレーニングデータ
Data deduplication
同じまたはほぼ同じトレーニング例を検出し、それらをグループ化または削除するプロセス。
メモリ化、ソースの不均衡、無駄な計算、およびトレーニングデータとテストデータの汚染を減らすために使用します。
分割する前に、完全一致のハッシュ、正規化されたテキスト、および類似性の高いドキュメントセグメントを重複排除します。トレーニングデータ
Synthetic training data
ソフトウェアまたはモデルによって生成または変換された例であり、実際のイベントから直接収集されたものではありません。
まれなケース、形式、またはプライバシー保護シミュレーションをカバーし、リアリズムとバイアスを検証するために使用します。
合成データは、元のデータのバイアス、エラー、または保護された表現を再現する可能性がありますが、それでも出所と品質のチェックが必要です。
エッジケースのサポートダイアログを生成し、合成されたものとしてラベルを付け、トレーニング前に確認します。トレーニングデータ
Confidential training data
トレーニングに使用される顧客レコード、営業秘密、社内文書、認証情報、またはその他の制限された情報。
明示的な許可、文書化された目的、厳格なアクセス制御、および承認された保持および削除計画がない限り、デフォルトで除外します。
承認された権限とプロバイダーのポリシーによるレビューなしに、認証情報、顧客の機密情報、または営業秘密をトレーニングサービスに配置しないでください。
データの取り込み時、機密情報や企業秘密をブロックし、不確実なレコードを承認されたレビュー担当者に転送します。トレーニングデータ
Data leakage
トレーニング中に、意図した現実世界の予測設定では利用できない情報が意図せず使用されること。
誤った評価スコアを防ぐために、特徴量、ラベル、タイムスタンプ、および前処理を確認します。
問い合わせエスカレーションを予測するモデルをトレーニングする前に、解決後フィールドを削除します。トレーニングループ
Batch
1つのフォワードおよびバックワード計算でまとめて処理される、トレーニング例のグループ。
演算効率、メモリ使用量、および勾配の安定性をバランスさせるために、バッチを使用します。
各バッチを、パディングされたシーケンスと注意マスクで構成します。トレーニングループ
Mini-batch
1回の勾配計算に使用される、トレーニングデータの小さなサブセット。フルデータセットを一度に処理するのではなく使用されます。
大規模なデータセットに対する確率的最適化の標準的な実用的な単位として使用します。
トレーニングデータをシャッフルし、類似したシーケンス長のミニバッチを構築します。トレーニングループ
Batch size
バッチに含まれる例またはシーケンスの数。
シーケンス長、メモリ、最適化の挙動、および効果的なバッチサイズに応じて調整します。
デバイスごとのバッチサイズを4に設定し、メモリが必要な場合にのみ勾配累積を使用します。トレーニングループ
Training step / iteration
1つのオプティマイザの更新サイクル。1つまたは複数のマイクロバッチを消費する場合があります。
ログ記録、スケジューリング、チェックポイントの保存、および実行時間の比較に使用します。
training lossおよびlearning rate every 20 optimizer stepsをログに記録します。トレーニングループ
Epoch
設定されたサンプリングプロセスに基づいて、トレーニングデータセット全体を1回通過します。
エポック数を増やすことが常に優れているとは限らないため、検証曲線とともにエポック数をカウントします。
1,000の例とバッチサイズ50の場合、1エポックは約20バッチが含まれます。トレーニングループ
Forward pass
モデル入力をネットワークに送信して予測と損失値を生成する計算。
トレーニングの各反復の最初の半分を、勾配が計算される前に説明する場合に使用します。
トークン ID に対して順伝播を実行し、予測されたトークンとターゲットラベルを比較します。トレーニングループ
Loss function
モデルの予測がトレーニング目標からどれだけ離れているかを測定する関数。
タスク、ラベル形式、クラスバランス、および目的の動作に一致するように選択します。
トークンレベルのトレーニング損失と、シーケンスレベルのタスクメトリックを個別に追跡します。トレーニングループ
Backpropagation
損失の勾配をモデル全体に逆伝播させて、勾配を計算するプロセス。
エラー信号がどのようにして学習可能なパラメータに到達するかを説明するために使用します。
スケーリングされた損失を逆伝播し、勾配をクリップし、その後、オプティマイザを更新します。トレーニングループ
Gradient
パラメータの変更が損失にどのように影響するかを示す、派生物のセット。
勾配の大きさを監視して、不安定性、勾配消失、または勾配爆発を検出します。
オプティマイザのステップの前に、勾配のノルムが有限でない場合に通知します。トレーニングループ
Optimizer
勾配と設定された状態を使用して、学習可能なパラメータを更新するアルゴリズム。
学習率、重み減衰、および精度設定とともに、これを選択して構成します。
明示的に記録された学習率、重み減衰、およびオプティマイザーのバージョンとともに、AdamWを使用します。トレーニングループ
Stochastic gradient descent (SGD)
個々のサンプルまたはミニバッチで推定された勾配からパラメータを更新する最適化方法。
基本的な最適化の概念として使用し、タスクにおけるモーメンタムやスケジューリングの選択肢を比較します。
記録された学習率、モメンタム、スケジューラー、およびバッチ構成で、SGDを実行します。トレーニングループ
AdamW
重み減衰を勾配ベースのパラメータ更新から分離する適応型オプティマイザ。
トレーニングレシピでサポートされており、再現性を確保するために、すべての最適化器のハイパーパラメータを記録する場合に利用します。
AdamWの学習率、ベータ値、エプシロン、重み減衰、および実装バージョンを記録します。トレーニングループ
Learning rate
最適化中にパラメータの更新量を制御するハイパーパラメータ。
値が高すぎるとトレーニングが不安定になり、低すぎると進捗が停滞するため、注意して調整してください。
普遍的に正しい学習率はなく、適切な値は、モデル、方法、データ、バッチサイズ、および最適化アルゴリズムによって異なります。
同じデータセット、シード、および評価スケジュールを使用して、候補の学習率を比較します。トレーニングループ
Learning-rate scheduler
学習率をトレーニングステップごとに変更するルール。
トレーニング計画に従って、トレーニングのウォームアップ、更新の減衰、またはプラトーへの対応を行うために使用します。
計画されたステップ数の割合でウォームアップを行い、その後、最終的なレートにコサイン減衰させます。トレーニングループ
Warmup
学習率を小さな値から徐々に上げる初期期間。
トレーニングの開始時に不安定な更新を減らすために使用します。特に、大規模モデルの最適化において重要です。
再現可能なトレーニング構成の一部として、ウォームアップステップを記録します。一般化と品質
Training loss
モデルパラメータを更新するために使用されるバッチで計算される損失。
最適化の進捗状況を監視しますが、低い値が汎化の証拠であると見なさないでください。
最適化ステップごとの、平滑化されたトレーニング損失をプロットし、急激なスパイクや非有限の値がないか調査する。一般化と品質
Validation loss
パラメータを更新せずに、保持された検証サンプルで測定される損失。
過学習を検出し、候補となるチェックポイントを選択するために、訓練損失と比較する。
最も優れた検証結果を示すチェックポイントを使用し、必ずしも最終的なエポックであるとは限りません。一般化と品質
Convergence
トレーニングの更新が、徐々に小さくなるか、より安定した改善をもたらす状態。
トレーニング損失だけでなく、トレーニングと検証の曲線とタスクメトリックから判断してください。
検証メトリックがチェックポイント全体で安定するまで、実行を収束したとみなしません。一般化と品質
Generalization
学習済みモデルが、トレーニングに使用していない関連する例に対して良好なパフォーマンスを発揮する能力。
代表的なテストデータと実世界のケースで測定します。
未知のユーザー、期間、言語、および困難な特殊ケースにおけるパフォーマンスを比較する。一般化と品質
Overfitting
モデルがトレーニングデータに密接に適合するものの、未知のデータではパフォーマンスが低下する状態。
学習と検証のパフォーマンスに大きな差が見られる場合は、データ、正則化、または早期終了を検討してください。
トレーニング中に損失が減少し続ける一方で、検証損失が悪化した場合に停止します。一般化と品質
Underfitting
モデルが十分に構造を学習できず、トレーニングデータでさえうまく機能しない状態。
モデルの容量、特徴量またはデータ品質、最適化設定、およびトレーニング時間を確認します。
トレーニングと検証の指標の両方が低い場合、過学習を調査します。一般化と品質
Regularization
過学習を制限し、未知のデータに対する動作を改善するための技術。
モデルの容量、データ量、データ拡張、および早期停止と組み合わせて、正則化を選択してください。
ドキュメント化された重み減衰とドロップアウトの設定と、検証の動作を比較する。一般化と品質
Weight decay
最適化中にパラメータ値が過剰に増加することを防ぐための正則化設定。
オプティマイザーとともに調整し、どのパラメータが減衰から除外されているかを確認します。
重み減衰と、それに適用されるパラメータグループを記録します。一般化と品質
Dropout
トレーニング中に選択されたアクティベーションをランダムに無効にする正則化技術。
アーキテクチャとトレーニング方法がそれをサポートしている場合にのみ使用し、評価中はトレーニング機能を無効にします。
サポートされているドロップアウト率を設定し、記録し、検証パフォーマンスを比較します。一般化と品質
Gradient clipping
最適化器の更新時に、勾配の大きさを制限して、不安定なステップを減らす。
勾配スパイクが発生する可能性がある場合、およびクリッピングが発生する頻度を監視する場合に使用します。
グローバル勾配ノルムをドキュメント化された閾値でクリップし、クリップされたステップを記録します。一般化と品質
Early stopping
定義されたルールに基づいて、監視対象の検証メトリックが改善されなくなった場合に、トレーニングの実行を停止します。
忍耐と最小改善の閾値を使用して、1つのノイズ評価に反応しないようにします。
有意義な改善が見られない場合は3回の検証チェック後に停止し、最高のチェックポイントを復元します。一般化と品質
Training checkpoint
モデルパラメータを含む、保存されたトレーニング状態。多くの場合、オプティマイザー、スケジューラー、および進行状況情報も含まれます。
回復、比較、評価、および制御されたプロモーションのために、チェックポイントを使用します。
データセット、コード、トークナイザー、および構成識別子を使用して、バージョン管理されたチェックポイントを保存します。計算と再現性
AI accelerator (GPU, TPU, NPU)
モデルのトレーニングと推論のためのテンソル演算を高速化するために使用される、特殊な計算ハードウェア。
フレームワークのサポート、数値形式、メモリ、相互接続、可用性、およびコストに応じて、ハードウェアを選択します。
アクセラレータの種類、数、メモリ、実行時間、ドライバ、および推定トレーニングコストを記録します。計算と再現性
Video memory (VRAM)
モデルの重み、オプティマイザの状態、活性化、勾配、およびバッチに使用されるアクセラレータのメモリ。
トレーニング前に推定し、必要に応じてバッチサイズ、精度、シャーディング、またはチェックポイントを調整します。
最長サポートされるシーケンスと、効果的なバッチ構成のために、割り当てられたVRAMのピーク値を測定します。計算と再現性
FP16 and BF16
低精度の数値形式は、トレーニングに必要なメモリを削減し、アクセラレータのスループットを向上させるために一般的に使用されます。
ハードウェアとフレームワークでサポートされている形式のみを使用し、有限の値と品質チェックを行います。
承認されたベースラインと比較して、BF16またはFP16のトレーニングの安定性と出力品質を比較します。計算と再現性
Gradient accumulation
1つのオプティマイザ更新の前に、いくつかのマイクロバッチからの勾配を組み合わせます。
デバイスのメモリが制限されている場合に、より大きな効果的なバッチサイズを実現するために使用します。
有効バッチサイズ = デバイスごとのバッチ × 累積ステップ数 × データ並列デバイスの数。計算と再現性
Mixed-precision training
速度またはメモリ効率を向上させながら、必要な安定性を維持するために、複数の数値精度を使用するトレーニング。
損失と有限値の監視機能を持つ、サポートされているFP16またはBF16のワークフローを使用してください。
互換性のあるハードウェアでBF16を有効にし、ベースラインの実行と比較して損失の整合性を検証します。計算と再現性
Gradient checkpointing
バックプロパゲーション中に選択された活性化を再計算するメモリ節約技術で、すべての活性化を保存する代わりに、必要なものだけを再計算します。
メモリが制約であり、追加の計算が許容される場合に使用します。
より長いシーケンスを処理するために勾配チェックポイントを有効にし、トレーニングの速度低下を測定します。計算と再現性
Distributed training
複数のアクセラレータまたはマシンにわたって、計算またはモデルの状態を調整するトレーニング。
1つのデバイスが、モデルサイズまたはトレーニング時間の要件を満たせない場合に利用します。
データ並列戦略、ワールドサイズ、シャーディングポリシー、ネットワーク設定、およびリカバリ手順を記録します。計算と再現性
Data parallelism
モデルを、異なるデータバッチを処理し、更新を同期する複数のワーカーに複製します。
モデルが各ワーカーに収まり、より多くのバッチスループットが必要な場合に利用します。
ワーカー数、グローバルバッチサイズ、勾配同期、および障害回復動作を記録します。計算と再現性
Model parallelism
1つのデバイスでモデル全体を保持または効率的に処理できないため、モデルの計算またはパラメータを複数のデバイスに分割します。
アーキテクチャとフレームワークのサポートに応じて、テンソル、パイプライン、またはシャーディングのアプローチを使用してください。
パーティション戦略、通信コスト、チェックポイント形式、およびサーバーとの互換性を文書化してください。計算と再現性
Random seed
シャッフル、サンプリング、ドロップアウト、およびパラメータ初期化などの疑似乱数操作を初期化するために使用される値。
分散ハードウェアや一部のカーネルが非決定的な場合があることを認識しながら、再現性を確保するために記録します。
複数の記録されたパラメータセットで重要な結果を比較し、単一の有利な結果に依存しないようにする。計算と再現性
Training reproducibility
実行を十分に繰り返して、その結果を説明し、比較できる能力。
バージョンデータ、コード、モデル、トークナイザー、依存関係、シード、構成、およびハードウェアの詳細。
コミットID、データセットのハッシュ、シード、パッケージロック、およびチェックポイントURIを含む実行マニフェストを保存します。これらの単位は、トレーニングの異なる部分を記述しており、互いに置き換えることはできません。
| 語 | 意味 |
|---|---|
| バッチ | 複数の計算をまとめて行うグループ。 |
| ミニバッチ | データセット全体ではなく、より小さなサブセットを使用するもの。 |
| トレーニングステップ | 1つのオプティマイザの更新。複数の累積されたマイクロバッチの後に行われる場合があります。 |
| エポック | トレーニングセットを1回通過します。バッチサイズが50の場合、1,000の例は約20バッチ/エポックです。 |
トレーニングデータはパラメータを更新し、検証データは開発の選択を導き、テストデータは最終的なパフォーマンスを推定します。 同じまたはほぼ重複した例をこれらに混ぜると、結果が歪み、汎化性能が低下する可能性があります。
1つのエポックで、トレーニングセット全体を1回処理します。 勾配累積がない場合、エポックあたりの近似バッチ数は、データセットサイズをバッチサイズで割った値です。 累積と複数のワーカーがある場合、デバイスごとの、実質的な、およびグローバルなバッチサイズを区別します。
これは、過学習の一般的な兆候です。データの一貫性や品質を確認し、その後、早期終了、正則化、データ拡張、モデルの容量、および単一の損失曲線だけでなく、複数のタスクの指標を検討してください。
いいえ。小規模なモデルと実験は CPU で実行できますが、大規模なニューラルモデルは通常、GPU、TPU、または NPU から恩恵を受けます。選択は、フレームワークのサポート、モデルのサイズ、シーケンスの長さ、時間、および予算によって異なります。
公開されていることだけでは、トレーニングの権利は確立されません。著作権、ライセンス、契約、プライバシー、同意、機密性、収集ルール、およびプロバイダーの利用規約を確認し、追跡可能性と削除手順を保持します。
トレーニング、検証、テストセット、バッチ、エポック、損失、過学習、およびその他の機械学習の基礎に関する公式用語集。
トークン化、トレーニング引数、データセット、エポック、バッチサイズ、学習率、評価、およびチェックポイントに関する公式ガイド。
バッチ処理、順伝播、損失、バックプロパゲーション、勾配、およびパラメータ更新を含む、トレーニングループに関する公式の説明。
モデルの重み、基盤モデル、推論、トークン、およびコンテキストウィンドウをレビューします。
訓練作業を、評価データセット、ベンチマーク、ルーブリック、回帰テスト、および運用メトリックと連携させる。
一般的なトレーニングの概念から、SFT、LoRA、好みの最適化、評価、およびデプロイメントへと続けます。