用BT下载的方式在家跑千亿大模型,推理/微调速度10倍提升_模型_微调_推理

鱼羊 发自 凹非寺

量子位 | 公众号 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. 加好友请务必备注您的姓名-公司-职位噢 ~

点这里

特别声明

本文仅代表作者观点,不代表本站立场,本站仅提供信息存储服务。

分享:

扫一扫在手机阅读、分享本文