DeepSpeed-MII DeepSpeed and Zero

oxalkeyp  于 3个月前  发布在  其他
关注(0)|答案(2)|浏览(45)

我注意到deepspeed和zero开关是互斥的。打开零和使用ds_config来配置它之间有什么区别,以及直接使用deepspeed?

uttx8gqw

uttx8gqw1#

enabled_zero 开启了 ZeRO-Inference(并使用了 ds_config 中的配置),而 enabled_deepspeed 使用 DeepSpeed-Inference。在 MII 中,默认行为是使用 DeepSpeed-Inference。关于两者之间的区别,请参考下面的内容:

ZeRO-Inference(latest release here)主要针对我们希望在非常有限的 GPU 内存上运行大型模型进行推理的情况。它利用 ZeRO 卸载功能将大部分模型权重移动到 CPU 内存(甚至 NVME 存储)中。由于与卸载权重相关的开销,因此通常不适合将低延迟推理作为优先事项的使用场景。

DeepSpeed-Inference 是一个单独的引擎,为运行推理引入了许多优化。例如,我们支持在数万个模型上进行自定义内核注入,这可以显著提高延迟和吞吐量。这可能是您在进行推理时获得最低延迟的最佳选择,但需要更多的 GPU 内存。

tvz2xvvm

tvz2xvvm2#

感谢您耐心的回答。

相关问题