Transformers 文档

DeepSpeed

Hugging Face's logo
加入 Hugging Face 社区

并获取增强的文档体验

开始使用

DeepSpeed

DeepSpeed,由零冗余优化器 (ZeRO) 提供支持,是一个优化库,用于将非常大的模型训练和拟合到 GPU 上。它在多个 ZeRO 阶段可用,每个阶段通过划分优化器状态、梯度、参数并启用卸载到 CPU 或 NVMe 来逐步节省更多 GPU 内存。 DeepSpeed 与 Trainer 类集成,并且大多数设置都会自动为您处理。

但是,如果您想在没有 Trainer 的情况下使用 DeepSpeed,Transformers 提供了 HfDeepSpeedConfig 类。

DeepSpeed 指南中了解更多关于将 DeepSpeed 与 Trainer 一起使用的信息。

HfDeepSpeedConfig

class transformers.integrations.HfDeepSpeedConfig

< >

( config_file_or_dict )

参数

  • config_file_or_dict (Union[str, Dict]) — DeepSpeed 配置文件或字典的路径。

此对象包含 DeepSpeed 配置字典,并且可以快速查询零阶段等信息。

此对象的 weakref 存储在模块的全局变量中,以便能够从 Trainer 对象不可用的区域(例如 from_pretrained_get_resized_embeddings)访问配置。 因此,重要的是此对象在程序仍在运行时保持活动状态。

Trainer 使用 HfTrainerDeepSpeedConfig 子类代替。 该子类具有将配置与 TrainingArguments 的值同步的逻辑,方法是替换特殊的占位符值:"auto"。 如果没有这种特殊逻辑,DeepSpeed 配置将不会以任何方式修改。

< > 在 GitHub 上更新