鱼羊 发自 凹非寺
量子位 | 公众号 QbitAI
在家用 消费级GPU就能跑1760亿参数大模型,推理微调都很快。
还是用 BT下载的方式实现。
这事儿可把AI爱好者们新鲜坏了。
这不,这个名为 PETALS的项目刚开源没多久,GitHub标星数就达到了1.3k。
老司机们都知道,BT下载这玩意儿,下载同一个文件的人越多,这个文件的下载速度就越快,因为每个下载用户都会成为一个“资源节点”,互通有无。
PETALS道理差不多,就是把大家伙的GPU都利用起来,协同推理/微调同一个大模型。
用上它,你的GPU实际上只需要加载大模型的一小部分,就能把模型跑起来,速度还嘎嘎快:
推理速度能达到1秒/token,比offloading的方式快10倍。
offloading是通过提高GPU利用率,加速模型训练的一种方法,
什么是PETALS
具体来说,PETALS来自BigScience这个科研合作项目。此前人人皆可用的1760亿参数开源大模型 BLOOM也来自于该项目。
至于PETALS具体是怎么个用法,先来看看下面这个例子:
张三想基于BLOOM搞个懂法语的语言大模型,而李四则想微调BLOOM让它学会C++编程。
尽管任务不同,但两者涉及的一些步骤却是共通的。
此时包括张三李四在内的PETALS用户们,自个儿的GPU里已分别加载好了模型的一部分 (子集)。
于是,张三和李四就可以通过网络寻求其他用户的帮助,利用别人已经拥有的模型子集,在最短时间内对BLOOM进行微调。同时,他们GPU上的模型资源也会被其他用户利用。
展开全文
实际的操作过程中,PETALS的每个参与者,都会通过本地设备运行一个服务器/客户端,或者两者兼具。
服务器包含模型层子集,通常是Transformer块。同时,服务器会处理来自客户端的请求。
客户端则会形成以流水线形式并行的一连串服务器,来运行整个模型的推理/微调。
值得一提的是,微调后的子模型可以在模型中心共享,继续提供给其他人使用。
此外,为了提高分布式推理的性能,开发人员们还采取了以下策略:
动态量化,使每个GPU存储更多参数,减少连续设备和通信回合的数量;
优先考虑低延迟连接,即每个客户端优先考虑距离近的服务器;
服务器之间的负载均衡。
在这些优化措施的基础之上,研究人员证明,千亿参数级别的模型可以基于PETALS有效运行。
对了,如果你感兴趣,还可以直接在官方提供的Colab链接上试玩一下,地址文末奉上~
关于BigScience
前文说到,PETALS是BigScience项目的一部分。
BigScience是一个开放科学合作计划,旨在打破科技巨头对AI资源的垄断。
此前,在HuggingFace、法国国家大型计算中心等机构的牵头之下,BigScience汇聚来自60个国家和250多个机构的1000多名研究人员,一起搞出了“人人可用”、从代码到数据集通通开源的BLOOM语言大模型。
BLOOM有1760亿参数,支持59种语言,是目前最大的多语种开源语言模型。
目前,PETALS主要支持的就是BLOOM。不过开发人员表示,未来还将支持更多基础模型。
Colab地址:
— 完—
「人工智能」、「智能汽车」微信社群邀你加入!
欢迎关注人工智能、智能汽车的小伙伴们加入交流群,与AI从业者交流、切磋,不错过最新行业发展&技术进展。
PS. 加好友请务必备注您的姓名-公司-职位噢 ~
点这里
特别声明
本文仅代表作者观点,不代表本站立场,本站仅提供信息存储服务。