当前位置: 首页 > 科技观察

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

时间:2023-03-22 17:17:30 科技观察

BT下载在家跑1000亿大模型,推理/微调速度提升10倍1760亿参数的大模型在家消费级GPU跑起来,推理微调是非常快。或者用BT下载。这东西可以让AI爱好者耳目一新。这不,这个叫PETALS的项目开源没多久,GitHub的star数就达到了1.3k。老司机都知道,用BT下载,下载同一个文件的人越多,文件下载的速度就越快,因为每个下载者都会成为一个“资源节点”,互相交流。PETALS的原理类似,就是利用大佬们的所有GPU,协同推理/微调同一个大模型。有了它,你的GPU实际上只需要加载大模型的一小部分来运行模型,而且速度还是很快的:推理速度可以达到1秒/token,比offloading方式快10倍。卸载是一种通过提高GPU利用率来加速模型训练的方法。什么是PETALS具体来说,PETALS来自科研合作项目BigScience。之前公开给大家的1760亿参数开源大模型BLOOM也是来自这个项目。至于PETALS的具体用法,我们来看下面的例子:张三想在BLOOM的基础上构建一个理解法语的大型语言模型,而李斯想对BLOOM进行微调,使其能够学习C++编程。尽管任务不同,但两者涉及的一些步骤是相同的??。此时,包括张三和李四在内的PETALS用户已经在自己的GPU中加载了模型的一部分(子集)。因此,张三和李四可以通过网络向其他用户寻求帮助,利用他人已有的模型子集,在最短的时间内对BLOOM进行微调。同时,他们GPU上的模型资源也会被其他用户利用。在实际运行过程中,每个PETALS的参与者都会通过本地设备运行一个服务器/客户端,或者两者。服务器包含模型层的子集,通常是Transformer块。同时,服务器处理来自客户端的请求。客户端会以管道的形式并行组成一系列的服务器来运行整个模型的推理/微调。值得一提的是,微调后的子模型可以在模型中心分享,继续提供给其他人使用。此外,为了提高分布式推理的性能,开发者还采用了以下策略:动态量化,让每个GPU存储更多的参数,减少连续设备和通信轮数;优先处理低延迟连接,即每个client端优先选择距离最近的server;服务器之间的负载均衡。在这些优化措施的基础上,研究人员证明了千亿级参数的模型可以基于PETALS有效运行。对了,有兴趣的也可以直接在Colab官方链接上试一下,文末提供地址~关于BigScience前面提到,PETALS是BigScience项目的一部分。BigScience是一个开放的科学合作项目,旨在打破科技巨头对人工智能资源的垄断。此前,在HuggingFace、法国国家大型计算中心等机构的牵头下,BigScience汇集了来自60个国家、250多家机构的1000多名研究人员,共同打造了一个“人人都能用”,从代码到数据集。全部开源BLOOM语言模型。BLOOM有1760亿个参数,支持59种语言。它是目前最大的多语言开源语言模型。目前,PETALS主要支持BLOOM。但是,开发人员表示将来会支持更多的基本模型。Colab地址:https://colab.research.google.com/drive/1Ervk6HPNS6AYVr3xVdQnY5a-TjjmLCdQ?usp=sharing