本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
反覆訓練
反覆訓練可透過依序鏈結多個訓練技術,為 Amazon Nova 模型開發複雜的訓練管道。此方法可讓您分層不同的自訂方法,以達到精確量身打造的模型。
程序從使用其中一種標準技術 (例如 SFT、PEFT 或 DPO) 訓練 Amazon Nova 模型開始。完成後,您會在指定的 S3 輸出位置找到manifest.json
檔案。此檔案包含指出訓練模型存放位置checkpoint_s3_bucket
的值。
然後,您可以在後續訓練執行中使用此檢查點位置做為 model_name_or_path
參數,以您先前的自訂工作有效為基礎。這會建立漸進式改進鏈,每個訓練階段都會根據您的特定需求進一步精簡模型。
反覆訓練可讓您開發更複雜的訓練管道來調整 Amazon Nova 模型。透過鏈結訓練模組,您可以分層訓練技術,完全根據您的需求自訂模型。
首先使用 中所述的其中一種技術來訓練 Amazon NovaAmazon SageMaker HyperPod 上的 Amazon Nova 自訂 HyperPod。在訓練期間定義的輸出 S3 位置中,找到 manifest.json
檔案。此檔案包含checkpoint_s3_bucket
指出輸出模型定義位置的值。您可以利用此輸出位置做為未來訓練執行中的model_name_or_path
值。
範例
下列範例會逐步執行工作流程,定義 Amazon Nova Lite 模型的監督式微調 (SFT) > SFT > 直接偏好最佳化 (DPO) 反覆訓練執行。首先,您必須定義基礎模型初始 SFT 訓練的執行配方。
## Run config run: name: "my-fullrank-run-sft" # 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" # Base model path, do not change replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://
Path to training data
" # Your training data path output_s3_path: "s3://Path to output data location
" # Output artifact path
此訓練任務將在定義如下的路徑中產生manifest.json
檔案output_s3_path
:
{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}
此檢查點路徑可用於下一個反覆訓練步驟中做為 model_name_or_path
。這樣做會指示訓練使用先前的檢查點作為下一個訓練方法的基礎模型,而不是基礎模型。
範例中的下列步驟定義不同資料集的 SFT 訓練執行,可用於跨各種互動集訓練模型。
## Run config run: name: "my-fullrank-run-sft-2" # 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: "s3://
customer-escrow-bucket-unique_id/my-fullrank-run-sft-unique id
/outputs/checkpoints" # Model checkpoint after 1st SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2
" # Customer data path output_s3_path: "s3://Path to output data location
" # Output artifact path
如同第一個訓練集,這會在輸出位置輸出類似的manifest.json
檔案:
{"checkpoint_s3_bucket":"s3://<escrow bucket>/<job id>/outputs/checkpoints"}
然後,您可以使用 DPO 做為上次反覆訓練執行的最終輸入:
## Run config run: name: "my-fullrank-run-dpo" # 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: "s3://
customer-escrow-bucket-unique_id/my-fullrank-run-sft-2-unique id
/outputs/checkpoints" # Model checkpoint after 2nd SFT run replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "s3://Path to training data #2
" # Your training data path output_s3_path: "s3://Path to output data location
" # Output artifact path
此反覆訓練管道任何步驟的輸出也可用於推論或評估,以檢查模型在整個過程中的進度,以確保它與所需的輸出融合。
限制
反覆訓練可以任何順序使用任何可用的訓練方法執行,針對您需要的反覆次數,以達到所需的結果。反覆訓練時,模型和技術 (與 LoRA PEFT 相比為完整排名) 必須保持一致。例如,如果您嘗試在 LoRA PEFT 訓練後以完整排名微調反覆訓練,訓練任務會擲回錯誤。同樣地,如果您想要在 Amazon Nova Micro 檢查點之外定義 Amazon Nova Lite 訓練任務,您將會收到錯誤。