Transformers 文档

DeepSpeed

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

DeepSpeed

DeepSpeed 由零冗余优化器 (Zero Redundancy Optimizer, ZeRO) 驱动,是一个用于在 GPU 上训练和拟合超大规模模型的优化库。它提供多个 ZeRO 阶段,每个阶段通过对优化器状态、梯度、参数进行分片,并支持将其卸载 (offloading) 到 CPU 或 NVMe,从而逐步节省更多 GPU 显存。DeepSpeed 已与 Trainer 类集成,大部分设置都会自动为您处理。

然而,如果您想在不使用 Trainer 的情况下使用 DeepSpeed,Transformers 提供了一个 HfDeepSpeedConfig 类。

欲了解更多关于在 Trainer 中使用 DeepSpeed 的信息,请参阅 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 子类。该子类具有将配置与 TrainingArguments 的值同步的逻辑,它会替换特殊的占位符值:"auto"。如果没有此特殊逻辑,DeepSpeed 配置将不会被任何方式修改。

在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.