PatrickStar是一款分布式深度学习训练工具,它的设计目标是支持以GPT、Bert为代表的超大预训练模型训练。在性能表现上远超目前业界DeepSpeed效果。它可以显著降低PTM的使用成本,使我们在更少的GPU硬件上训练之前用其他框架OOM的模型。比如,在8x V100,240GB内存的计算节点上,派大星成功训练了120亿参数模型,单GPU的计算效率仍高达在47 Tflops。
PatrickStar 通过使用 CPU-GPU 异构内存空间来存储模型数据,从而降低对GPU的显存需求。不同于现有的异构训练方案在 CPU 和 GPU 之间静态划分模型数据,PatrickStar 以Chunk(块)的形式更灵活地管理模型数据,这些Chunk动态分布在异构内存空间中,在训练过程中高效地移动,来满足当前计算的需求,从而使模型尺寸突破GPU的显存大小限制。PatrickStar和业界其他优秀数据并行方案兼容,比如,PatrickStar 使用零冗余优化器方式并行扩展到多个 GPU,并实现了理论最低的通信带宽需求和更高效的带宽利用率。派大星与模型并行,流水线并行兼容。
派大星适用场景
适用ADAM优化器的超大模型训练过程,例如BERT,GPT2,GPT3等NLP预训练模型,超大CNN等CV模型。
功能介绍
通过在PyTorch基础上,包装模型和优化器的接口来调用后台优化逻辑,可以使用仅仅几行代码获得DNN训练过程的端到端加速。
使用示例
未来计划
-
吸引更多的开发者完善派大星的系统实现。将派大星与目前流行的模型并行、流水线并行结合,完成超大规模训练。
-
根据用户反馈,增加派大星的易用性。
PatrickStar开源地址
https://github.com/Tencent/PatrickStar
请给项目 一个 Star !
欢迎提出你的 issue 和 PR!
国内镜像地址:
https://git.code.tencent.com/Tencent_Open_Source
(登录后才能访问公开项目)
腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像
关注腾讯开源公众号
获取更多最新腾讯官方开源信息!