当前位置:   article > 正文

每日论文速递 | 1-bit LLM时代:所有LLM都在1.58Bit中

the era of 1-bit llms: all large language models are in 1.58 bits

深度学习自然语言处理 分享
整理:pp

The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bitsb8e8f56c990d1099504219df5e01a529.png59e8bccfe8646889622e762b02178666.png摘要:最近的研究,如BitNet,正在为1位大型语言模型(LLM)的新时代铺平道路。在这项工作中,我们引入了一个1位LLM变体,即BitNet b1.58,其中LLM的每个单个参数(或权重)都是三进制{-1,0,1}。它匹配全精度(即,FP 16或BF 16)Transformer LLM在困惑度和最终任务性能方面具有相同的模型大小和训练令牌,同时在延迟、内存、吞吐量和能耗方面具有更高的成本效益。更重要的是,1.58位LLM定义了一个新的缩放定律和配方,用于训练新一代的LLM,这些LLM既具有高性能又具有成本效益。此外,它实现了一种新的计算范式,并为设计针对1位LLM优化的特定硬件打开了大门。https://arxiv.org/abs/2402.17764

Q1: 这篇论文试图解决什么问题?

A:这篇论文试图解决的问题是如何在保持大型语言模型(LLMs)性能的同时,显著降低其在部署和运行时的成本。具体来说,它关注以下几个方面:

降低能耗:随着LLMs规模的增长,其能源消耗也急剧增加,这不仅对环境造成了影响,也增加了经济成本。论文提出了一种1.58位的LLM变体(BitNet b1.58),通过使用更低位宽的参数({-1, 0, 1}),减少了模型的内存和计算需求,从而降低了能耗。

提高效率:传统的16位浮点数(FP16或BF16)LLMs在矩阵乘法等操作中涉及大量的浮点加法和乘法,这在许多芯片上是计算性能的瓶颈BitNet b1.58通过仅使用整数加法来执行矩阵乘法,大幅节省了能量成本,并且能够实现更快的计算。

优化内存使用:在推理过程中,将模型参数从DRAM传输到芯片上的加速器内存(如SRAM)是一个成本较高的过程。1位LLMs由于其较低的内存占用,可以显著减少从DRAM加载权重的成本和时间,从而提高推理效率

支持特征过滤:BitNet b1.58通过在模型权重中引入0值,提供了对特征过滤的显式支持,这可以显著提高1位LLMs的性能

新硬件设计:论文还提出了为1位LLMs设计特定硬件的设想,以进一步优化性能和成本。

总的来说,论文的目标是开发一种既高性能又成本效益的新型LLM,同时为未来的硬件设计提供指导,以更好地适应这种新的计算范式。

Q2: 有哪些相关研究?

A:论文中提到了多项相关研究,这些研究主要集中在以下几个方面:

低比特量化:研究如何通过降低模型权重和激活的位宽来减少LLMs的内存占用和计算成本。例如,XLS+23、FAHA23、CCKS23、TCS+24等研究探讨了从16位浮点数向更低比特(如4位)转换的方法。

1位模型架构:WMD+23的研究提出了BitNet,这是一种1位的LLM架构,它通过仅使用整数加法来执行矩阵乘法,显著降低了计算成本。

Transformer模型的优化:LLaMA LLM(TLI+23, TMS+23)作为开源LLMs的主流架构,其组件和设计被BitNet b1.58所采用,以便于集成到现有的开源软件中。

推理成本的优化:研究如何通过优化模型结构和硬件来降低LLMs在推理时的延迟、内存使用和能量消耗。例如,Ladder(WMC+23)的研究提供了针对LLM推理延迟的优化。

模型性能的评估:研究如何评估LLMs在不同任务上的性能,包括零样本(zero-shot)任务。例如,ARC-Easy(YBS19)、ARC-Challenge(YBS19)、Hellaswag(ZHB+19)、Winogrande(SBBC20)、PIQA(BZB+19)、OpenbookQA(MCKS18)、BoolQ(CLC+19)等任务被用来评估BitNet b1.58的性能。

模型训练的优化:研究如何通过改进训练过程来提高LLMs的性能。例如,StableLM-3B(TBMR)的研究提供了一种训练3B大小模型的方法,该方法也被用于BitNet b1.58的训练。

硬件设计:Groq5的研究展示了为LLMs设计特定硬件(如LPU)的潜力,这为BitNet b1.58等1位LLMs的硬件优化提供了参考。

这些相关研究为BitNet b1.58的开发提供了理论基础和技术背景,同时也展示了LLMs领域在性能优化和成本降低方面的持续进步。

Q3: 论文如何解决这个问题?

A:论文通过以下关键方法解决了在保持大型语言模型(LLMs)性能的同时降低成本的问题:

1.58位权重提出了一种新的1位LLM变体,BitNet b1.58,其中每个参数(权重)都是三元的,即取值为{-1, 0, 1}。这种表示方法在二进制系统中相当于1.58位。这种方法减少了模型的内存占用,同时通过整数加法而非浮点运算来降低计算成本

量化函数:为了将权重限制在-1, 0, +1的范围内,论文采用了一种称为absmean的量化函数。这个函数首先根据权重矩阵的平均绝对值进行缩放,然后将每个值四舍五入到最近的整数。

LLaMA-like组件:BitNet b1.58采用了LLaMA模型的类似组件,如RMSNorm、SwiGLU、旋转嵌入(rotary embedding),并去除了所有偏置。这使得BitNet b1.58能够更容易地集成到流行的开源软件中

性能评估:通过在多个语言任务上评估BitNet b1.58的零样本性能,包括ARC-Easy、ARC-Challenge、Hellaswag、Winogrande、PIQA、OpenbookQA和BoolQ等,以及在WikiText2和C4数据集上的验证困惑度(perplexity),来比较BitNet b1.58与FP16 LLaMA LLM的性能。

成本比较:论文比较了BitNet b1.58与LLaMA LLM在不同模型大小下的内存、延迟、吞吐量和能量消耗。结果表明,BitNet b1.58在保持性能的同时,显著降低了这些成本。

新硬件设计:论文提出了为1位LLMs设计特定硬件的想法,以进一步优化性能和成本。这包括对现有硬件的改进,以及开发新的硬件架构来适应1位计算。

长序列支持:BitNet b1.58通过将激活从16位减少到8位,为长序列提供了更好的支持,这允许在相同的资源下翻倍上下文长度。

边缘和移动设备上的LLMs:由于1.58位LLMs的内存和能量消耗降低,它们可以更容易地部署在边缘和移动设备上,这为这些设备上的语言模型应用提供了新的可能性。

Q4: 论文做了哪些实验?

A:论文中进行了一系列实验来验证BitNet b1.58模型的性能和效率。以下是主要的实验内容:

模型性能比较:
使用不同大小的BitNet b1.58模型(700M, 1.3B, 3B, 3.9B)与LLaMA LLM进行比较。

在多个自然语言处理任务上评估零样本(zero-shot)性能,包括ARC-Easy、ARC-Challenge、Hellaswag、Winogrande、PIQA、OpenbookQA和BoolQ等。

在WikiText2和C4数据集上报告验证困惑度(perplexity)。

成本效益分析:
比较了BitNet b1.58与LLaMA LLM在不同模型大小下的内存使用、延迟和吞吐量。

使用FasterTransformer3代码库和Ladder的2-bit内核来测量GPU内存和延迟。

在不同模型大小(7B, 13B, 70B)上评估成本,包括延迟和内存消耗。

能量消耗估计:
估计了BitNet b1.58和LLaMA LLM在矩阵乘法操作中的算术运算能量消耗。

报告了不同模型大小下端到端能量成本的比较。

吞吐量比较:
在两个80GB A100卡上,使用pipeline parallelism比较了BitNet b1.58 70B和LLaMA LLM 70B的吞吐量。

2T训练令牌的可扩展性测试:
训练了一个使用2T训练令牌的BitNet b1.58模型,并在Winogrande、PIQA、SciQ、LAMBADA和ARC-easy等任务上评估零样本准确率。

1位混合专家模型(MoE):
探讨了1.58位LLMs在减少MoE模型的内存消耗和网络传输开销方面的潜力。

长序列支持:
讨论了BitNet b1.58在支持长序列方面的潜力,以及如何通过进一步压缩来实现。

边缘和移动设备上的LLMs:
讨论了1.58位LLMs在边缘和移动设备上部署的潜力,以及对CPU友好性。

Q5: 有什么可以进一步探索的点?

A:论文中提出了一些可以进一步探索的点,这些点主要集中在以下几个方面:

长序列的无损压缩:
BitNet b1.58已经将激活从16位减少到8位,未来可以考虑将1.58位LLMs的激活进一步压缩到4位或更低,以支持更长的序列,同时保持性能。

边缘和移动设备上的LLMs:
研究如何将1.58位LLMs部署到边缘和移动设备上,以及如何优化这些设备上的LLMs性能和资源使用。

新硬件设计:
设计和开发专门针对1位LLMs的硬件,如低精度处理器(LPUs),以进一步提高性能和降低成本。

1位混合专家模型(MoE):
探索1.58位LLMs在MoE架构中的应用,以解决高内存消耗和跨芯片通信开销的问题。

训练策略和数据集:
研究使用不同数量的训练令牌(如2T)对1.58位LLMs性能的影响,以及如何优化训练过程以适应这种新的位宽。

模型泛化能力:
对1.58位LLMs在不同任务和数据集上的泛化能力进行更深入的分析,以确保其在多样化的应用场景中的有效性。

系统级优化:
研究如何在系统级别上进一步优化1.58位LLMs,包括内存管理、计算调度和能效比。

模型鲁棒性:
评估1.58位LLMs在面对不同类型的输入噪声和异常情况时的鲁棒性。

可解释性和透明度:
研究如何在降低位宽的同时保持或提高模型的可解释性和透明度,这对于模型的安全性和信任至关重要。

环境影响:
评估1.58位LLMs在减少能源消耗方面的环境影响,以及如何通过这些技术实现更可持续的AI发展。

Q6: 总结一下论文的主要内容?

A:这篇论文介绍了一种新型的1位大型语言模型(LLM)变体,称为BitNet b1.58。以下是论文的主要内容总结:

背景:
随着LLMs规模的增长,其在部署和运行时的高能耗和成本成为了一个挑战。传统的16位浮点数(FP16或BF16)LLMs在矩阵乘法等操作中涉及大量的浮点运算,导致能耗高。

BitNet b1.58模型:
提出了一种1位LLM变体,其中每个参数(权重)都是三元的,即取值为{-1, 0, 1}。这种表示方法在二进制系统中相当于1.58位。BitNet b1.58在保持与全精度(FP16)模型相同的性能的同时,显著降低了延迟、内存使用、吞吐量和能量消耗。

关键技术:
使用absmean量化函数将权重量化为三元值。

采用LLaMA-like组件,包括RMSNorm、SwiGLU、旋转嵌入等,以便于集成到现有的开源软件中。

在不同大小的模型上进行性能评估,包括零样本任务和验证困惑度(perplexity)。

实验结果:
BitNet b1.58在3B模型大小时开始与全精度LLaMA LLM在困惑度上匹配,同时具有更快的推理速度和更低的GPU内存使用。

在70B模型大小时,BitNet b1.58的推理速度是LLaMA LLM的4.1倍,内存消耗减少了7.16倍。

在能量消耗方面,BitNet b1.58在7nm芯片上进行矩阵乘法时节省了71.4倍的算术运算能量。

未来工作:
探索1.58位LLMs在支持长序列、边缘和移动设备部署、新硬件设计等方面的潜力。

研究1位混合专家模型(MoE)在降低成本和提高效率方面的应用。

设计针对1位LLMs的特定硬件,以进一步优化性能。

结论:
BitNet b1.58不仅在性能上与全精度模型相匹配,而且在成本效益方面提供了显著的改进,为LLMs的未来发展提供了新的方向。

以上内容均由KimiChat生成,深入了解论文内容仍需精读论文


备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群

e7011828a308f5159bdc7fe443180bfc.png

id:DLNLPer,记得备注呦

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/361304
推荐阅读
相关标签
  

闽ICP备14008679号