選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

一般組態

焦點模式
一般組態 - Amazon SageMaker AI

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

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

config.yaml 檔案會指定訓練配方和叢集。它還包括執行期組態,例如訓練任務的環境變數。

defaults: - _self_ - cluster: slurm - recipes: training/llama/hf_llama3_8b_seq8192_gpu instance_type: p5.48xlarge git: repo_url_or_path: null branch: null commit: null entry_script: null token: null env_vars: NCCL_DEBUG: WARN

您可以在 中修改下列參數config.yaml

  1. defaults:指定您的預設設定,例如預設叢集或預設配方。

  2. instance_type:修改 Amazon EC2 執行個體類型,以符合您正在使用的執行個體類型。

  3. git:指定訓練任務的 SageMaker HyperPod 配方轉接器儲存庫位置。

  4. env_vars:您可以指定要傳遞至執行期訓練任務的環境變數。例如,您可以透過指定 NCCL_DEBUG 環境變數來調整 NCCL 的記錄層級。

配方是定義訓練任務架構的核心組態。此檔案包含訓練任務的許多重要資訊,例如:

  • 是否使用模型平行處理

  • 資料集的來源

  • 混合精確度訓練

  • 檢查點相關組態

您可以正常使用配方。您也可以使用下列資訊來修改它們。

run

以下是執行訓練任務的基本執行資訊。

run: name: llama-8b results_dir: ${base_results_dir}/${.name} time_limit: "6-00:00:00" model_type: hf
  1. name:在組態檔案中指定訓練任務的名稱。

  2. results_dir:您可以指定訓練任務結果存放所在的目錄。

  3. time_limit:您可以為訓練任務設定最長訓練時間,以防止其佔用硬體資源太長。

  4. model_type:您可以指定正在使用的模型類型。例如,您可以指定hf模型是否來自 HuggingFace。

exp_manager

exp_manager 會設定實驗。使用 exp_manager,您可以指定欄位,例如輸出目錄或檢查點設定。以下是如何設定 exp_manager 的範例。

exp_manager: exp_dir: null name: experiment create_tensorboard_logger: True
  1. exp_dir:實驗目錄包含訓練任務的標準輸出和標準錯誤檔案。根據預設,它會使用您目前的目錄。

  2. name:用於在 exp_dir 下識別實驗的實驗名稱。

  3. create_tensorboard_logger:指定 TrueFalse 以啟用或停用 TensorBoard 記錄器。

檢查點

以下是我們支援的三種檢查點類型:

  • 自動檢查點

  • 手動檢查點

  • 完整檢查點

自動檢查點

如果您要儲存或載入由 SageMaker HyperPod 配方轉接器自動管理的檢查點,您可以啟用 auto_checkpoint。若要啟用 auto_checkpoint,請將 enabled設定為 True。您可以對訓練和微調使用自動檢查點。您可以對共用檔案系統和 Amazon S3 使用自動檢查功能。

exp_manager checkpoint_dir: ${recipes.exp_manager.exp_dir}/checkpoints/ auto_checkpoint: enabled: True

自動檢查點會以非同步方式儲存 local_state_dict,並自動計算最佳儲存間隔。

注意

在此檢查點模式下,自動儲存的檢查點不支援在訓練執行之間重新分片。若要從最新的自動儲存檢查點繼續,您必須保留相同的碎片度。您不需要指定額外資訊即可自動繼續。

手動檢查點

您可以修改 checkpoint_callback_params以非同步方式將中繼檢查點儲存在 shared_state_dict 中。例如,您可以指定下列組態,以每 10 個步驟啟用碎片檢查點,並保留最新的 3 個檢查點。

碎片檢查點可讓您在訓練執行之間變更碎片度,並透過設定 載入檢查點resume_from_checkpoint

注意
  • 如果 是 PEFT 微調,碎片檢查點不支援 Amazon S3。

  • 自動和手動檢查點是互斥的。

  • 僅允許 FSDP 碎片度和複寫度變更。

exp_manager: checkpoint_callback_params: # Set save_top_k = 0 to disable sharded checkpointing save_top_k: 3 every_n_train_steps: 10 monitor: "step" mode: "max" save_last: False resume_from_checkpoint: ${recipes.exp_manager.exp_dir}/checkpoints/

若要進一步了解檢查點,請參閱 使用 SMP 進行檢查點

完整檢查點

匯出的 full_state_dict 檢查點可用於推論或微調。您可以透過 hf_model_name_or_path 載入完整的檢查點。在此模式下,只會儲存模型權重。

若要匯出 full_state_dict 模型,您可以設定下列參數。

注意

Amazon S3 檢查點目前不支援完整檢查點。exp_manager.checkpoint_dir 如果您啟用完整檢查點,則無法設定 的 S3 路徑。不過,您可以將 exp_manager.export_full_model.final_export_dir設定為本機檔案系統上的特定目錄,同時將 exp_manager.checkpoint_dir設定為 Amazon S3 路徑。

exp_manager: export_full_model: # Set every_n_train_steps = 0 to disable full checkpointing every_n_train_steps: 0 save_last: True final_export_dir : null

模型

定義模型架構和訓練程序的各個層面。這包括模型平行處理、精確度和資料處理的設定。以下是您可以在模型區段中設定的關鍵元件:

模型平行處理

指定配方後,您可以定義正在訓練的模型。您也可以定義模型平行處理。例如,您可以定義 tensor_model_parallel_degree。您可以啟用其他功能,例如使用 FP8 精確度進行訓練。例如,您可以訓練具有張量平行處理和內容平行處理的模型:

model: model_type: llama_v3 # Base configs train_batch_size: 4 val_batch_size: 1 seed: 12345 grad_clip: 1.0 # Model parallelism tensor_model_parallel_degree: 4 expert_model_parallel_degree: 1 context_parallel_degree: 2

若要進一步了解不同類型的模型平行處理技術,您可以參考下列方法:

FP8

若要啟用 FP8 (8 位元浮點精確度),您可以在下列範例中指定 FP8-related組態:

model: # FP8 config fp8: True fp8_amax_history_len: 1024 fp8_amax_compute_algo: max

請務必注意,FP8 資料格式目前僅支援 P5 執行個體類型。如果您使用的是較舊的執行個體類型,例如 P4,請停用模型訓練程序的 FP8 功能。如需 FP8 的詳細資訊,請參閱混合精確度訓練

資料

您可以在資料下新增資料路徑,以指定訓練任務的自訂資料集。我們系統中的資料模組支援下列資料格式:

  1. JSON

  2. JSONGZ (壓縮 JSON)

  3. ARROW

不過,您必須負責準備自己的預先加密資料集。如果您是具有特定需求的進階使用者,也可以選擇實作和整合自訂資料模組。如需 HuggingFace 資料集的詳細資訊,請參閱資料集

model: data: train_dir: /path/to/your/train/data val_dir: /path/to/your/val/data dataset_type: hf use_synthetic_data: False

您可以指定訓練模型的方式。根據預設,配方會使用預先訓練,而非微調。下列範例會將配方設定為使用 LoRA 執行微調任務 (低排名調整)。

model: # Fine tuning config do_finetune: True # The path to resume from, needs to be HF compatible hf_model_name_or_path: null hf_access_token: null # PEFT config peft: peft_type: lora rank: 32 alpha: 16 dropout: 0.1

如需配方的相關資訊,請參閱 SageMaker HyperPod 配方

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。