显卡|1块显卡+几行代码:大模型训练提速40%!( 三 )


显卡|1块显卡+几行代码:大模型训练提速40%!
文章图片

Gemini内置的内存管理器给每个张量都标记一个状态信息,包括HOLD、COMPUTE、FREE等 。
然后,根据动态查询到的内存使用情况,不断动态转换张量状态、调整张量位置 。
带来的直接好处,就是能在硬件非常有限的情况下,最大化模型容量和平衡训练速度 。
要知道,业界主流方法ZeRO (Zero Reduency Optimizer),尽管也利用CPU+GPU异构内存的方法,但是由于是静态划分,还是会引起系统崩溃、不必要通信量等问题 。
而且,使用动态异构CPU+GPU内存的办法,还能用加内存条的办法来扩充内存 。
怎么也比买高端显卡划算多了 。
显卡|1块显卡+几行代码:大模型训练提速40%!
文章图片

目前,使用Colossal-AI的方法,RTX 2060 6GB普通游戏本能训练15亿参数模型;RTX 3090 24GB主机直接单挑180亿参数大模型;Tesla V100 32GB连240亿参数都能拿下 。
除了最大化利用内存外,Colossal-AI还使用分布式并行的方法,让训练速度不断提升 。
它提出同时使用数据并行、流水并行、2.5维张量并行等复杂并行策略 。
方法虽复杂,但上手却还是非常“傻瓜操作”,只需简单声明,就能自动实现 。
无需像其他系统和框架侵入代码,手动处理复杂的底层逻辑 。
parallel = dict(
pipeline=2,
tensor=dict(mode='2.5d', depth = 1, size=4)
)
Colossal-AI还能做什么?
实际上,自开源以来,Colossal-AI已经多次在GitHub及Papers With Code热榜位列世界第一,在技术圈小有名气 。
除了如上提到的用单张GPU训练大模型外,Colossal-AI在扩展至数十张甚至数百张GPU的大规模并行场景时,相比于英伟达Megatron-LM等现有系统,性能可以翻倍,使用资源可以降低至其十分之一之下 。
换算一下,在预训练GPT-3等超大AI模型上,节省的费用可以达到数百万元 。
显卡|1块显卡+几行代码:大模型训练提速40%!
文章图片

据透露,Colossal-AI相关的解决方案已经被自动驾驶、云计算、零售、医药、芯片等行业的知名厂商用上了 。
与此同时,他们也非常注重开源社区建设,提供中文教程、开放用户社群论坛,根据大家的需求反馈不断更新迭代 。
比如我们发现,之前有粉丝留言询问,Colossal-AI能否直接加载Hugging Face上的一些模型?
好嘛,这次更新就来了 。
显卡|1块显卡+几行代码:大模型训练提速40%!
文章图片

【显卡|1块显卡+几行代码:大模型训练提速40%!】所以,对于大模型训练,你觉得现在还有哪些难点亟需解决呢?