清华、哈工大把大模型压缩到了1bit,把大模型放在手机里跑的愿望就快要实现了!
自从大模型火爆出圈以后,人们对压缩大模型的愿望从未消减。这是因为,虽然大模型在很多方面表现出优秀的能力,但高昂的的部署代价极大提升了它的使用门槛。这种代价主要来自于空间占用和计算量。「模型量化」 通过把大模型的参数转化为低位宽的表示,进而节省空间占用。目前,主流方法可以在几乎不损失模型性能的情况下把已有模型压缩至 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 在多种不同学习率下的训练后量化能力
论文的最后,作者还建议了超低位宽未来可能得研究方向。例如,寻找更优的参数初始化方法、更少的训练代价,或进一步考虑激活值的量化。
更多技术细节请查看原论文。
以上是清华、哈工大把大模型压缩到了1bit,把大模型放在手机里跑的愿望就快要实现了!的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

想象一下,一个人工智能模型,不仅拥有超越传统计算的能力,还能以更低的成本实现更高效的性能。这不是科幻,DeepSeek-V2[1],全球最强开源MoE模型来了。DeepSeek-V2是一个强大的专家混合(MoE)语言模型,具有训练经济、推理高效的特点。它由236B个参数组成,其中21B个参数用于激活每个标记。与DeepSeek67B相比,DeepSeek-V2性能更强,同时节省了42.5%的训练成本,减少了93.3%的KV缓存,最大生成吞吐量提高到5.76倍。DeepSeek是一家探索通用人工智

AI,的确正在改变数学。最近,一直十分关注这个议题的陶哲轩,转发了最近一期的《美国数学学会通报》(BulletinoftheAmericanMathematicalSociety)。围绕「机器会改变数学吗?」这个话题,众多数学家发表了自己的观点,全程火花四射,内容硬核,精彩纷呈。作者阵容强大,包括菲尔兹奖得主AkshayVenkatesh、华裔数学家郑乐隽、纽大计算机科学家ErnestDavis等多位业界知名学者。AI的世界已经发生了天翻地覆的变化,要知道,其中很多文章是在一年前提交的,而在这一

谷歌力推的JAX在最近的基准测试中性能已经超过Pytorch和TensorFlow,7项指标排名第一。而且测试并不是在JAX性能表现最好的TPU上完成的。虽然现在在开发者中,Pytorch依然比Tensorflow更受欢迎。但未来,也许有更多的大模型会基于JAX平台进行训练和运行。模型最近,Keras团队为三个后端(TensorFlow、JAX、PyTorch)与原生PyTorch实现以及搭配TensorFlow的Keras2进行了基准测试。首先,他们为生成式和非生成式人工智能任务选择了一组主流

波士顿动力Atlas,正式进入电动机器人时代!昨天,液压Atlas刚刚「含泪」退出历史舞台,今天波士顿动力就宣布:电动Atlas上岗。看来,在商用人形机器人领域,波士顿动力是下定决心要和特斯拉硬刚一把了。新视频放出后,短短十几小时内,就已经有一百多万观看。旧人离去,新角色登场,这是历史的必然。毫无疑问,今年是人形机器人的爆发年。网友锐评:机器人的进步,让今年看起来像人类的开幕式动作、自由度远超人类,但这真不是恐怖片?视频一开始,Atlas平静地躺在地上,看起来应该是仰面朝天。接下来,让人惊掉下巴

本月初,来自MIT等机构的研究者提出了一种非常有潜力的MLP替代方法——KAN。KAN在准确性和可解释性方面表现优于MLP。而且它能以非常少的参数量胜过以更大参数量运行的MLP。比如,作者表示,他们用KAN以更小的网络和更高的自动化程度重现了DeepMind的结果。具体来说,DeepMind的MLP有大约300,000个参数,而KAN只有约200个参数。KAN与MLP一样具有强大的数学基础,MLP基于通用逼近定理,而KAN基于Kolmogorov-Arnold表示定理。如下图所示,KAN在边上具

发现某下载网站下载的压缩包,解压后再打包会比原来的压缩包大一些,小的几十Kb的差别,大的几十Mb的差别,如果上传到云盘或付费空间,文件少无所谓,文件多的话,大大的增加储存成本。特意研究了下,有需要的可以借鉴。压缩等级:9-极限压缩字典大小:256或384,字典越压缩越慢,256MB之前压缩率差别较大,384MB后压缩率无差别单词大小:最大273参数:f=BCJ2,测试加参数压缩率会高一些

特斯拉机器人Optimus最新视频出炉,已经可以在厂子里打工了。正常速度下,它分拣电池(特斯拉的4680电池)是这样的:官方还放出了20倍速下的样子——在小小的“工位”上,拣啊拣啊拣:这次放出的视频亮点之一在于Optimus在厂子里完成这项工作,是完全自主的,全程没有人为的干预。并且在Optimus的视角之下,它还可以把放歪了的电池重新捡起来放置,主打一个自动纠错:对于Optimus的手,英伟达科学家JimFan给出了高度的评价:Optimus的手是全球五指机器人里最灵巧的之一。它的手不仅有触觉

目标检测在自动驾驶系统当中是一个比较成熟的问题,其中行人检测是最早得以部署算法之一。在多数论文当中已经进行了非常全面的研究。然而,利用鱼眼相机进行环视的距离感知相对来说研究较少。由于径向畸变大,标准的边界框表示在鱼眼相机当中很难实施。为了缓解上述描述,我们探索了扩展边界框、椭圆、通用多边形设计为极坐标/角度表示,并定义一个实例分割mIOU度量来分析这些表示。所提出的具有多边形形状的模型fisheyeDetNet优于其他模型,并同时在用于自动驾驶的Valeo鱼眼相机数据集上实现了49.5%的mAP
