微软通过DeepSpeed加速PyTorch
微软已经发布了DeepSpeed,这是一种针对PyTorch的新的深度学习优化库,旨在减少内存使用,并在现有硬件上以更好的并行性来训练模型。 根据Microsoft Research发表新框架的博客文章,DeepSpeed通过内存优化技术改善了PyTorch模型训练,该技术增加了模型可以训练的可能参数的数量,更好地利用了GPU本地的内存,并且仅需要对现有PyTorch应用程序进行的最小更改将非常有用。 对现有PyTorch代码的影响最小,而潜在影响最大。随着机器学习库的不断发展和更多应用程序的依赖,新框架的空间越来越小,而使现有框架更具性能和可伸缩性的动机也越来越多。 在计算和开发速度方面,PyTorch已经非常快,但是总有改进的余地。为PyTorch编写的应用程序可以使用DeepSpeed,而只需对代码进行最少的更改。无需从头开始使用另一个框架。 DeepSpeed增强PyTorch的一种方法是改善其本机并行性。在Microsoft在DeepSpeed文档中提供的一个示例中,尝试在具有32GB设备内存的Nvidia V100 GPU上使用PyTorch的分布式数据并行系统训练模型,“用15亿个参数模型耗尽内存”,而DeepSpeed能够在同一硬件上达到60亿个参数。 另一个吹嘘的DeepSpeed改进是更有效地利用GPU内存进行培训。通过在GPU之间划分模型训练,DeepSpeed可以使所需数据保持在手边,减少了每个GPU的内存需求,并减少了GPU之间的通信开销。 第三个好处是在模型训练期间允许使用更多参数,以提高预测准确性。超参数优化是指调整训练过程本身的参数或变量,可以提高模型的准确性,但通常会以人工和专业知识为代价。 为了消除对专业知识和人力的需求,许多机器学习框架现在都支持某种自动超参数优化。微软声称,通过DeepSpeed,“具有1000亿个参数的深度学习模型”可以在“当前GPU集群上进行训练,其吞吐量是当前最佳系统的三到五倍”。 根据MIT许可证,DeepSpeed可作为免费开源提供。官方存储库中的教程可与Microsoft Azure一起使用,但Azure不需要使用DeepSpeed。
Yorumlar
Yorum Gönder