高考考试网
当前位置: 首页 高考资讯

gpu训练(1块GPU几行代码大模型训练提速40)

时间:2023-07-02 作者: 小编 阅读量: 7 栏目名: 高考资讯

而Colossal-AI这波操作,是让公开模型的训练微调变得更加切实可行。单张GPU上,相比于微软的DeepSpeed,使用Colossal-AI的自动优化策略,最快能实现40%的加速。它由MetaAI发布,对标GPT-3,最大参数量可达1750亿。比如在一张GPU上,以异构训练为例,只需在配置文件里加上相关配置项,并不需要更改代码的训练逻辑。这样可以由Colossal-AI自动化地实时动态选择最佳异构策略,最大化计算效率。发挥核心作用的是Colossal-AI系统的高效异构内存管理子系统Gemini。

gpu训练?明敏 发自 凹非寺量子位 | 公众号 QbitAI,现在小编就来说说关于gpu训练?下面内容希望能帮助到你,我们来一起看看吧!

gpu训练

明敏 发自 凹非寺

量子位 | 公众号 QbitAI

不得不说,为了让更多人能用上大模型,技术圈真是各出奇招!

模型不够开放?有人自己上手搞免费开源版。

比如最近风靡全网的DALL·E Mini,Meta开放的OPT-175B(Open Pretrained Transformer)。

都是通过复刻的方式,让原本不够open的大模型,变成人人可用。

还有人觉得模型太大,个人玩家很难承受起天价成本。

所以提出异构内存、并行计算等方法,让大模型训练加速又降本。

比如开源项目Colossal-AI,前不久刚实现了让一块英伟达3090就能单挑180亿参数大模型。

而在这两天,他们又来了一波上新:

无缝支持Hugging Face社区模型,只需添加几行代码,就能实现大模型的低成本训练和微调。

要知道,Hugging Face作为当下最流行的AI库之一,提供了超过5万个AI模型的实现,是许多AI玩家训练大模型的首选。

而Colossal-AI这波操作,是让公开模型的训练微调变得更加切实可行。

并且在训练效果上也有提升。

单张GPU上,相比于微软的DeepSpeed,使用Colossal-AI的自动优化策略,最快能实现40%的加速。

而PyTorch等传统深度学习框架,在单张GPU上已经无法运行如此大的模型。

对于使用8张GPU的并行训练,仅需在启动命令中添加-nprocs 8就能实现。

这波下来,可以说是把个人AI玩家需要考虑的成本、效率、实操问题,都拿捏住了~

无需修改代码逻辑

光说不练假把式。

下面就以OPT为例,详细展开看看Colossal-AI的新功能到底怎么用。

OPT,全称为Open Pretrained Transformer。

它由Meta AI发布,对标GPT-3,最大参数量可达1750亿。

最大特点就是,GPT-3没有公开模型权重,而OPT开源了所有代码及权重。

因此,每一位开发者都能在此基础上开发个性化的下游任务。

下面的举例,就是根据OPT提供的预训练权重,进行因果语言模型(Casual Language Modelling)的微调。

主要分为两个步骤:

  • 添加配置文件
  • 运行启动

    第一步,是根据想进行的任务添加配置文件。

    比如在一张GPU上,以异构训练为例,只需在配置文件里加上相关配置项,并不需要更改代码的训练逻辑。

    比如,tensor_placement_policy决定了异构训练的策略,参数可以为CUDA、CPU及auto。

    每个策略的优点不同、适应的情况也不一样。

    CUDA:将全部模型参数都放置于GPU上,适合不offload时仍然能进行训练的传统场景。

    CPU:将模型参数都放置在CPU内存中,仅在GPU显存中保留当前参与计算的权重,适合超大模型的训练。

    auto:根据实时的内存信息,自动决定保留在GPU显存中的参数量,这样能最大化利用GPU显存,同时减少CPU-GPU之间的数据传输。

    对于普通用户来说,使用auto策略是最便捷的。

    这样可以由Colossal-AI自动化地实时动态选择最佳异构策略,最大化计算效率。

    from colossalai.zero.shard_utils import TensorShardStrategyzero = dict(model_config=dict(shard_strategy=TensorShardStrategy(),tensor_placement_policy="auto"),optimizer_config=dict(gpu_margin_mem_ratio=0.8))

    第二步,是在配置文件准备好后,插入几行代码来启动新功能。

    首先,通过一行代码,使用配置文件来启动Colossal-AI。

    Colossal-AI会自动初始化分布式环境,读取相关配置,然后将配置里的功能自动注入到模型及优化器等组件中。

    colossalai.launch_from_torch(config='/configs/colossalai_zero.py')

    然后,还是像往常一样定义数据集、模型、优化器、损失函数等。

    比如直接使用原生PyTorch代码,在定义模型时,只需将模型放置于ZeroInitContext下初始化即可。

    在这里,使用的是Hugging Face提供的OPTForCausalLM模型以及预训练权重,在Wikitext数据集上进行微调。

    with ZeroInitContext(target_device=torch.cuda.current_device(), shard_strategy=shard_strategy,shard_param=True):model = OPTForCausalLM.from_pretrained('facebook/opt-1.3b'config=config)

    接下来,只需要调用colossalai.initialize,便可将配置文件里定义的异构内存功能统一注入到训练引擎中,即可启动相应功能。

    engine, train_dataloader, eval_dataloader, lr_scheduler = colossalai.initialize(model=model,optimizer=optimizer,criterion=criterion,train_dataloader=train_dataloader,test_dataloader=eval_dataloader,lr_scheduler=lr_scheduler)

    还是得靠GPU CPU异构

    而能够让用户实现如上“傻瓜式”操作的关键,还是AI系统本身要足够聪明。

    发挥核心作用的是Colossal-AI系统的高效异构内存管理子系统Gemini。

    它就像是系统内的一个总管,在收集好计算所需的信息后,动态分配CPU、GPU的内存使用。

    具体工作原理,就是在前面几个step进行预热,收集PyTorch动态计算图中的内存消耗信息。

    在预热结束后,计算一个算子前,利用收集的内存使用记录,Gemini将预留出这个算子在计算设备上所需的峰值内存,并同时从GPU显存移动一些模型张量到CPU内存。

    Gemini内置的内存管理器给每个张量都标记一个状态信息,包括HOLD、COMPUTE、FREE等。

    然后,根据动态查询到的内存使用情况,不断动态转换张量状态、调整张量位置。

    带来的直接好处,就是能在硬件非常有限的情况下,最大化模型容量和平衡训练速度。

    要知道,业界主流方法ZeRO (Zero Reduency Optimizer),尽管也利用CPU GPU异构内存的方法,但是由于是静态划分,还是会引起系统崩溃、不必要通信量等问题。

    而且,使用动态异构CPU GPU内存的办法,还能用加内存条的办法来扩充内存。

    怎么也比买高端显卡划算多了。

    目前,使用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模型上,节省的费用可以达到数百万元。

    据透露,Colossal-AI相关的解决方案已经被自动驾驶、云计算、零售、医药、芯片等行业的知名厂商用上了。

    与此同时,他们也非常注重开源社区建设,提供中文教程、开放用户社群论坛,根据大家的需求反馈不断更新迭代。

    比如我们发现,之前有粉丝留言询问,Colossal-AI能否直接加载Hugging Face上的一些模型?

    好嘛,这次更新就来了。

    所以,对于大模型训练,你觉得现在还有哪些难点亟需解决呢?

    欢迎评论区留言讨论~

    传送门

    项目地址:http://github.com/hpcaitech/ColossalAI

    参考链接:[1]http://medium.com/@yangyou_berkeley/colossal-ai-seamlessly-accelerates-large-models-at-low-costs-with-hugging-face-4d1a887e500d[2]http://arxiv.org/abs/2202.05924v2[3]http://arxiv.org/abs/2205.11487[4]http://github.com/features/copilot[5]http://github.com/huggingface/transformers

    — 完 —

    量子位 QbitAI · 头条号签约

    关注我们,第一时间获知前沿科技动态

    • 推荐阅读
    • 喜你为疾药石无医什么意思 喜你为疾,药无可医

      用来表达爱情至深,无药可医。谈天说地,共睹朝夕,难舍相依。三年至今,掏肺掏心,碎成一地。饿鬼如行,养风长鸣,不复往昔。

    • 部编版二年级下册语文单元检测题(小学部编版二年级语文下册第一单元检测3套附答案)

      ()的鲜花()的礼物()的日子()的笑容五、先把词语补充完整,再按要求填空。六、按要求写句子。主要描写了季的美丽景色。

    • 36岁卓依婷一家生活近照(39岁甜歌天后卓依婷近照曝光)

      3月25日凌晨,卓依婷在社交媒体上发文庆祝结婚7周年。卓依婷的粉丝众多,横跨老中青三代,是几代人的共同记忆。现象级甜歌天后卓依婷截至目前一共翻唱了786首歌,如此高产,卓依婷在华语乐坛前无古人,恐怕也后无来者。由于很多媒体没有经过考证,误传成卓依婷去世,这样让本来已经身患胃疗养的卓依婷备受打击。当时困于谣言的卓依婷数次尝试复出,但是很多观众根本不愿意相信。今天的卓依婷再次开嗓,未必能赢得万千欢呼。

    • 关于12星座的资料(有关于12星座的资料有哪些)

      而经国际天文学联合会在1928年规范星座边界后,黄道中共有13个星座。由于岁差的关系,21世纪的黄道星座与占星学已不一致。总计为十二个星群。在地球运转到每个等份(星群)时所出生的婴儿,长大后总有若干相似的特征,包括行为特质等。这套命理演进、流传至今至少五千年的历史,它们以这十二个星座为代表。

    • ios13正式版发布时间(ios13.4发布时间正式版)

      ios13正式版发布时间,苹果于2019年9月19日推送iOS 13正式版,支持iPhone 6S及后续机型,另外iOS 13.1也于2019年9月30日正式推送。

    • 华为nova7se和nova7区别(华为nova7se和nova7区别在哪)

      华为nova7se和华为nova7的区别主要在:1、处理器不同:华为nova7se搭载海思麒麟820处理器,华为nova7搭载海思麒麟985处理器;2、配色不同:华为nova7se有幻夜黑、绮境森林、仲夏紫、银月星辉四种配色,华为nova7有亮黑色、仲夏紫、绮境森林、7号色、蜜语红五种配色;3、屏幕不同:华为nova7se采用6.5英寸LCD屏幕,华为nova7采用6.53英寸OLED屏幕;4、摄

    • 留学生离奇失踪(北大26岁美女硕士美国失踪前最后监控画面曝光)

      吴女士在采访中证实了此事。吴女士说,他们争取简化流程,让章莹颖的父母尽快动身前往美国。▲事件截至6月11日5时最新进展网上公开的消息称,经过警方排查,当地医院没有接到发生事故的患者,也确定章莹颖没有利用大巴、火车等公共交通工具离开当地。▲警方公布的视频截图▲警方公布的视频截图网上最新消息称,当地警方已经获取章莹颖乘坐公交车的视频截图。有Facebook网友周五上午在女留学生失踪的区域遇到疑似“绑架者”。

    • 多少周的胎儿算足月可以生产(怀孕多少周生下的宝宝才算是足月儿)

      “足月儿”一般指的是妈妈怀孕37周到42周这个时间段出生的小宝宝,其实,对于这种说法,很多孕妈在理解上都有一种认知误区。但是话说回来,究竟怎么判断是不是足月儿呢?

    • 2022重庆光环购物中心鲁冰花观赏攻略 重庆光环购物公园游玩攻略

      2022重庆光环购物中心鲁冰花观赏攻略近日,在两江新区光环购物公园,粉色的、红色的、紫色的,一株株宝塔形状的鲁冰花正在盛放,花开如霞,层层叠叠。图源:摄图网_501726263即日起至5月8日,光环购物公园为重庆市民准备了一场重磅的周年庆典——“森林生活节”。在庆典期间,不仅打造了鲁冰花花海,同时将莫奈、梵高等创作的世界名画搬进现实供市民欣赏。“帐篷集市”“后备箱集市”等系列活动也将陆续开展。

    • 蓖麻种子有毒吗(中毒了之后会如何)

      蓖麻全株有毒,有毒成分为蓖麻毒素及蓖麻碱。蓖麻子毒素是一种细胞原浆毒,可损害肝、肾等实质脏器,并有凝集、溶解红细胞的作用,也可麻痹呼吸及血管运动中枢。蓖麻毒蛋白尚有损伤小肠及强烈的致热和致敏作用。蓖麻毒素及蓖麻碱加热后可以被破坏而解毒。患者临床表现为咽喉刺激、灼热感、恶心、呕吐、腹痛及急性胃肠炎症状。中毒数日后可出现凝血、溶血现象。