事前トレーニングと中間トレーニングの継続 - Amazon Nova

事前トレーニングと中間トレーニングの継続

注記

詳細なドキュメントは、サブスクライブ後に提供されます。

Nova Forge CPT は、中間チェックポイントへのアクセスや Nova の事前トレーニングコーパスとのデータミキシングなど、標準 CPT を超える高度な機能を提供します。これらの機能により、ドメイン適応が効率化され、モデルの一般的な機能の保持が向上します。

中間チェックポイントとは何か/なぜそれが必要か

中間チェックポイントは、モデルが最終的な本番環境対応状態に達する前に、事前トレーニングのさまざまなステージで保存された Amazon Nova モデルのスナップショットです。モデル開発中、Amazon Nova は、一定の学習率による初期事前トレーニング、学習率のランプダウン、コンテキスト拡張トレーニング、指示追従型の最後の調整と安全トレーニングという複数のトレーニングフェーズを経ます。CPT の場合、中間チェックポイントは、可塑性が高く、ドメイン適応を受容できるため、最終的な Prod チェックポイントよりも望ましいことがよくあります。Prod チェックポイントは、指示追従型の広範な調整と安全トレーニングを経ています。これにより、一般的な会話用途に合わせてモデルを最適化できますが、CPT 中に新しいドメイン固有のパターンを学習することに抵抗する可能性があります。対照的に、部分的および完全に事前トレーニングされたテキストのみのチェックポイントは、モデルの事前トレーニング特性を保持します。特定の動作に大きく誘導されていないため、ドメイン適応の開始点がより効率的になります。大規模な CPT (10B トークン超) を実行する場合、中間チェックポイントから開始すると、通常、収束が速くなり、トレーニングの安定性が向上し、ドメイン知識の取得がより効果的になります。ただし、小規模な CPT (10B トークン未満) の場合、または指示追従型機能を保持する必要がある場合は、モデルの会話能力を維持しながらドメイン適応を可能にするため、Prod チェックポイントの方が適切である可能性があります。

CPT には複数の中間チェックポイントが必要です。これは、モデルが新しいドメイン知識をどの程度効率的に吸収できるかに影響する、さまざまなレベルのモデル可塑性を提供するためです。最終的な Prod チェックポイントは、指示追従型の広範な調整と安全トレーニングを受けており、一般的な会話用途向けに最適化されていますが、新しいドメイン固有のパターンの学習には耐性があります。つまり、事後トレーニングによって強化されています。対照的に、以前のチェックポイントは、モデルの事前トレーニングの特性を保持し、特定の動作に大きく誘導されていないため、可塑性が高く、ドメイン適応を受容できます。

最適なトレーニング効率を実現するために、複数の中間チェックポイントが用意されています。

どのようなチェックポイントを利用できるか

Nova 1.0

Amazon Nova 1.0 ファミリーには 3 つのモデル (Micro、Lite、Pro) があり、各モデルで 3 つのチェックポイントを使用できます。

  • 事前トレーニング済み - [nova-<micro/lite/pro>/pretraining-text-partial]: これは、Amazon Nova 事前トレーニングの一定の学習率のステージの後のチェックポイントで、モデルは数兆のテキストトークンでトレーニングされます。

  • 中間トレーニング済み - [nova-<micro/lite/pro>/pretraining-text-full]: これは、数兆のテキストトークンを使用した Amazon Nova の事前トレーニングと中間トレーニングのすべてのステージが完了した後のテキストのみのチェックポイントです。モデルが特にマルチモーダルデータを表示すべきではない場合に使用します。

  • 中間トレーニング済み - [nova-<lite/pro>/pretraining-mm-full]: これは、数兆のトークンを使用した、マルチモーダルデータを含む Amazon Nova の事前トレーニングと中間トレーニングのすべてのステージが処理された後のチェックポイントです。

  • 事後トレーニング済み - [nova-<micro/lite/pro>/prod]: これは、事前トレーニングと事後トレーニングのすべてのステップを経たモデルの完全に調整された最終チェックポイントです。

Nova 2.0

Amazon Nova Lite 2.0 チェックポイントは 3 つあります。

  • 事前トレーニング済み - [nova-lite-2/pretraining-text-RD]: これは、Amazon Nova 事前トレーニングの一定の学習率およびランプダウンステージの後のチェックポイントで、モデルは数兆のトークンでトレーニングされます。

  • 中間トレーニング済み - [nova-lite-2/pretraining-text-CE]: このチェックポイントでは、事前トレーニングよりも控えめな学習率で中間量の非構造化データを導入し、壊滅的な忘却を回避しながらドメイン固有の知識を吸収できます。

  • 事後トレーニング済み - [nova-lite-2/prod]: これは、事前トレーニングと事後トレーニングのすべてのステップを経たモデルの完全に調整された最終チェックポイントです。

次の表では、事前トレーニングと中間トレーニングのさまざまな条件について詳しく説明しています。

データタイプ

実行

使用チェックポイント

大規模な非構造化 raw ドメインデータ (ドキュメント、ログ、記事、コードなど)

継続的な事前トレーニング

事前トレーニング済み

大規模な非構造化 raw ドメインデータ (ドキュメント、ログ、記事、コードなど)

中間トレーニング

事前トレーニング済み

少量の非構造化 raw データ。構造化推論トレース/CoT データ

中間トレーニング

中間トレーニング済み

構造化デモンストレーション (高品質の入出力ペア、厳選されたタスク手順、マルチターン対話)

フルファインチューニング

中間トレーニング済み

構造化デモンストレーション (高品質の入出力ペア、厳選されたタスク手順、マルチターン対話)

パラメータ効率の高いファインチューニング

事後トレーニング済み

どのチェックポイントを使用するか

部分的に事前トレーニングされたテキストのみ、および完全に事前トレーニングされたテキストのみのチェックポイントは、通常、より速く収束し、ドメイン適応のためのトレーニングステップが少なくなります。ただし、インストラクションチューニングがないため、有用なタスクを実行して指示に従うには、事後トレーニングのステップを実行する必要があります。GA チェックポイントは、適応するためにより多くのステップが必要になる場合がありますが、小規模な実験のためのより安全な出発点を提供し、CPT トレーニング後も事後トレーニング機能の一部を維持します。

一般に、大規模なトレーニングデータセット (10B トークン超) では、モデルのナレッジベースが大幅に変更されるため、より効率的で安定したトレーニングを行うために、部分的に事前トレーニングされたテキストのみ、または完全に事前トレーニングされたテキストのみのチェックポイントから開始します。小規模なデータセット (10B トークン未満) では、GA チェックポイントを使用して、ドメインに適応しながら指示追従型機能を維持します。

1.0 または 2.0 モデルでデータミキシングを使用する方法

新しいドメインデータで CPT を実行する場合、新しいデータと、モデルの事前トレーニングステージで以前に使用されたデータの一部を混合することが非常に有益です。古いデータと新しいドメインデータを混合させると、次の 2 つの問題が解決します。

  • 忘却の制御: モデルの既存のスキルと知識を維持することで、壊滅的な忘却を防止します。データミキシングがない場合、狭いドメインデータでのみトレーニングすると、モデルは一般的な機能を上書きしてしまいます。例えば、法的文書に基づいてのみトレーニングされたモデルは、コーディングや数学を行う機能を失う可能性があります。一般的なドメインデータセットを混合させると、新しいドメインを取得しながら、これらの一般的なスキルが維持されます。

  • 最適化の安定性: モデルの内部表現を固定することで、トレーニングの安定性を維持します。CPT 中、モデルの学習された機能は変更され、データミキシングは、この適応をスムーズに導くさまざまなソースからの勾配を提供します。そうしないと、狭い分布でのトレーニングにより勾配が不安定になり、モデルの表現が急激に変化して、トレーニングの発散、損失の急増、既存の機能の崩壊につながる可能性があります。これは安定性と可塑性のトレードオフです。モデルは、新しいドメインの知識を学習するのに十分な可塑性がある一方で、既にわかっていることを壊さないほど安定している必要があります。

Nova CPT データミキシング機能

Amazon Nova の事前トレーニングデータとチェックポイントへのアクセスは、Amazon Nova CPT カスタマイズの中核となるサービスの一つです。Amazon Nova CPT カスタマイズにより、ドメインデータを Amazon Nova の事前トレーニングコーパスと簡単に混合させることができます。さらに、特定の Amazon Nova データカテゴリ (コード、数学、推論など) のサンプリング比率を変更し、ドメインデータを補完するようにその割合を制御できます。これにより、モデルを特定のドメインに適応させながら、ユースケースに沿った機能を強化できます。

最適な混合比率の特定

Amazon Nova データとドメインデータの最適な比率は、データセットのドメイン、複雑さ、サイズ、品質、一般的な機能を維持することの重要性によって異なります。この比率は、実験を通じて見つけ出す必要があります。混合する Amazon Nova データの量を決定するための実験フレームワークは次のとおりです。

ドメインデータの代表的なサブセット (5B トークンなど) を選択し、すべての実験実行でこの定数を維持します。

混合する Amazon Nova データの量のみ変化する、小規模な CPT 実験を実行します。

  • 混合なし: 100% ドメイン → 5B ドメインのみ (合計 5B)

  • 軽度の混合: 90% ドメイン → 5B ドメイン + 約 0.56B Amazon Nova (合計約 5.56B)

  • 中程度の混合: 70% ドメイン → 5B ドメイン + 約 2.14B Amazon Nova (合計約 7.14B)

  • 重度の混合: 50% ドメイン → 5B ドメイン + 5B Amazon Nova (合計 10B)

ドメインおよび一般的なドメインベンチマークで各チェックポイントを評価します。また、開始チェックポイント (トレーニング前の Amazon Nova チェックポイント) も評価します。

  • カスタマードメインのパフォーマンスは、実行間でほぼ一定に保たれていますか。各実行で同じ数のドメイントークンを見ているため、通常は一定のはずです。混合が増えることでドメインのパフォーマンスが向上する場合、Amazon Nova データは有用な正則化を提供します。

  • 混合が増加するにつれて、一般的なベンチマークスコアは向上しますか。

    • 期待される動作は、Amazon Nova データが追加されるにつれて、一般的な機能が単調に改善されることです。

    • MMLU (一般的な知識)、HumanEval (コーディング)、GSM8K (数学)、または関心のある特定のベンチマークなど、複数の一般的なベンチマークを測定します。

  • ユースケースで許容可能な一般的な機能を提供しながら、ドメインのパフォーマンスを維持する混合比率を選択します。より多くのデータミキシングによるトレーニングの追加コストを考慮します。

最適な混合比率を特定したら、選択した混合比率で完全なドメインデータセットを使用してフルスケール CPT を実行します。

データミキシングカテゴリの分析

以下では、データミキシングで使用可能な各カテゴリを分析します。これにより、データミキシング全体でどのデータカテゴリを示すのが最も理にかなっているかを的確に判断できます。

データミキシングを有効にする方法

データセットカテゴリ間で適切な割合配分を指定して、レシピに data_mixing セクションを追加します。nova_data の割合の合計は 100 にする必要があります。

データミキシングを使用した Nova 1.0 設定

run: name: "cpt-job-name" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "nova-lite/prod" replicas: 4 data_s3_path: "s3://path/to/data/xyz.jsonl" output_s3_path: "s3://path/to/output/checkpoint" skip_recipe_validation: true training_config: max_length: 32768 global_batch_size: 64 trainer: max_steps: 5000 model: hidden_dropout: 0.1 attention_dropout: 0.1 ffn_dropout: 0.1 optim: lr: 1.5e-05 name: distributed_fused_adam adam_w_mode: true eps: 1.0e-06 weight_decay: 0.05 betas: - 0.9 - 0.999 sched: warmup_steps: 500 constant_steps: 0 min_lr: 1.5e-06 data_mixing: dataset_catalog: cpt_text_lite sources: nova_data: en-entertainment: 0.11% en-factual: 4.83% en-legal: 0.48% en-long-form-text: 6.26% en-mined: 16.79% en-other: 1.79% en-scientific: 10.53% en-social: 12.43% en-techqa: 13.95% code: 7.50% high-util-lang: 8.05% low-util-lang: 6.51% math: 8.76% en-finance: 1% tables: 1% customer_data: percent: 90

これらのカテゴリの意味

カテゴリ名 情報の詳細
en-entertainment ビデオトランスクリプト、ゲームダイアログ、エンターテインメントに焦点を当てたディスカッションなどのメディアおよびエンターテインメントコンテンツ。
en-factual 正確な情報の伝達に焦点を当てた参考資料、百科事典コンテンツ、教育リソース、事実に基づく文書。
en-finance 市場レポート、経済分析、投資戦略、財務ニュース記事、収益レポート、およびモデルが経済的概念と財務用語を理解するのに役立つその他の金融関連コンテンツを含む金融テキスト。
en-legal 法的文書、裁判手続き、契約、法律、規制、法的分析テキスト。
en-long-form-text 書籍、学術論文、長文記事、その他の実質的なテキスト文書を含む拡張された記述。
en-mined フォーラム、コメント、ディスカッション、一般的なウェブコンテンツなど、さまざまなウェブソースから抽出されたテキストデータを、高いトレーニングパフォーマンスを得られるように書き換えたもの。
en-other 他のカテゴリに明確に当てはまらないさまざまな英語コンテンツ。
en-scientific さまざまな分野の科学論文、研究文書、技術レポート、科学的議論。
en-social ソーシャルメディアの投稿、会話、ディスカッション、その他の形式のソーシャルコミュニケーション。
en-techqa 技術ドキュメント、ユーザーガイド、よくある質問のページ、技術フォーラム、テクノロジーに関連する Q コンテンツ。
code さまざまなプログラミング言語とプラットフォームからのプログラミングソースコード、ドキュメント、技術的議論。
high-util-lang ドイツ語 (DE)、イタリア語 (IT)、スペイン語 (ES)、フランス語 (FR)、ヒンディー語 (HI)、日本語 (JP)、アラビア語 (AR)、ポルトガル語 (PT) など、大量の利用可能なトレーニングデータを含む言語のテキストコンテンツ。
low-util-lang 利用可能なトレーニングデータの量が少ない、追加の音声言語のテキストコンテンツ。
math 教科書、問題、解答、数学的議論を含む数学的コンテンツ。
tables スプレッドシート、データベース、CSV ファイル、統計テーブル、財務レポート、およびモデルが構造化データの関係とパターンを理解し操作するのに役立つその他の行と列で整理された情報を含む、表形式の構造化データ。

データミキシングを使用した Nova 2.0 設定

# Note: # This recipe can run on p5.48xlarge # Run config display_name: "Nova Lite Pretrain on P5 GPU" versions: ["2.0"] instance_types: ["ml.p5.48xlarge"] run: name: "my-cpt-run" # A descriptive name for your training job model_type: "amazon.nova-2-lite-v1:0:256k" # Model variant specification, do not change model_name_or_path: "nova-lite-2/prod" # Base model path, do not change replicas: 8 # Number of compute instances for training, allowed values are 4, 8, 16, 32 data_s3_path: "" # Customer data paths validation_data_s3_path: "" # Customer validation data paths output_s3_path: "" # Output artifact path, SageMaker HyperPod job-specific configuration - not compatible with standard SageMaker Training jobs ## Training specific configs training_config: task_type: cpt max_length: 8192 # Maximum context window size (tokens) global_batch_size: 64 # Global batch size, allowed values are 32, 64, 128, 256. trainer: max_steps: 10 # The number of training steps to run total val_check_interval: 10 # The number of steps between running validation limit_val_batches: 2 # Batches of the validation set to use each trigger model: hidden_dropout: 0.0 # Dropout for hidden states, must be between 0.0 and 1.0 attention_dropout: 0.0 # Dropout for attention weights, must be between 0.0 and 1.0 optim: optimizer: adam lr: 1e-5 # Learning rate name: distributed_fused_adam # Optimizer algorithm, do not change adam_w_mode: true # Enable AdamW mode eps: 1e-06 # Epsilon for numerical stability weight_decay: 0.0 # L2 regularization strength, must be between 0.0 and 1.0 adam_beta1: 0.9 # Beta1 for Adam optimizer adam_beta2: 0.95 # Beta2 for Adam optimizer sched: warmup_steps: 10 # Learning rate warmup steps constant_steps: 0 # Steps at constant learning rate min_lr: 1e-6 # Minimum learning rate, must be lower than lr data_mixing: dataset_catalog: cpt_text_lite sources: nova_data: # percent inputs for Nova data must sum to 100%; use 0% if you want to exclude a data grouping agents: 20 business-and-finance: 4 scientific: 10 code: 5 factual-and-news: 5 longform-text: 6 health-and-medicine: 1 humanities-and-education: 1 legal: 1 math: 9 additional-languages: 15 social-and-personal-interest: 11 entertainment: 0.5 reasoning: 10 other: 0.5 tables: 1 customer_data: # percent input of customer data. 100 = use only customer data, 0 = use only the nova_data mix above percent: 25

これらのカテゴリの意味

: Nova 2.0 には、Nova 1.0 では利用できない追加の推論固有のカテゴリ (reasoning-codereasoning-mathreasoning-instruction-following など) が含まれています。

カテゴリと情報ラベルの概要:

カテゴリ名 情報の詳細
agents AI システムにおける自律的な意思決定、タスクの完了、目標指向の動作に焦点を当てたトレーニングデータ
baseline 一般的な理解、基本的なコミュニケーション、コア言語機能に焦点を当てた基本的な言語データ
chat 自然な対話の流れ、文脈の維持、適切な社会的交流を示す会話のやり取り
code さまざまなプログラミング言語とプラットフォームからのプログラミングソースコード、ドキュメント、技術的議論。
factuality 正確性、ソース検証、真実性評価に焦点を当てた参考資料と検証済み情報
identity 一貫した性格特性、価値観、対話スタイルに焦点を当てたパーソナリティフレームワークと行動パターン
long-context 長いやり取りで一貫性と関連性を維持することに焦点を当てた拡張テキストと複雑な話
math 教科書、問題、解答、数学的議論を含む数学的コンテンツ。
rai 倫理的 AI の原則、安全上の考慮事項、責任あるテクノロジーのデプロイを強調するケースとシナリオ
instruction-following さまざまなレベルのユーザープロンプトとディレクティブに基づく正確なタスク実行の例
stem 問題解決と理論的概念を含む、科学、技術、工学、数学をカバーする技術的コンテンツ
planning 戦略的思考、段階的なタスク分割、効率的なリソース割り当てを示すシーケンス
reasoning-chat 論理的な議論と構造化された会話フローに焦点を当てた分析的な対話シナリオ
reasoning-code 体系的なソリューション開発に焦点を当てたプログラミングの課題とアルゴリズムの問題
reasoning-factuality 重要な評価および検証プロセスに焦点を当てた情報評価シナリオ
reasoning-instruction-following 体系的な解釈と系統的な実行に焦点を当てた複雑なタスク分析
reasoning-math 論理的な進行とソリューション戦略に焦点を当てた数学的問題解決シナリオ
reasoning-planning 目標の達成に向けた体系的なアプローチに焦点を当てた戦略的意思決定シナリオ
reasoning-rag コンテキスト理解と関連するアプリケーションに焦点を当てた情報の取得と合成のシナリオ
reasoning-rai AI の安全性と公平性の体系的な評価に焦点を当てた倫理的意思決定シナリオ
reasoning-stem 系統分析とソリューション開発に焦点を当てた科学的問題解決シナリオ
rag 取得した外部知識と生成されたレスポンスを効果的に組み合わせて、正確でコンテキストに応じた情報を提供する例
translation コンテキスト、トーン、文化的なニュアンスを維持しながら正確な翻訳を示す多言語コンテンツペア

パラメータガイド

  • dataset_catalog: マルチモーダルトレーニングを有効にするまでは、cpt_text_lite が唯一の値です。

  • nova_data: 混合時の Nova データの個々のカテゴリの割合。合計して 1.0 になる必要があります。

  • customer_data: Nova データに混合されるお客さまのデータの割合。

トレーニングで使用されるトークンの合計数は、max_length * global_batch_size * max_steps で計算できます。

制限事項

現在の CPT はテキストデータのみをサポートし、お客様のマルチモーダルデータセットはサポートしていません。