Transformers 文档

DeepSpeed

DeepSpeed

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

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

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

HfDeepSpeedConfig

transformers.integrations.HfDeepSpeedConfig

< >

( config_file_or_dict )

参数

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

此对象包含一个DeepSpeed配置字典,可以快速查询诸如zero stage之类的内容。

该对象的weakref存储在模块的全局变量中,以便在无法访问Trainer对象等情况下(例如from_pretrained_get_resized_embeddings)能够访问配置。因此,在程序仍在运行时,保持该对象的存活非常重要。

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

< > Update on GitHub