大模型与消费级GPU更配哦~|即将迎来"1-bit时代"

近年来,人工智能领域的大型语言模型(LLMs)在规模和功能上迅速增长。在广泛的自然语言处理任务中展示了卓越的性能,但随着不断增长的模型大小给实施部署带来了挑战,并引发了对其高能耗和高成本的问题。解决这些挑战的一种方法是使用后训练量化来创建推理的low-bit模型。这种技术降低了权重和激活的精度,显著减少了LLMs的内存和计算需求。趋势是从16位转向更低位,比如4位变体。然而,尽管在工业LLMs中被广泛使用,后训练量化并不是最优的。那么下面展开的论题就是我们今天的重点关注对象。

由微软和中国中科院大学在最新一项研究中所提出的结论——所有的LLM,都将是1.58 bit的。

如何理解BitNet b1.58呢?

大语言模型参数将传统方式以16位浮点数(如FP16或BF16)形式的存储变成“三进制”,即在原始BitNet的基础上增加了一个额外的0值,也就是 {-1, 0, 1}。注意:这里的“1.58 bit”并不是指每个参数占用1.58字节的存储空间,而是指每个参数可以用1.58位的信息来表示。

如图所示:1-bit LLMs(BitNet b1.58) 提供了一种帕累托解决方案,可以降低LLMs的推断成本(延迟、吞吐量和能耗),同时保持模型性能。BitNet b1.58的新计算范式需要做的是设计专门优化于1-bit LLMs的新硬件。

转换之后,矩阵中的计算就只会涉及到整数的加法,因此会让大模型在保持一定精度的同时,显著减少所需的存储空间和计算资源。显著降低从DRAM加载权重的成本和时间,从而实现更快、更高效的推理。

BitNet b1.58主要工作

BitNet b1.58是基于BitNet架构,是一种Transformer,用BitLinear替换了nn.Linear。与原始的BitNet相比,主要变化在量化函数和类似Llama组件。

1、量化函数

为了将权重约束为-1、0或+1,我们采用了一个绝对均值(absmean)量化函数。首先将权重矩阵按其平均绝对值进行缩放,然后将每个值四舍五入到最接近的整数值{-1, 0, +1}之一:

激活的量化函数遵循BitNet中相同的实现,除了不会在非线性函数之前将激活缩放到范围[0,Qb]。相反,每个token的激活都缩放到[−Qb,Qb]以消除零点量化。由于模型权重中包含了0,因此它对特征过滤的显式支持使其建模能力更强,这可以显著提高1位LLMs的性能。

2、类似Llama组件

BitNet b1.58的设计采用类似Llama的组件。RMSNorm、SwiGLU、rotary embedding,并移除了所有偏差。通过这种方式,BitNet b1.58可以轻松地集成到主流的开源软件(如Huggingface、vLLM和llama.cpp2)中。

量化实验

实验表明,当使用相同的配置(例如,模型大小、训练令牌等)时,BitNet b1.58可以与全精度(即FP16)基线在困惑度和最终任务性能方面相匹配

在3B模型上,BitNet b1.58开始与全精度LLaMA LLM的困惑度相匹配,同时速度是后者的2.71倍,GPU内存使用量减少了3.55倍。特别是,具有3.9B模型大小的BitNet b1.58速度是后者的2.4倍,内存消耗减少了3.32倍,但性能明显优于LLaMA LLM 3B。当模型的规模越大时(例如70B),速度上的提升和内存上的节省就会更加显著!

  • 内存和延迟
    随着模型大小的增加,加速比增加。是因为nn.Linear的时间成本随着模型大小的增加而增加。
  • 能耗
    算术运算能耗主要关注矩阵乘法的计算。大多数BitNet b1.58是INT8加法计算,而LLaMA LLM包括FP16加法和FP16乘法。

nn.Linear的比例随着模型大小的增加而增加,BitNet b1.58在能耗方面变得越来越高效。

  • 吞吐量
    BitNet b1.58 70B可以支持LLaMA LLM的批处理大小的11倍,吞吐量提高了8.9倍。在b1.58位和FP16之间的不同模型大小之间关系:

  • 13B BitNet b1.58在延迟、内存使用和能耗方面比3B FP16 LLM更高效

  • 30B BitNet b1.58在延迟、内存使用和能耗方面比7B FP16 LLM更高效

  • 70B BitNet b1.58在延迟、内存使用和能耗方面比13B FP16 LLM更高效

  • 使用2Ttoken训练
    BitNet b1.58在所有任务准确率上都取得了优异的性能,表明1.58位LLMs也具有强大的泛化能力。

  • 结论:1.减少LLM推理显存开销;2.同等算力和显存下支持更多参数;3.与完整精度(即FP16或BF16)的Transformer LLM在模型大小和训练令牌方面相匹配,无论是困惑度还是最终任务性能,同时在延迟、内存、吞吐量和能耗方面显著更具成本效益。

网上热议

展望

  • 1-bit Mixture-of-Experts (MoE) LLMs MoE是LLMs的一种成本效益的方法。虽然它显著减少了计算FLOPs,但高内存消耗和芯片间通信开销限制了其部署和应用。这些挑战可以通过1.58位LLMs来解决。首先,减少的内存占用减少了部署MoE模型所需的设备数量。此外可以显著减少在网络间传输激活的开销。最终,如果整个模型能够放置在单个芯片上,就不会有网络开销。
  • LLMs对长序列的原生支持 在LLMs时代,处理长序列的能力已成为一项关键需求。长序列推断的一个主要挑战是由KV缓存引入的内存消耗。BitNet b1.58代表了对长序列的原生支持的重要一步,因为它将激活从16位减少到8位,允许在相同资源下加倍上下文长度。对于1.58位LLMs,可以进一步无损压缩到4位甚至更低。
  • LLMs在移动设备上 移动设备通常受到内存和计算能力的限制,这可能会限制LLMs的性能和规模。然而,1.58位LLMs减少的内存和能耗使它们能够部署在这些设备上,从而实现了以前不可能的各种应用。
  • 为1-bit LLMs设计新硬件 近期Groq展示了为LLMs构建特定硬件(例如,LPUs)的有希望的结果和巨大潜力。更进一步,我们设想并呼吁采取行动,专门为1-bit LLMs设计新硬件和系统,鉴于BitNet中启用的新计算范式。

参考文献

  • https://arxiv.org/pdf/2402.17764.pdf
  • https://www.zhihu.com/question/646359036/answer/3413044355
  • https://mp.weixin.qq.com/s/ziQDq8eaFCKlMaMKV9EM8Q

关于我们

【点击➕关注】:小贾探AI
本人投身于互联网软件行业近十载,专注于WEB工程落地、大数据领域、图谱领域以及AI领域(大模型-GPT-应用落地),平时会在公众号不定期发布一些技术类和实践类的文章,欢迎关注,一起进步一起成长~

相关推荐

  • 图生文多模态大模型开源项目回顾:兼看20240307大模型进展早报
  • 多篇综述理清知识图谱现状,这167篇论文值得一读!
  • 进我的收藏夹吃灰吧:大模型加速超全指南来了
  • SpringBoot AOP + Redis 延时双删功能实战
  • 美团优选 | 智能推荐算法工程师
  • 万字长文 | Sora技术解析报告
  • 用 Python 优雅地编写 LaTeX
  • Sora 背后的大杀器:不仅仅是 DiT...
  • React状态管理专题:什么是属性钻取(Prop Drilling)
  • Spring boot 集成GraalVM JS引擎快速入门demo
  • 如果让你实现实时消息推送你会用什么技术?轮询、websocket还是sse
  • 2024年,大模型这些方向再次卷疯了!
  • 前端最能打的本地存储方案
  • 使用租户ID,实现一个企业级的SaaS系统,完整方案来了!
  • 面试官:一千万的数据,你是怎么查询的?
  • 10 个 Java Stream 顶级技巧,大量简化代码!
  • 为什么阿里巴巴修正了HashMap关于1024个元素扩容的次数?(典藏版)
  • 某女程序员失业半年,某央企答应给offer,本以为她已婚已孕,结果发现真相后......
  • 如何避免 PostgreSQL RDS 的陷阱:一份大数据解决方案的实践指南
  • 雷军:一定把小米汽车干好、干成;QQ测试AI聊天搭子,再战AI社交;零一万物宣布开源Yi-9B模型 | 极客头条