Transformers
加入 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.