DeepSpeed-MII

DeepSpeed 是一个深度学习优化库,使分布式训练和推理变得简单、高效、有用。

添加图片注释,不超过 140 字(可选)

DeepSpeed-MII (Model Implementations for Inference)是 DeepSpeed 的一个开源 Python 库,旨在使模型不仅低延迟和低成本推理,而且还易于访问。

MII 提供了对数千种广泛使用的深度学习模型的高度优化实现。

与原始PyTorch实现相比,MII 支持的模型可显著降低延迟和成本。

为了实现低延迟/低成本推理,MII 利用 DeepSpeed-Inference 的一系列广泛优化,例如:transformers 的深度融合、用于多 GPU 推理的自动张量切片、使用 ZeroQuant 进行动态量化等。

MII 只需几行代码即可通过 AML 在本地和 Azure 上低成本部署这些模型。

GitHub - microsoft/DeepSpeed-MII

添加图片注释,不超过 140 字(可选)

下图显示了 MII 如何使用 DeepSpeed-Inference 自动优化 OSS 模型;然后,使用 GRPC 在本地部署,或使用 AML Inference 在 Microsoft Azure 上部署。

添加图片注释,不超过 140 字(可选)

MII 的底层由 DeepSpeed-Inference 提供支持。根据模型类型、模型大小、批量大小和可用硬件资源,MII 自动应用 DeepSpeed-Inference 中的一组适当的系统优化,以最大限度地减少延迟并最大限度地提高吞吐量。它通过使用许多预先指定的模型注入策略之一来实现这一点,该策略允许 MII 和 DeepSpeed-Inference 识别底层 PyTorch 模型架构并用优化的实现替换它。在此过程中,MII 使 DeepSpeed-Inference 中一系列的优化自动可用于其支持的数千种流行模型。

MII 提供DeepSpeed-Inference 的广泛优化:

  • DeepFusion for Transformers:对于基于 Transformer 的模型(例如Bert、Roberta、GPT-2 和 GPT-J),MII 利用 DeepSpeed-Inference 中的 Transformer内核进行优化,使用 DeepFusion 实现小批量的低延迟和大批量的高吞吐量。
  • 具有张量切片(Slicing)的多 GPU 推理:对于 Bloom 176B 等大模型,MII 自动启用节点内的张量并行性,利用聚合内存带宽和跨多个 GPU 的计算,实现与当前任何其他模型相比的最低延迟和吞吐量。
  • 使用 ZeroQuant 进行 INT8 推理:对于具有数百或数千亿参数的大模型,MII 支持使用 ZeroQuant 进行 INT8 推理。 使用此功能不仅可以减少推理所需的内存占用和 GPU 数量,还可以通过支持更大的批量和使用 INT8 计算来提高推理吞吐量,从而比FP16 显著降低成本。
  • 适用于资源受限系统的 ZeRO 推理:Bloom 176B 等大模型需要超过 176 GB 的内存,即使有 INT8 支持也是如此。 在缺乏部署所需的跨多个 GPU 内存聚合 的情况下,MII 启用 ZeRO-Inference,它可以利用系统 CPU 内存通过有限内存的单GPU 部署这些大模型。
  • 编译器优化:除了上述优化之外,MII 通过 TorchScript、nvFuser和 CUDA graph自动应用基于编译器的优化,进一步降低 延迟并提高吞吐量。

推理负载可以是延迟-紧要的(主要目标是最小化延迟)或成本-敏感的(主要目标是最小化成本)。 MII 可以使用 DeepSpeed-Inference 的两种变型。 第一个称为 ds-public,包含上面讨论的大部分优化,也可以通过开源 DeepSpeed 库获得。 第二个称为 ds-azure,提供与 Azure 更紧密的集成,并可通过 MII 向所有 Microsoft Azure 客户提供。 运行两个 DeepSpeed-Inference 的 MII 分别称为 MII-Public 和 MII-Azure。

与开源 PyTorch 实现(基线)相比,MII-Public 和 MII-Azure 都提供了显着的延迟和成本降低,但是对于某些生成式负载,它们可以具有差异化的性能。

MII 可以显着降低那些昂贵语言模型(如 Bloom、OPT 等)的推理成本。为了获得最低成本,用大的批量来最大化基线和 MII 的吞吐量。

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值