

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 持續訓練前和中訓練
<a name="nova-forge-cpt"></a>

**注意**  
訂閱後會提供詳細文件

Nova Forge CPT 提供超越標準 CPT 的進階功能，包括存取中繼檢查點，以及與 Nova 訓練前 corpus 混合的資料。這些功能可更有效率地調整網域，並更好地保留模型的一般功能。

## 什麼是中繼檢查點？為什麼需要中繼檢查點？
<a name="nova-forge-cpt-checkpoints"></a>

中繼檢查點是在模型達到其最終生產就緒狀態之前，儲存在訓練前不同階段的 Amazon Nova 模型快照。在模型開發期間，Amazon Nova 會經歷多個訓練階段：具有持續學習率的初始預先訓練、學習率逐步下降、內容延伸訓練，以及最後的指示遵循一致性和安全性訓練。對於 CPT，中繼檢查點通常比最終產品檢查點更喜歡，因為它們更可整形且接受網域適應。Prod 檢查點經過廣泛的指示遵循一致性和安全性訓練，可最佳化模型以供一般對話使用，但可以在 CPT 期間防止學習新的領域特定模式。相反地，部分和完全預先訓練的純文字檢查點會保留模型的預先訓練特性。它們尚未嚴重轉向特定行為，使它們更有效率地開始適應網域。執行大規模 CPT (>10B 權杖） 時，從中繼檢查點開始，通常會產生更快的收斂、更好的訓練穩定性，以及更有效的領域知識取得。不過，對於小規模 CPT (<10B 權杖），或需要保留指示遵循功能時，Prod 檢查點可能更適合，因為它允許網域適應，同時維持模型的對話能力。

CPT 需要多個中繼檢查點，因為它們提供不同層級的模型可塑性，影響模型吸收新領域知識的效率。最終產品檢查點已經過廣泛的指示遵循一致性和安全性訓練，可將其最佳化以供一般對話使用，但可抵禦學習新的領域特定模式。換句話說，它已透過訓練後強化。相反地，較舊的檢查點會保留模型的預先訓練特性，並且尚未嚴重轉向特定行為，使它們更具可塑性且接受網域適應性。

為了獲得最佳訓練效率，提供了多個中繼檢查點。

## 有哪些檢查點可用？
<a name="nova-forge-cpt-available"></a>

**新版本 2.0**  
有三個 Amazon Nova Lite 2.0 檢查點。
+ PRE-TRAINED - 【`nova-lite-2/pretraining-text-RD`】：這是 Amazon Nova 預先訓練的持續學習率和漸進階段之後的檢查點，其中模型是以數兆個字符進行訓練。
+ MID-TRAINED - 【`nova-lite-2/pretraining-text-CE`】：此檢查點允許以比預先訓練更保守的學習速率引入中繼量的非結構化資料，吸收特定領域的知識，同時避免災難性忘記。
+ POST-TRAINED - 【`nova-lite-2/prod`】：這是模型完全對齊的最終檢查點，已經過所有相關和訓練後步驟。

下表詳細說明訓練前和中訓練的不同條件。


| 資料類型 | 執行 | 使用檢查點 | 
| --- |--- |--- |
| 大規模的非結構化原始網域資料 （文件、日誌、文章、程式碼等） | 持續預先訓練 | 預先訓練 | 
| 大規模的非結構化原始網域資料 （文件、日誌、文章、程式碼等） | 中階訓練 | 預先訓練 | 
| 少量的非結構化原始資料。結構化推理追蹤/CoT 資料 | 中階訓練 | 中階訓練 | 
| 結構化示範 （高品質輸入輸出對、策劃的任務指示、多迴轉對話） | 完整微調 | 中階訓練 | 
| 結構化示範 （高品質輸入輸出對、策劃的任務指示、多迴轉對話） | 參數高效率微調 | 訓練後 | 

## 要使用哪個檢查點？
<a name="nova-forge-cpt-which"></a>

部分預先訓練的純文字和完全預先訓練的純文字檢查點通常會收斂得更快，並且需要較少的訓練步驟才能進行網域調整。不過，他們沒有指令調校，需要經過訓練後步驟，才能執行有用的任務並遵循指示。GA 檢查點可能需要更多步驟來調整，但為小規模實驗提供更安全的起點，即使經過 CPT 訓練，也會在訓練功能後維持其中一部分。

一般而言，對於大型訓練資料集 (>10B 權杖），從僅部分預先訓練的文字或完全預先訓練的文字僅檢查點開始，以獲得更有效率且穩定的訓練，因為模型的知識庫將會大幅修改。對於小型資料集 (<10B 權杖），請使用 GA 檢查點來保留指示遵循功能，同時適應網域。

## 如何使用 Nova 2.0 的資料混合？
<a name="nova-forge-cpt-mixing"></a>

使用新的網域資料執行 CPT 時，將新資料與先前在模型的訓練前階段使用的一些資料混合使用會非常有益。將舊資料與新網域資料混合可解決兩個問題：
+ 忘記控制：保留模型的現有技能和知識，以防止災難性忘記。如果沒有資料混合，僅在窄域資料上進行訓練會導致模型覆寫一般功能。例如，僅根據法律文件訓練的模型可能會失去其編寫程式碼或執行數學的能力。混合一般網域資料集可保留這些一般技能，同時取得新網域。
+ 最佳化穩定性：透過錨定模型的內部表示來維持訓練穩定性。在 CPT 期間，修改模型學習到的功能，資料混合提供來自不同來源的漸層，可順暢地引導此適應。如果沒有它，在窄分佈上進行訓練可能會導致梯度不穩定，其中模型的表示式移動太大，導致訓練差異、損失峰值或現有功能摺疊。這是穩定性-持久性權衡：模型應足夠可整形，以學習新的領域知識，但足夠穩定，不會破壞其已知的內容。

**新 CPT 資料混合功能**  
存取 Amazon Nova 預先訓練資料和檢查點是 Amazon Nova CPT 自訂的核心產品之一。Amazon Nova CPT 自訂可讓您輕鬆混合網域資料與 Amazon Nova 的預先訓練 corpus。此外，可以變更特定 Amazon Nova 資料類別 （例如程式碼、數學、推理等） 的取樣率，以及其控制成補充網域資料的比例。這允許強化與使用案例一致的功能，同時將模型調整為特定網域。

**尋找最佳混合比率**  
Amazon Nova 資料與網域資料的最佳比率取決於資料集的網域、複雜性、大小、品質，以及維護一般功能的重要性。必須透過實驗探索此比率。決定要混合多少 Amazon Nova 資料的實驗架構如下。

選取代表性的網域資料子集 （例如 5B 字符），並在所有實驗執行中保持此常數。

執行小規模 CPT 實驗只會改變混合於以下項目的 Amazon Nova 資料量：
+ 不混合：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。

## 解析資料混合類別
<a name="nova-forge-cpt-data-mixing-categories"></a>

在下面，我們剖析資料混合中的每個可用類別，以便您最佳地決定哪些資料類別在整體資料混合中呈現最有意義。

### 如何啟用資料混合
<a name="nova-forge-cpt-enable-mixing"></a>

使用跨資料集類別的適當百分比分佈，將 `data_mixing`區段新增至您的配方。`nova_data` 百分比的總和必須為 100。

#### Nova 2.0 組態與資料混合
<a name="nova-forge-cpt-nova2-config"></a>

```
# 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 `reasoning-code`1.0 中使用的其他推理特定類別 （例如 `reasoning-math`、、`reasoning-instruction-following`)。

類別和資訊標籤摘要：


| 類別名稱 | 資訊詳細資訊 | 
| --- | --- | 
| agents | 在 AI 系統中專注於自動決策、任務完成和目標導向行為的訓練資料 | 
| baseline | 專注於一般理解、基本溝通和核心語言功能的基本語言資料 | 
| chat | 顯示自然對話流程、內容維護和適當社交互動的對話交流 | 
| code | 來自各種程式設計語言和平台的程式設計原始程式碼、文件和技術討論。 | 
| factuality | 著重於準確性、來源驗證和事實評估的參考資料和已驗證資訊 | 
| identity | 專注於一致角色特徵、值和互動風格的人格架構和行為模式 | 
| long-context | 延伸文字和複雜的敘述，著重於在冗長的交換之間維持一致性和相關性 | 
| math | 數學內容，包括教科書、問題、解決方案和數學討論。 | 
| rai | 強調道德 AI 原則、安全考量和負責任技術部署的案例和案例 | 
| instruction-following | 根據不同層級的使用者提示和指示詞，精確執行任務的範例 | 
| stem | 涵蓋科學、技術、工程和數學的技術內容，包括解決問題和理論概念 | 
| planning | 顯示策略思維、step-by-step任務明細和高效資源分配的序列 | 
| reasoning-chat | 專注於邏輯討論和結構化對話流程的分析對話案例 | 
| reasoning-code | 專注於系統化解決方案開發的程式設計挑戰和演算法問題 | 
| reasoning-factuality | 著重於關鍵評估和驗證程序的資訊評估案例 | 
| reasoning-instruction-following | 專注於系統化解譯和系統化執行的複雜任務分析 | 
| reasoning-math | 專注於邏輯進展和解決方案策略的數學問題解決案例 | 
| reasoning-planning | 專注於實現目標的系統性方法的策略決策案例 | 
| reasoning-rag | 著重於情境理解和相關應用程式的資訊擷取和合成案例 | 
| reasoning-rai | 專注於系統性評估 AI 安全和公平性的道德決策案例 | 
| reasoning-stem | 專注於系統分析和解決方案開發的科學問題解決案例 | 
| rag | 有效結合擷取的外部知識與產生的回應，以提供準確、情境式資訊的範例 | 
| translation | 多語言內容對顯示準確的翻譯，同時保留內容、色調和文化細微差別 | 

#### 參數指南
<a name="nova-forge-cpt-param-guide"></a>
+ **dataset\_catalog：**使用 從 FSx `cpt_text_lite`讀取精選資料 （預設）`cpt_text_lite_s3`，或從 Amazon S3 串流精選資料並降低儲存成本。如需詳細資訊，請參閱[從 Amazon S3 串流訓練資料以降低儲存成本](#nova-forge-cpt-s3-catalog)。
+ **nova\_data：**混合時 Nova 資料的個別類別百分比。它們應該加到 1.0。
+ **customer\_data**：混入 Nova 資料的客戶資料百分比。

訓練中使用的字符總數可從 `max_length` \* `global_batch_size` \* 計算 `max_steps`

## 從 Amazon S3 串流訓練資料以降低儲存成本
<a name="nova-forge-cpt-s3-catalog"></a>

當您執行持續的預先訓練 (CPT) 任務時，Nova Forge 預設會從 FSx for Lustre 檔案系統讀取 Amazon 策劃的訓練資料。完整策劃的 corpus 很大，讓它駐留在 FSx 上會增加您的訓練儲存成本。

您可以選擇加入在訓練期間從 Amazon S3 串流精選訓練資料的替代資料配置。您的 FSx 檔案系統仍會用於您自己的資料集、檢查點和任務輸出，但策劃的訓練資料會隨需直接從 S3 讀取。這會從您的 FSx 儲存體使用量中移除精選資料集，並可大幅降低 CPT 任務的儲存成本，尤其是長時間執行的訓練執行。

策劃的資料、混合比率和資料集合成與預設目錄相同。只有來源位置會變更。

### 要求
<a name="nova-forge-cpt-s3-catalog-requirements"></a>
+ 您的訓練 RIG 必須在 **2026 年 3 月 1** 日當天或之後建立。在該日期之前建立RIGs 不包含從 S3 串流精選訓練資料所需的元件。如果您的 RIG 較舊，請重新建立它以使用此功能。
+ 此功能目前適用於與 Amazon Nova Lite 搭配使用的文字目錄。其他目錄不符合資格。

### 在配方中啟用 S3-backed培訓資料
<a name="nova-forge-cpt-s3-catalog-enable"></a>

在 CPT 配方的 `data_mixing`區段中，`dataset_catalog`將 變更為 `cpt_text_lite_s3`。配方中的所有其他項目保持不變。

```
run:
  name: my-cpt-run
  model_type: amazon.nova-2-lite-v1:0:256k
  model_name_or_path: nova-lite-2/prod
  replicas: 4
  data_s3_path: s3://my-bucket/my-dataset
  output_s3_path: s3://my-bucket/my-output

training_config:
  task_type: cpt
  max_length: 8192
  global_batch_size: 32
  save_steps: 1000
  trainer:
    max_steps: 5000
  optim:
    lr: 1.0e-05

data_mixing:
  dataset_catalog: cpt_text_lite_s3   # stream curated data from S3
  sources:
    customer_data:
      percent: 25
```

使用與任何其他 CPT 配方相同的工作流程提交任務。Nova Forge 會在訓練設定期間處理 S3 資料串流，而您不需要額外的組態。

### 預期事項
<a name="nova-forge-cpt-s3-catalog-expectations"></a>
+ 每個任務的前幾分鐘都包含簡短的資料準備階段，而 Nova Forge 會解析您區域的資料配置。此階段是每個任務一次。
+ 訓練步驟輸送量與預設 FSx 支援的目錄相當。資料載入與訓練平行執行，因此 S3 串流不會在穩定狀態訓練期間成為瓶頸。
+ 您自己的訓練資料 （您透過 提供的資料集`data_s3_path`) 會繼續暫存在 FSx 上，不受此設定影響。

### 限制
<a name="nova-forge-cpt-s3-catalog-limitations"></a>
+ 此功能僅適用於 Amazon Nova Lite 上的文字目錄。`cpt_text_lite_s3` 搭配其他模型或任務類型使用 會導致任務提交時發生無效的目錄錯誤。
+ 不支援變更`dataset_catalog`中途執行。在任務提交時間進行設定。

### 回到預設目錄
<a name="nova-forge-cpt-s3-catalog-fallback"></a>

如果您想要隨時還原至預設的 FSx 常駐目錄，請在配方`dataset_catalog: cpt_text_lite`中設定 。不需要其他變更。

**限制**  
目前的 CPT 僅支援文字資料，不支援任何客戶多模態資料集。