Transformers 文档

DeepSpeed

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始使用

DeepSpeed

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

但是,如果您想在没有 训练器 的情况下使用 DeepSpeed,Transformers 提供一个 HfDeepSpeedConfig 类。

了解有关在 训练器 中使用 DeepSpeed 的更多信息,请参阅 DeepSpeed 指南。

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 上更新