Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

FBI-LLM低比特基础大语言模型来了,首个完全从头训练的二值化语言模型

AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

作者介绍:论文一作Liqun Ma目前是MBZUAI机器学习系的博士生,导师为Zhiqiang Shen助理教授,同时也是该论文的最后作者,其在加入MBZUAI之前为CMU博士后,研究领域主要为机器学习,基础大模型等等。Liqun的主要研究方向为高效的大模型预训练和微调,他本科毕业于天津大学。论文二作Mingjie Sun目前为CMU计算机系在读博士,导师为Zico Kolter教授。

自回归训练方式已经成为了大语言模型(LLMs)训练的标准模式, 今天介绍一篇来自阿联酋世界第一所人工智能大学MBZUAI的VILA实验室和CMU计算机系合作的论文,题为《FBI-LLM: Scaling Up Fully Binarized LLMs from Scratch via Autoregressive Distillation》,该论文首次提出了采用自回归蒸馏的优化方式从头训练二值化的大语言模型,性能可以匹配或者接近FP16或者BF16训练的LLMs,同时效果远超之前所有二值化语言模型将近十个点。目前该工作的训练代码,数据和模型权重已全部开源。

图片

  • 论文:https://arxiv.org/abs/2407.07093
  • 代码:https://github.com/LiqunMa/FBI-LLM

核心结论和贡献

  • 相比之前的二值化语言模型,这是第一个从头开始训练,不使用任何预训练参数二值化语言模型
  • 训练过程仅仅使用自回归蒸馏损失,没有加入其他损失函数
  • 该工作是一个全量二值化模型,而不是之前一些方法采用的局部二值化或者三值化大模型。

背景介绍

最近几年受益于巨大的参数规模和海量的训练语料,基于Transformer的大型语言模型(LLMs),如ChatGPT和LLaMA系列,在特定领域知识的生成和复杂推理任务中都表现出色的性能。

此外,LLMs的能力随着参数规模的扩大而继续增强,给人们在通往AGI的道路上以无限遐想。然而,巨大的参数规模导致了模型需要巨大的存储和计算需求,这大大限制了LLMs的广泛应用和发展。量化技术通过将32位参数映射到更小的位数,有效地缓解了这些限制,该技术可以显著减少存储需求,并在推理过程中提升了计算速度和能源效率。

作为量化的极端情况,模型二值化仅用{-1, 1}来表示每个参数。它最大限度地实现了压缩和推理效率,但代价是牺牲一定程度的准确性。以往维持二值化LLMs性能的研究包括如何保留模型中重要参数或使用接近一位(部分二值化或者三值化)的表达方式来表示每个参数

虽然这些方法展现出了不错的性能和潜力,但它们在存储和效率方面仍有优化的空间,并且额外的全精度参数或采用非2的幂来表示参数编码在适配特定硬件时会产生额外的开销。某些全二值化LLMs的研究基于最小化层级图片损失的优化目标,或使用预训练的全精度LLM在其基础上继续训练,然后用少量训练数据进行二值化模型参数纠正,这些方法面临如下几个问题:

  • 之前某些方法借助预训练的全精度模型参数来减少训练计算量和优化步骤, 然而二值化过程会极大地压缩原始模型的参数空间,损害全精度模型中存储的知识,因此依然需要足够的训练数据来让二值化模型重新学习这些知识并适应二值化参数的模式;
  • 从现有预训练模型中衍生二值化模型 (使用预训练权重) 的方案不允许选择不同的参数规模或词汇表大小,从而限制了模型结构的灵活性和实际应用。

本文作者提出了一种从头开始训练的二值化LLMs(FBI-LLM)。为了实现从头开始稳定地训练二值化LLMs,文章提出了一种基于全精度教师模型的自回归蒸馏的新型训练模式。具体来说,在训练过程中,作者逐步从全精度教师模型中生成蒸馏使用的软标签,并采用基于自回归蒸馏的方案来匹配教师模型在每个token位置的预测概率。

通过这种简单直接的自回归蒸馏损失,可以成功地从随机初始化中训练二值化LLMs。由于该方法相比一般LLM训练的改动主要集中在损失函数上,FBI-LLM可以轻松地融入现有的LLM预训练过程。此外,这种方法中的二值化操作与模型训练是分离的,因此任何增强LLM训练效率或者性能的技术都可以直接应用于本文提出的FBI-LLM。

作者对框架FBI-LLM的有效性进行了详细评估,训练了从130M、1.3B到7B规模的不同模型。作者使用广泛使用的Transformer架构进行LLMs的训练,结果表明从头开始训练全二值化的LLMs是完全可行的,其性能与全精度模型相比只有很小的差距。

与其他基准线方法相比,训练过程在困惑度和多个下游任务上表现更为出色。这些结果表明自回归蒸馏是训练二值化LLMs的关键,此外,通过对预训练更加深入的研究(如权重翻转比和梯度范数)的分析表明,从全精度LLMs继承权重与从头开始训练二值化LLMs之间没有显著差异。

本文的贡献可以总结如下:首先,该论文首次证明可以成功地从头开始训练具有二值权重的LLMs;其次,本文提出了一种新的蒸馏损失函数,以稳定二值化LLMs的训练,其采用自回归蒸馏来匹配教师模型的概率分布;第三,本文进行了广泛的实验和分析,以更好地理解所提出的方法的有效性。

下面介绍一下文章具体细节。

模型结构

图片

模型结构主要基于LLaMA的结构。如上左图,首先是LLM 模块,其中包含使用可学习的α和β组成的 FBI-Linear层。右图为自回归蒸馏和模型训练相关过程。具体而言,由于在LLM 中,大多数参数都位于线性模块中。FBI-LM 将除causal head以外的所有线性模块替换为 FBI-linear层。由于causal head直接影响每个步骤中的输出token分布,因此对其参数进行二值化将显著影响模型输出的准确性,因此本文选择保留其精度。

此外,LLM 的另外两个核心模块(embedding和Layer Norm)中的参数也需要保持全精确。这是因为embedding模块包含有关所有标记的语义信息,并且作为模型输入的第一层,需要用来确定文本的初始表示形式。另一方面,Layer Norm 直接缩放激活值,二值化参数将显著降低每层激活值的语义表达能力,之前其他关于LLM二值化的工作和研究也选择采用类似的设置和做法。

模型训练:自回归蒸馏(Autoregressive Distillation)

给定一个训练语料图片,标准的自回归语言模型目标函数是最大化如下似然函数

图片

其中k表示上下文窗口的大小,条件概率p通过参数为θ的神经网络建模。不同于一般的自回归语言模型,本文使用自回归蒸馏训练 FBI-LLM。在训练过程中,一个全精度预训练 LLM 被用作教师模型,二值化目标模型作为学生模型。假设每个训练数据实例由输入token序列x^1,…x^m组成,教师模型对下一个标记的预测概率可以表示为:

图片

其中图片表示最后一层 transformer 模块的激活,图片表示用于预测下一个token概率的线性输出层的参数

学生模型与教师模型输出之间的交叉熵被计算为每一步预测下一个token时的最终损失函数。它可以表示为:

图片

其中n表示输入标记的数量。图片表示教师模型预测的第i步词汇表上的标记分布,而图片是学生模型的相应预测分布。

训练数据

本文使用的训练数据集跟一般的LLM训练相似,包含 Refined-Web 、StarCoder  和 RedPajama-v1的混合数据集,总共包含 1.26T tokens。

实验结果

如下图所示,首先是对现有的二值化 LLM 和 FBI-LLM 在 Wikitext2 的困惑度 (Perplexity) 比较。与其他二值化 LLM 相比,FBI-LLM 在相同规模大小的模型上获得相似或更低的困惑程度。

图片

其次是在下游任务上的性能表现,如下表所示,由于 130M 大小的FBI-LLM没有对应的基准模型,本文将 130M 模型与之前 700M 规模的 BitNetb1.58 进行比较。尽管模型规模相差五倍,权重量化程度也存在较大的差异,但FBI的模型在 BoolQA 和 OpenbookQA 上的表现仍然优于 BitNet b1.58。

对于 1.3B 规模的二值化模型,FBI-LLM 在大多数下游任务和困惑度中都取得了最佳性能,甚至接近或超过了某些 7B 规模的二值化模型(如 BiLLM-LLaMA2-7B)的性能。与相同规模的全精度模型相比, FBI-LLM 1.3B 在下游任务中可以达到其 87% 的性能。在 7B 规模中,FBI模型依然显著优于之前几乎所有的基准线模型,具体来说,FBI-LLM相比之前最好的方法平均提升了将近十个点。

图片

此外,由于计算资源的限制,FBI-LLM 7B当前汇报的结果并不是最终结果。作者只使用了整个 数据集的 8.6%(31 个块)。下图展示了FBI-LLM-7B训练过程中下游任务准确率和困惑度的变化。显然,从目前的训练进度来看,FBI-LLM-7B的性能将持续提高,更进一步的训练可能会得到更好的效果。

图片

模型分析和可视化

二值化大模型是 从头开始训练还是从预训练的 LLM 接着训练?

直观地说,从预训练的 LLM 继续训练可以让二值化模型从全精度原始模型中继承知识,从而可能比从头开始训练获得更好的结果。为了论证这一假设,本文进行了全面的消融和分析实验,以记录和比较模型在两种不同训练模式下的行为。

从下图 (a) 中可以观察到,在训练初期,两种训练方式的 FF ratio 趋势基本保持一致。在整个训练过程中,两种方法的 FF ratio 都处于相似的大小上,并且数值相对较小。该结果表明,两种不同的参数初始化方法对二值化优化过程的影响没有显著差异。下图 (b) 展示了两种训练模式下的训练损失变化。在训练的初始阶段,两种方法的训练损失基本相同,表明模型的训练损失不会显著受初始化方法的影响。

虽然从头开始训练的损失在中间阶段比继续训练的损失略高,但过一段时间后,从头开始训练的损失再次与接着训练的损失相当,甚至变得比继续训练的损失更为稳定。值得注意的是,在大约第 1000 步时,如图 (a) 所示,当从预训练的 LLM 继续训练时,FF ratio 开始出现明显的波动。同样,在图 (b) 所示的第 1700 步左右,训练损失也遇到了类似的问题。

这些发现挑战了之前相关工作的一些假设,即从预训练的 LLM权重开始训练二值化大模型将赋予二值化LLM继承之前预训练的知识,从而提高性能。然而,本文结果和分析暗示了二值化LLM对参数初始化的方式不敏感,或者说随机参数初始化反而更好。对于原因,本文推测二值化和全精度LLM采用不同的参数组合和配置来编码语义,这导致其参数空间模式存在实质性差异。为了适应这种模式,通过从预训练的 LLM 继续训练来优化二值化的过程可能需要更大幅度的参数数值调整和变换,从而破坏预训练参数模式结构,继而破坏其中保存的知识。这个理论可以部分地解释为什么在训练期间与从头开始训练相比,继续预训练的权重反而让二值化LLM变得更不稳定。

图片

训练的稳定性分析

二值化和全精度LLM训练在之前一些工作中都被发现表现出不稳定的训练行为。 FBI-LLM 也有类似的问题,具体表现为在训练 1.3B 和 7B FBI-LLM 时训练损失突然激增,有时在此之后继续训练模型也无法收敛。本文采用类似于 PaLM的解决方案:如果损失值不再趋于收敛,模型将恢复到前一个检查点,并跳过触发不稳定损失的数据块以继续训练。使用此方法,模型在相同的训练步骤中不再遇到问题。根据该论文的观察,从头开始训练 7B FBI 模型大约有 6% 的概率导致出现损失峰值。对于 1.3B 模型,由于其模型能力较低,训练更加不稳定,损失峰值的出现概率约为 15%。这与在全精度 LLM 中看到的预训练行为相似,而尖峰的概率明显更高,这可能与二值化参数的有限表达能力有关。为了解决这个问题,FBI跳过了发生损失峰值且没法通过后续训练恢复的数据块。

存储效率分析

图片

上表显示了不同规模的FBI-LLM与相同结构的全精度LLaMA相比所需的理论存储空间,同时还详细给出了 FBI-LLM 引入的附加参数(α 和 β)的比例。表中的比较表明,FBI-LLM可以实现高压缩比,大大减轻了LLMs的存储负担。尽管 FBI-LLM 引入的用于缩放和移动的额外参数需要保留全精确,但它们的比例相比整个模型很小,因此其对存储的影响可以忽略不计。

生成结果示例

图片

如上图所示,尽管 FBI-LLM 的生成质量无法完全匹配全精度 LLM模型,但 FBI-LLM 仍然可以生成流畅且有意义的内容。与具有更高参数位宽的BitNet b1.58模型相比,FBI-LLM对提示的理解更好,并且在一些生成的示例中包含了更多的知识。这表明FBI-LLMs具有更强的生成能力,并包含足够的知识。此外,FBI-LLM展示了进一步扩大模型规模从而达到更高智力水平的二值化模型的潜力,这种类型的大模型 (二值化大模型) 对部署的硬件需求也更加友好。

模型配置和训练细节

具体的模型配置和训练细节如下所示:

图片

更多细节欢迎阅读论原文。

理论
相关数据
范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

权重技术

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

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

二值化技术

二值化是将像素图像转换为二进制图像的过程。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

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

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

似然函数技术

在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。 似然函数在统计推断中有重大作用,如在最大似然估计和费雪信息之中的应用等等。“ 似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,但是在统计学中,“似然性”和“或然性”或“概率”又有明确的区分。

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
语言模型技术

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

量化技术

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

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