Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

微软、国科大开启1Bit时代:大模型转三进制,速度快4倍能耗降至1/41

革命性的提升来了。


把大模型的权重统统改成三元表示,速度和效率的提升让人害怕。

今天凌晨,由微软、国科大等机构提交的一篇论文在 AI 圈里被人们争相转阅。该研究提出了一种 1-bit 大模型,实现效果让人只想说两个字:震惊。

图片

如果该论文的方法可以广泛使用,这可能是生成式 AI 的新时代。

对此,已经有人在畅想 1-bit 大模型的适用场景,看起来很适合物联网,这在以前是不可想象的。

图片

人们还发现,这个提升速度不是线性的 —— 而是,模型越大,这么做带来的提升就越大。

图片

还有这种好事?看起来英伟达要掂量掂量了。

近年来,大语言模型(LLM)的参数规模和能力快速增长,既在广泛的自然语言处理任务中表现出了卓越的性能,也为部署带来了挑战,并引发人们担忧高能耗会对环境和经济造成影响。

因此,使用后训练(post-training)量化技术来创建低 bit 推理模型成为上述问题的解决方案。这类技术可以降低权重激活函数的精度,显著降低 LLM 的内存和计算需求。目前的发展趋势是从 16 bits 转向更低的 bit,比如 4 bits。然而,虽然这类量化技术在 LLM 中广泛使用,但并不是最优的。

最近的工作提出了 1-bit 模型架构,比如 2023 年 10 月微软研究院、国科大和清华大学的研究者推出了 BitNet,在降低 LLM 成本的同时为保持模型性能提供了一个很有希望的技术方向。

BitNet 是第一个支持训练 1-bit 大语言模型的新型网络结构,具有强大的可扩展性和稳定性,能够显著减少大语言模型的训练和推理成本。与最先进的 8-bit 量化方法和全精度 Transformer 基线相比,BitNet 在大幅降低内存占用和计算能耗的同时,表现出了极具竞争力的性能。

此外,BitNet 拥有与全精度 Transformer 相似的扩展法则(Scaling Law),在保持效率和性能优势的同时,还可以更加高效地将其能力扩展到更大的语言模型上, 从而让 1 比特大语言模型(1-bit LLM)成为可能。

图片

                                  BitNet 从头训练的 1-bit Transformers 在能效方面取得了有竞争力的结果。来源:https://arxiv.org/pdf/2310.11453.pdf

如今,微软研究院、国科大同一团队(作者部分变化)的研究者推出了 BitNet 的重要 1-bit 变体,即 BitNet b1.58,其中每个参数都是三元并取值为 {-1, 0, 1}。他们在原来的 1-bit 上添加了一个附加值 0,得到二进制系统中的 1.58 bits。

BitNet b1.58 继承了原始 1-bit BitNet 的所有优点,包括新的计算范式,使得矩阵乘法几乎不需要乘法运算,并可以进行高度优化。同时,BitNet b1.58 具有与原始 1-bit BitNet 相同的能耗,相较于 FP16 LLM 基线在内存消耗、吞吐量和延迟方面更加高效。

图片

  • 论文地址:https://arxiv.org/pdf/2402.17764.pdf
  • 论文标题:The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits

此外,BitNet b1.58 还具有两个额外优势。其一是建模能力更强,这是由于它明确支持了特征过滤,在模型权重中包含了 0 值,显著提升了 1-bit LLM 的性能。其二实验结果表明,当使用相同配置(比如模型大小、训练 token 数)时,从 3B 参数规模开始, BitNet b1.58 在困惑度和最终任务的性能方面媲美全精度(FP16)基线方法。

如下图 1 所示,BitNet b1.58 为降低 LLM 推理成本(延迟、吞吐量和能耗)并保持模型性能提供了一个帕累托(Pareto)解决方案。

图片

BitNet b1.58 介绍

BitNet b1.58 基于 BitNet 架构,并且用 BitLinear 替代 nn.Linear 的 Transformer。BitNet b1.58 是从头开始训练的,具有 1.58 bit 权重和 8 bit 激活。与原始 BitNet 架构相比,它引入了一些修改,总结为如下:

图片

用于激活的量化函数与 BitNet 中的实现相同,只是该研究没有将非线性函数之前的激活缩放到 [0, Q_b] 范围。相反,每个 token 的激活范围为 [−Q_b, Q_b],从而消除零点量化。这样做对于实现和系统级优化更加方便和简单,同时对实验中的性能产生的影响可以忽略不计。

与 LLaMA 类似的组件。LLaMA 架构已成为开源大语言模型的基本标准。为了拥抱开源社区,该研究设计的 BitNet b1.58 采用了类似 LLaMA 的组件。具体来说,它使用了 RMSNorm、SwiGLU、旋转嵌入,并且移除了所有偏置。通过这种方式,BitNet b1.58 可以很容易的集成到流行的开源软件中(例如,Huggingface、vLLM 和 llama.cpp2)。

实验及结果

该研究将 BitNet b1.58 与此前该研究重现的各种大小的 FP16 LLaMA LLM 进行了比较,并评估了模型在一系列语言任务上的零样本性能。除此之外,实验还比较了 LLaMA LLM 和 BitNet b1.58 运行时的 GPU 内存消耗和延迟。

表 1 总结了 BitNet b1.58 和 LLaMA LLM 的困惑度和成本:在困惑度方面,当模型大小为 3B 时,BitNet b1.58 开始与全精度 LLaMA LLM 匹配,同时速度提高了 2.71 倍,使用的 GPU 内存减少了 3.55 倍。特别是,当模型大小为 3.9B 时,BitNet b1.58 的速度是 LLaMA LLM 3B 的 2.4 倍,消耗的内存减少了 3.32 倍,但性能显著优于 LLaMA LLM 3B。

图片

表 2 结果表明,随着模型尺寸的增加,BitNet b1.58 和 LLaMA LLM 之间的性能差距缩小。更重要的是,BitNet b1.58 可以匹配从 3B 大小开始的全精度基线的性能。与困惑度观察类似,最终任务( end-task)结果表明 BitNet b1.58 3.9B 优于 LLaMA LLM 3B,具有更低的内存和延迟成本。

图片

内存和延迟:该研究进一步将模型大小扩展到 7B、13B 和 70B 并评估成本。图 2 显示了延迟和内存的趋势,随着模型大小的增加,增长速度(speed-up)也在增加。特别是,BitNet b1.58 70B 比 LLaMA LLM 基线快 4.1 倍。这是因为 nn.Linear 的时间成本随着模型大小的增加而增加,内存消耗同样遵循类似的趋势。延迟和内存都是用 2 位核测量的,因此仍有优化空间以进一步降低成本。

图片

能耗。该研究还对 BitNet b1.58 和 LLaMA LLM 的算术运算能耗进行了评估,主要关注矩阵乘法。图 3 说明了能耗成本的构成。BitNet b1.58 的大部分是 INT8 加法计算,而 LLaMA LLM 则由 FP16 加法和 FP16 乘法组成。根据 [Hor14,ZZL22] 中的能量模型,BitNet b1.58 在 7nm 芯片上的矩阵乘法运算能耗节省了 71.4 倍。

该研究进一步报告了能够处理 512 个 token 模型的端到端能耗成本。结果表明,随着模型规模的扩大,与 FP16 LLaMA LLM 基线相比,BitNet b1.58 在能耗方面变得越来越高效。这是因为 nn.Linear 的百分比随着模型大小的增加而增长,而对于较大的模型,其他组件的成本较小。

图片

吞吐量。该研究比较了 BitNet b1.58 和 LLaMA LLM 在 70B 参数体量上在两个 80GB A100 卡上的吞吐量,使用 pipeline 并行性 [HCB+19],以便 LLaMA LLM 70B 可以在设备上运行。实验增加了 batch size,直到达到 GPU 内存限制,序列长度为 512。表 3 显示 BitNet b1.58 70B 最多可以支持 LLaMA LLM batch size 的 11 倍,从而将吞吐量提高 8.9 倍。

图片

更多技术细节请查看原论文。
产业BitNet b1.58BitNet
相关数据
清华大学机构

清华大学(Tsinghua University),简称“清华”,由中华人民共和国教育部直属,中央直管副部级建制,位列“211工程”、“985工程”、“世界一流大学和一流学科”,入选“基础学科拔尖学生培养试验计划”、“高等学校创新能力提升计划”、“高等学校学科创新引智计划”,为九校联盟、中国大学校长联谊会、东亚研究型大学协会、亚洲大学联盟、环太平洋大学联盟、清华—剑桥—MIT低碳大学联盟成员,被誉为“红色工程师的摇篮”。 清华大学的前身清华学堂始建于1911年,因水木清华而得名,是清政府设立的留美预备学校,其建校的资金源于1908年美国退还的部分庚子赔款。1912年更名为清华学校。1928年更名为国立清华大学。1937年抗日战争全面爆发后南迁长沙,与北京大学、南开大学组建国立长沙临时大学,1938年迁至昆明改名为国立西南联合大学。1946年迁回清华园。1949年中华人民共和国成立,清华大学进入了新的发展阶段。1952年全国高等学校院系调整后成为多科性工业大学。1978年以来逐步恢复和发展为综合性的研究型大学。

http://www.tsinghua.edu.cn/
相关技术
激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

算术技术

算术(英语:arithmetic)是数学最古老且最简单的一个分支,几乎被每个人使用着,从日常生活上简单的算数到高深的科学及工商业计算都会用到。一般而言,算术这一词指的是记录数字某些运算基本性质的数学分支。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~