本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
上下文平行
內容平行程度是一種模型平行處理原則,會沿著序列維度分割模型啟動。與其他序列平行處理原則LayerNorm
和RMSNorm
,內容平行處理原則會分割沿序列維度的網路輸入和所有中間啟動。
SMPv2 與變壓器引擎
Hugging Face 變壓器型號與SMP專業平行性兼容
SMPv2 目前為以下 Hugging Face 變壓器型號提供上下文平行性支援。
-
GPT-尼歐克斯
-
美洲駝 2 和駱駝 3
設定專家平行處理
將設定context_parallel_degree parameter
為平均除以叢集GPUs中的數目的值。例如,如果您有 8 個GPU執行個體,請使用 2、4 或 8 做為context_parallel_degree
。我們建議從較小的context_parallel_degree
值開始,然後逐漸增加它,直到模型符合所需輸入序列長度的GPU記憶體。
下列程式碼片段說明如何將SMP初始化模組新增torch.sagemaker.init()
至訓練指令碼,並在遵循中介紹的兩個步驟程序時,以訓練工作啟動器的JSON格式設定組SMP態字典。開始使用 SageMaker 模型平行程式庫 v2您不需要對 PyTorch 模型或PyTorch FSDPcontext_parallel_degree
參數的詳細資訊,請參閱 SMPv2 核心功能配置參數。
在您的訓練指令碼中
作為步驟 1 的一部分,請使用啟動 SMP v2 torch.sagemaker.init()
來初始化您的指令碼,並使用 torch.sagemaker.transformAPI.
import torch.sagemaker as tsm tsm.init() from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_config(..) model = tsm.transform(model)
SMP配置
在步驟 2 中,將下列參數新增至 SageMaker PyTorch 估算器的SMP組態字典中。
{ ..., # other SMP config parameters "context_parallel_degree": 2 }