SuperAPI AI 工具集

deepspeed

智能体与模型

查看项目

更新于 10-15 13:10

技能介绍

用途

本 Skill 是针对 DeepSpeed 分布式训练的专家指导资源,内容根据官方文档生成。它用于在开发、使用、调试和学习 DeepSpeed 时提供参考帮助。资料列出的触发场景包括:正在使用 DeepSpeed、询问 DeepSpeed 的功能或 API、实现 DeepSpeed 方案、调试 DeepSpeed 代码、学习 DeepSpeed 最佳实践。

主要能力与覆盖主题

资料给出的主题范围包括 ZeRO 优化阶段、流水线并行、FP16/BF16/FP8 混合精度、1-bit Adam 与稀疏注意力。正文中包含两个具体示例模式。

模式一:DeepNVMe

DeepNVMe 用于在持久化存储与位于主机内存或设备内存中的张量之间进行数据传输,其优化基于 NVMe 固态盘、Linux 异步 I/O(libaio)以及 NVIDIA GPUDirect Storage(GDS)。

要求:需安装 DeepSpeed 版本 >= 0.15.0;DeepNVMe 算子需在安装中可用,其中 async_io 算子为任何 DeepNVMe 功能所需,gds 算子仅 GDS 功能需要;可通过 ds_report 输出的兼容状态是否为 [OKAY] 来确认算子可用性;若 async_io 不可用,需为所用 Linux 发行版安装对应的 libaio 库二进制,例如 Ubuntu 用户需运行 apt install libaio-dev;启用 gds 算子需安装 NVIDIA GDS。

句柄创建:DeepNVMe 功能可通过 aio_handle 与 gds_handle 两个抽象访问。aio_handle 可用于主机张量和设备张量,gds_handle 仅适用于 CUDA 张量但更高效。aio_handle 需要 async_io 算子,gds_handle 需要 async_io 与 gds 两个算子。

使用方式:两者提供相同的张量存取文件 API,通常以张量和文件路径作为参数;为获得最佳性能应使用 pinned 的设备或主机张量。资料列出了阻塞写入 sync_pwrite、非阻塞写入 async_pwrite,以及可组合并行的 I/O 操作;并行度通过构造句柄时指定 intra_op_parallelism 设定。资料强调非阻塞 I/O 必须谨慎使用 .wait() 来串行化源张量写入与目标张量读取,否则可能产生数据竞争或文件损坏。pinned 主机张量可用 PyTorch 或 DeepSpeed Accelerators 提供的机制;gds_handle 提供 new_pinned_device_tensor() 与 pin_device_tensor() 用于固定 CUDA 张量。

性能调优:提供工具 ds_nvme_tune 自动化搜索最优 DeepNVMe 配置。示例命令为 ds_nvme_tune --nvme_dir /local_nvme --gpu,可输出最佳读/写性能及其对应 aio 配置。资料给出该示例运行环境的说明与耗时(约四分半钟)。

句柄参数:aio_handle 构造函数参数及默认值为 block_size: int = 1048576, queue_depth: int = 128, single_submit: bool = False, overlap_events: bool = False, intra_op_parallelism: int = 1。

API 列表:通用 I/O API 包括 async_pread、sync_pread、pread、async_pwrite、sync_pwrite、pwrite、wait;GDS 专用 API 包括 new_pinned_device_tensor、free_pinned_device_tensor、pin_device_tensor、unpin_device_tensor;句柄设置查询 API 包括 get_queue_depth、get_single_submit、get_intra_op_parallelism、get_block_size、get_overlap_events。

模式二:面向 NLG 模型的 Mixture of Experts

资料介绍如何将 DeepSpeed Mixture of Experts(MoE)应用于 NLG 模型,示例使用 Megatron-LM 框架中的类 GPT-3 模型,并称可降低训练成本与缩小 MoE 模型体积。该部分目录包括安装、训练 NLG+MoE 模型、对模型的改动、预训练标准 MoE 模型、预训练 PR-MoE 模型、训练缩小模型体积的 MoS。资料在此处内容被截断,具体步骤未完整提供。

限制

资料显示为根据官方文档生成的指导内容,并处于持续更新的状态(标注更新时间)。对于价格、收费模式、支持平台清单或效果保证等信息,资料未提供;本介绍不对这些内容做任何推断。