GitHub 热门项目,Colossal-AI 正式版发布

3,316

近日,大规模并行 AI 训练系统 Colossal-AI 成为了GitHub上最热门的项目之一,获得了1万多颗星星。

据了解,Colossal-AI 是一个易于使用的深度学习系统,能够让用户最大限度地提高 AI 部署的效率,同时大幅降低成本。

Colossal-AI GitHub 存储库:https ://github.com/hpcaitech/ColossalAI

Colossal-AI 的新功能:

全新的ZeRO模块;

添加Profiler TensorBoard 插件 Beta版本,支持在通信、内存等方面获得比PyTorch 更细粒度的监控;

MOE 功能和示例;

修复错误,完成了教程;

Colossal-AI 与 HuggingFace 一起工作;

Colossal-AI 解决了一个重要问题。

近年来,随着深度学习和大型模型的兴起,前沿AI模型在短短几年内增长了上万倍,已经远远超过了硬件技术的增长速度。这些大型 AI 模型远超出单个 GPU 的容量,需要的算力通常需要单个 GPU运行数百年。因此,如何通过有效利用单个 GPU 、提高单个 GPU 的容量以实现大型 AI 模型的高性能训练就成为了迫在眉睫的问题。

而Colossal-AI 能够使开发人员通过多种技术(例如多维并行性和更好的模型维护和部署工具)为 AI 部署编写高性能代码。它允许程序员快速有效地部署大型 AI 模型,并以分布式方式进行训练。

Colossal-AI 具备多维并行、GPU 内存优化、大规模优化器库和细粒度监控等特性。让我们深入了解其中的一些关键功能,看看是什么让 Colossal-AI 真正伟大!

多维并行

目前,大规模AI模型现有的并行模式包括数据并行、一维张量并行和管道并行三种方案。而Colossal-AI 在此基础上提供了更多的并行模式,包括 2、2.5、3 维张量并行以及序列并行,以及多维混合并行解决方案。

当 ViT 的张量并行度为 64 时,可提升14 倍批大小和 5 倍训练速度

高维张量并行不仅可以大大减少内存消耗,而且可以提高通信效率,更有效地利用计算资源。

序列并行性帮助 BERT 将训练速度提高 2 倍或 1.5 倍序列长度

同时,Colossal-AI 新的并行形式——序列并行,还可以应用于大图像、视频、长文本、长时间医疗监控等数据,让机器能够处理以前不可能处理的长序列数据。

GPU显存优化

Colossal-AI 结合了多项GPU内存优化技术,包括多维并行、ZeRO冗余内存消除、CPU offload、Gradient Checkpoint、自动混合精度(AMP)等,帮助用户避免内存瓶颈,降低训练资源需求。

GPT-2 使用 Colossal-AI ,同样场景下可提升 24 倍训练模型大小,或加速 3 倍

易用性

Colossal-AI 希望通过最少的代码修改,实现与 PyTorch 兼容。

  • 细粒度监控工具:允许开发人员在迭代中监控网络、通信和内存状态。与现有框架相比,Colossal-AI 让开发人员可以轻松准确地分析和调试深度学习代码。
  • 大规模的优化库,包括 LAMB 和 LARS 等高效优化器,首次将 batch size 扩展到 65536。同时,与 PyTorch 所有优化器兼容。