探索无限可能:PatrickStar - 打破大模型训练的硬件界限

探索无限可能:PatrickStar - 打破大模型训练的硬件界限

PatrickStarPatrickStar enables Larger, Faster, Greener Pretrained Models for NLP and democratizes AI for everyone.项目地址:https://gitcode.com/gh_mirrors/pa/PatrickStar

PatrickStar Logo

在自然语言处理(NLP)领域,预训练模型(PTM)正逐渐成为研究与工业应用的核心。然而,大规模模型的训练对硬件资源的需求极高,使得许多开发者望而却步。现在,我们带来了PatrickStar——一个基于分块内存管理的并行训练框架,让每个人都能参与到大型语言模型的训练之中!

项目简介

PatrickStar致力于解决训练过程中常见的内存溢出问题,通过异构训练策略,它巧妙地利用CPU和GPU内存,让你能用更少的GPU训练更大的模型。这种动态内存调度方式,借助于其创新的chunk-based内存管理模块,有效地将非模型数据移至CPU,释放宝贵的GPU空间。

技术解析

传统的异构训练方案静态地划分模型数据,而PatrickStar则引入了动态内存管理。它能根据计算需求,实时调整模型与数据在CPU和GPU间的分布。通过这种方式,PatrickStar能优化通信效率,更好地适应多GPU扩展。

详细的设计理念和技术细节,可在项目论文和Inside PatrickStar文档中找到。

应用场景与优势

在实验中,PatrickStar v0.4.3在仅配备8颗Tesla V100 GPU和240GB GPU内存的节点上,成功训练了一个拥有180亿参数的模型。相较于DeepSpeed,PatrickStar不仅训练的模型更大,且在同等规模的模型上表现出更高的性能。

此外,PatrickStar还在A100超级节点上运行,支持在8颗A100 GPU上训练680亿参数的模型,比DeepSpeed v0.5.7的表现高出6倍以上。不仅如此,它的效率也更加出色。

Performance Testing Result

不仅如此,PatrickStar已实现跨多机器的超大规模训练,如在32颗GPU上训练GPT3-175B,这是目前小规模集群训练GPT3的首次尝试。

简单易用

PatrickStar基于PyTorch构建,易于迁移现有项目。以下是一个简单的示例代码:

from patrickstar.runtime import initialize_engine

# 配置项...
# ...

def model_func():
    return MyModel(...)  # MyModel是继承自torch.nn.Module的类

model, optimizer = initialize_engine(model_func=model_func, local_rank=0, config=config)

# 训练循环...

配置文件采用了与DeepSpeed相似的JSON格式,这使得从其他优化器迁移到PatrickStar变得轻松。

更多示例和详细指南,请参考项目中的示例指南

开源许可证与引用

PatrickStar遵循BSD 3-Clause License协议。若在你的工作中使用了该框架,欢迎引用我们的论文:

  • Fang, J., Yu, Y., Zhu, Z., Li, S., You, Y., & Zhou, J. (2021). PatrickStar: Parallel Training of Pre-trained Models via a Chunk-based Memory Management. arXiv preprint arXiv:2108.05818.
  • Fang, J., Zhu, Z., Li, S., Su, H., Yu, Y., Zhou, J., & You, Y. (2022). Parallel Training of Pre-Trained Models via Chunk-Based Dynamic Memory Management. IEEE Transactions on Parallel and Distributed Systems, 34(1), 304-315.

联系我们

有任何疑问或建议,欢迎发送邮件到:{jiaruifang, zilinzhu, josephyu}@tencent.com

PatrickStar由微信AI团队和腾讯NLP Oteam共同打造,为打破大模型训练的硬件壁垒而生,带你探索无限的模型训练可能!

PatrickStarPatrickStar enables Larger, Faster, Greener Pretrained Models for NLP and democratizes AI for everyone.项目地址:https://gitcode.com/gh_mirrors/pa/PatrickStar

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廉珏俭Mercy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值