Transformers
加入 Hugging Face 社群
並獲得增強的文件體驗
DeepSpeed
DeepSpeed由零冗餘最佳化器(ZeRO)提供支援,是一個最佳化庫,用於在GPU上訓練和適配非常大的模型。它提供多個ZeRO階段,每個階段透過對最佳化器狀態、梯度、引數進行分割槽,並支援解除安裝到CPU或NVMe,從而逐步節省更多的GPU記憶體。DeepSpeed已與Trainer類整合,大部分設定都會為你自動完成。
然而,如果你想在不使用Trainer的情況下使用DeepSpeed,Transformers提供了一個HfDeepSpeedConfig
類。
要了解更多關於如何將DeepSpeed與Trainer一起使用的資訊,請參閱DeepSpeed指南。
HfDeepSpeedConfig
class transformers.integrations.HfDeepSpeedConfig
< 來源 > ( config_file_or_dict )
引數
- config_file_or_dict (
Union[str, Dict]
) — DeepSpeed配置檔案的路徑或配置字典。
此物件包含一個DeepSpeed配置字典,可以快速查詢諸如ZeRO階段等資訊。
此物件的weakref
(弱引用)儲存在模組的全域性變數中,以便在無法訪問Trainer物件等情況下(例如在from_pretrained
和_get_resized_embeddings
中)能夠訪問該配置。因此,在程式仍在執行時保持此物件的存活非常重要。
Trainer使用的是HfTrainerDeepSpeedConfig
子類。該子類透過替換特殊佔位符值"auto"
,實現了將配置與TrainingArguments的值同步的邏輯。如果沒有這個特殊邏輯,DeepSpeed配置將不會被以任何方式修改。
< > 在 GitHub 上更新
© . This site is unofficial and not affiliated with Hugging Face, Inc.