Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

清华、哈工大把大模型压缩到了1bit,把大模型放在手机里跑的愿望就快要实现了!

近期,清华大学和哈尔滨工业大学联合发布了一篇论文:把大模型压缩到 1.0073 个比特时,仍然能使其保持约 83% 的性能!


自从大模型火爆出圈以后,人们对压缩大模型的愿望从未消减。这是因为,虽然大模型在很多方面表现出优秀的能力,但高昂的的部署代价极大提升了它的使用门槛。这种代价主要来自于空间占用和计算量。「模型量化」 通过把大模型的参数转化为低位宽的表示,进而节省空间占用。目前,主流方法可以在几乎不损失模型性能的情况下把已有模型压缩至 4bit。然而,低于 3bit 的量化像一堵不可逾越的高墙,让研究人员望而生畏。

图片                                         图 1 : 量化模型的困惑度在 2bit 时迅速上升

近期,一篇由清华大学、哈尔滨工业大学合作发表在 arXiv 上的论文为突破这一阻碍带来了希望,在国内外学术圈引起了不小的关注。这篇论文也在一周前登上 huggingface 的热点论文,并被著名论文推荐师 AK 推荐。研究团队直接越过 2bit 这一量化级别,大胆地进行了 1bit 量化的尝试,这在模型量化的研究中尚属首次

图片

论文标题:OneBit: Towards Extremely Low-bit Large Language Models
论文地址:https://arxiv.org/pdf/2402.11295.pdf

作者提出的方法称作 「OneBit」,非常贴切地形容了这一工作的本质:把预训练大模型压缩到真正的 1bit。该论文提出了模型参数 1bit 表示的新方法,以及量化模型参数的初始化方法,并通过量化感知训练(QAT)把高精度预训练模型的能力迁移至 1bit 量化模型。实验表明,这一方法能够在极大幅度压缩模型参数的同时,保证 LLaMA 模型至少 83% 的性能。

作者指出,当模型参数压缩至 1bit 后,矩阵乘法中的 「元素乘」将不复存在,取而代之的是更快速的 「位赋值」操作,这将大大提升计算效率。这一研究的重要意义在于,它不但跨越了 2bit 量化的鸿沟,也使在 PC 和智能手机上部署大模型成为可能。

已有工作的局限性

模型量化主要通过把模型的 nn.Linear 层(Embedding 层和 Lm_head 层除外)转化为低精度表示实现空间压缩。此前工作 [1,2] 的基础是利用 Round-To-Nearest(RTN)方法把高精度浮点数近似映射到附近的整数网格。这可以被表示成图片

然而基于 RTN 的方法在极低位宽时(3bit 以下)存在严重的精度损失问题,量化后的模型能力损失十分严重。特别是,量化参数以 1bit 表示时,RTN 中的缩放系数 s 和零点 z 会失去实际意义。这导致基于 RTN 的量化方法在 1bit 量化时几乎失效,难以有效地保留原模型的性能。

此外,此前的研究中也曾对 1bit 模型可能采用什么结构进行过探索。几个月前的工作 BitNet [3] 通过让模型参数通过 Sign (・) 函数并转为 + 1/-1 来实现 1bit 表示。但这一方法存在性能损失严重、训练过程不稳定的问题,限制了其实际应用。

OneBit 框架

OneBit 的方法框架包括全新的 1bit 层结构、基于 SVID 的参数初始化方法和基于量化感知知识蒸馏的知识迁移。

1. 新的 1bit 结构

OneBit 的终极目标是将 LLMs 的权重矩阵压缩到 1bit。真正的 1bit 要求每个权重值只能用 1bit 表示,即只有两种可能的状态。作者认为,在大模型的参数中,有两个重要因素都必须被考虑进来,那就是浮点数的高精度和参数矩阵的高秩。

因此,作者引入两个 FP16 格式的值向量以补偿由于量化导致的精度损失。这种设计不仅保持了原始权重矩阵的高秩,而且通过值向量提供了必要的浮点精度,有助于模型的训练和知识迁移。1bit 线性层的结构与 FP16 高精度线性层的结构对比如下图:
图片
                                  图 3 : FP16 线性层与 OneBit 线性层的对比

左侧的 (a) 是 FP16 精度模型结构,右侧的 (b) 是 OneBit 框架的线性层。可见,在 OneBit 框架中,只有值向量 g 和 h 保持 FP16 格式,而权重矩阵则全部由 ±1 组成。这样的结构兼顾了精度和秩,对保证稳定且高质量的学习过程很有意义。

OneBit 对模型的压缩幅度究竟如何?作者在论文中给了一个计算。假设对一个 4096*4096 的线性层进行压缩,那么 OneBit 需要一个 4096*4096 的 1bit 矩阵,和两个 4096*1 的 16bit 值向量。这里面总的位数为 16,908,288,总的参数个数为 16,785,408,平均每个参数占用仅仅约 1.0073 个 bit。这样的压缩幅度是空前的,可以说是真正的 1bit 大模型。

2. 基于 SVID 初始化量化模型

为了使用充分训练好的原模型更好地初始化量化后的模型,进而促进更好的知识迁移效果,作者提出一种新的参数矩阵分解方法,称为 「值 - 符号独立的矩阵分解(SVID)」。这一矩阵分解方法把符号和绝对值分开,并把绝对值进行秩 - 1 近似,其逼近原矩阵参数的方式可以表示成:

图片

这里的秩 - 1 近似可以通过常见的矩阵分解方式实现,例如奇异值分解(SVD)和非负矩阵分解(NMF)。而后,作者在数学上给出这种 SVID 方法可以通过交换运算次序来和 1bit 模型框架相匹配,进而实现参数初始化。并且,论文还证明了符号矩阵在分解过程中确实起到了近似原矩阵的作用。

3. 通过知识蒸馏迁移原模型能力

作者指出,解决大模型超低位宽量化的有效途径可能是量化感知训练 QAT。在 OneBit 模型结构下,通过知识蒸馏从未量化模型中学习,实现能力向量化模型的迁移。具体地,学生模型主要接受教师模型 logits 和 hidden state 的指导。

图片

图片
图片
训练时,值向量和矩阵的值会被更新。模型量化完成后,直接把 Sign (・) 后的参数保存下来,在推理和部署时直接使用。

实验及结果

OneBit 与 FP16 Transformer、经典的训练后量化强基线 GPTQ、量化感知训练强基线 LLM-QAT 和最新的 2bit 权重量化强基线 OmniQuant 进行了比较。此外,由于目前还没有 1bit 权重量化的研究,作者只对自己的 OneBit 框架使用了 1bit 权重量化,而对其他方法采取 2bit 量化设置,属于典型的 「以弱胜强」。

模型选择上,作者也选择了从 1.3B 到 13B 不同大小、OPT 和 LLaMA-1/2 不同系列的模型来证明 OneBit 的有效性。在评价指标上,作者沿用了以往模型量化的两大评价维度:验证集的困惑度和常识推理的 Zero-shot 准确度。

图片                                表 1 : OneBit 与基线方法的效果比较(OPT 模型与 LLaMA-1 模型)

图片

                                表 2 : OneBit 与基线方法的效果比较(LLaMA-2 模型)
 
表 1 和表 2 展示出了 OneBit 相比于其他方法在 1bit 量化时的优势。就量化模型在验证集的困惑度而言,OneBit 与 FP16 模型最为接近。就 Zero-shot 准确度而言,除 OPT 模型的个别数据集外,OneBit 量化模型几乎取得了最佳的性能。其余的 2bit 量化方法在两种评价指标上呈现较大的损失。

值得注意的是,OneBit 在模型越大时,效果往往越好。也就是说,随着模型规模增大,FP16 精度模型在困惑度降低上收效甚微,但 OneBit 却表现出更多的困惑度下降。此外,作者还指出量化感知训练对于超低位宽量化或许十分有必要。

图片

                                                  图 4 : 常识推理任务对比

图片

                                                       图 5 : 世界知识对比
图片
                                                   图 6 : 几种模型的空间占用和平均位宽

图 4 - 图 6 还对比了几类小模型的空间占用和性能损失,它们是通过不同的途径获得的:包括两个充分训练的模型 Pythia-1.0B 和 TinyLLaMA-1.1B,以及通过低秩分解获得的 LowRank Llama 和 OneBit-7B。可以看出,尽管 OneBit-7B 有最小的平均位宽、占用最小的空间,它在常识推理能力上仍然优于不逊于其他模型。作者同时指出,模型在社会科学领域面临较严重的知识遗忘。总的来说,OneBit-7B 展示出了其实际应用价值。正如图 7 所展示的,OneBit 量化后的 LLaMA-7B 模型经过指令微调后,展示出了流畅的文本生成能力。

图片

                                图 7 : OneBit 框架量化后的 LLaMA-7B 模型的能力

讨论与分析

1. 效率

图片                                 表 3 : OneBit 在不同 LLaMA 模型的压缩比

表 3 给出的是 OneBit 对不同规模 LLaMA 模型的压缩比。可以看出,OneBit 对模型的压缩比均超过 90%,这一压缩能力是史无前例的。其中值得注意的是,随着模型增大,OneBit 的压缩比越高,这是由于 Embedding 层这种不参与量化参数占比越来越小。前文提到,模型越大,OneBit 带来的性能增益越大,这显示出 OneBit 在更大模型上的优势。

图片

                                            图 8 : 模型大小与性能的权衡

虽然超低比特量化可能会导致一定的性能损失,但如图 8 所示,它在大小和性能之间达到了良好的平衡。作者认为,压缩模型的大小十分重要,特别是在移动设备上部署模型时。

此外,作者还指出了 1bit 量化模型在计算上的优势。由于参数是纯二进制的,可以用 0/1 在 1bit 内表示,这毫无疑问地节省大量的空间。高精度模型中矩阵乘法的元素相乘可以被变成高效的位运算,只需位赋值和加法就可以完成矩阵乘积,非常有应用前景。

2. 鲁棒性

二值网络普遍面临训练不稳定、收敛困难的问题。得益于作者引入的高精度值向量,模型训练的前向计算和后向计算均表现的十分稳定。BitNet 更早地提出 1bit 模型结构,但该结构很难从充分训练的高精度模型中迁移能力。如图 9 所示,作者尝试了多种不同的学习率来测试 BitNet 的迁移学习能力,发现在教师指导下其收敛难度较大,也在侧面证明了 OneBit 的稳定训练价值。

图片                                     图 9 : BitNet 在多种不同学习率下的训练后量化能力

论文的最后,作者还建议了超低位宽未来可能得研究方向。例如,寻找更优的参数初始化方法、更少的训练代价,或进一步考虑激活值的量化

更多技术细节请查看原论文。

[1] Dettmers T, Lewis M, Belkada Y, et al. Llm. int8 (): 8-bit matrix multiplication for transformers at scale [J]. arXiv preprint arXiv:2208.07339, 2022.
[2] Frantar E, Ashkboos S, Hoefler T, et al. GPTQ: Accurate post-training quantization for generative pre-trained transformers [J]. arXiv preprint arXiv:2210.17323, 2022.
[3] Wang H, Ma S, Dong L, et al. Bitnet: Scaling 1-bit transformers for large language models [J]. arXiv preprint arXiv:2310.11453, 2023.
产业模型量化哈尔滨工业大学清华大学OneBit
相关数据
清华大学机构

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

http://www.tsinghua.edu.cn/
相关技术
权重技术

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

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

参数技术

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

收敛技术

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

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

奇异值分解技术

类似于特征分解将矩阵分解成特征向量和特征值,奇异值分解(singular value decomposition, SVD)将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。通过分解矩阵,我们可以发现矩阵表示成数组元素时不明显的函数性质。而相比较特征分解,奇异值分解有着更为广泛的应用,这是因为每个实数矩阵都有一个奇异值分解,但未必都有特征分解。例如,非方阵型矩阵没有特征分解,这时只能使用奇异值分解。

非负矩阵分解技术

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合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)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

模型选择技术

模型选择是从给定数据的一组候选模型中选择统计模型的任务。对于具有类似预测或解释力的候选模型,最简单的模型最有可能是最佳选择(奥卡姆剃刀)。

知识蒸馏技术

Hinton 的工作引入了知识蒸馏压缩框架,即通过遵循“学生-教师”的范式减少深度网络的训练量,这种“学生-教师”的范式,即通过软化“教师”的输出而惩罚“学生”。为了完成这一点,学生学要训练以预测教师的输出,即真实的分类标签。这种方法十分简单,但它同样在各种图像分类任务中表现出较好的结果。

文本生成技术

文本生成是生成文本的任务,其目的是使人类书写文本难以区分。

矩阵分解技术

矩阵分解是一种将矩阵简化为其组成部分的方法。这种方法可以简化更复杂的矩阵运算,这些运算可以在分解的矩阵上执行,而不是在原始矩阵本身上执行。它的衍生Non-negative matrix factorization也被用于降维等操作上。

常识推理技术

常识推理是人工智能(AI)的一个分支,它关注模拟人类每天遇到的普通情境的类型和本质的假设。这些假设包括对人和物体的物理特性,目的,意图和行为的判断,以及他们的行为和相互作用的可能结果。展示常识推理的设备将能够预测结果并得出类似于人类民间心理学(人类对人们的行为和意图进行推理的天生能力)和天真物理学(人类对物理世界的自然理解)的结论。

量化技术

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

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