Transformers 文档

DeepSpeed

Hugging Face's logo
加入 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 上更新