北航悉尼大学联合研发突破性高效AI技术:双重二值化方法重塑大型语言模型效率

image.png

论文题目: DB-LLM: Accurate Dual-Binarization for Efficient LLMs
论文链接: https://arxiv.org/abs/2402.11960

大型语言模型(LLMs)的双重二值化方法:新纪元的高效自然语言处理。随着大型语言模型(LLMs)在自然语言处理领域取得显著进展,它们在实际应用中却受到高昂的内存和计算消耗的限制。而量化作为提高LLMs计算效率的最有效手段之一,却在现有的超低位宽量化中遇到了严重的准确性下降问题。

为此,我们在本论文中提出了一种针对LLMs的新颖双重二值化方法——DB-LLM,在微观层面,我们综合考虑了两比特位宽的准确性优势和二值化的效率优势,引入了灵活的双重二值化(FDB)技术。通过将2位量化权重分割为两套独立的二进制集合,FDB在保证表示准确性的同时,引入了灵活性,利用二值化的高效位操作,并保持了超低位量化的高稀疏性。在宏观层面,我们发现了LLMs在量化后预测中存在的失真问题,即与样本模糊性相关的偏差

我们提出了偏差感知蒸馏(DAD)方法,使模型能够根据不同样本进行不同的关注。**全面的实验表明,我们的DB-LLM不仅在超低位量化方面大幅超越当前最先进技术(例如,复杂度从9.64降至7.23),而且在相同位宽下,与最先进方法相比,计算消耗额外减少了20%**。

image.png
首次在2比特量化中相比全精度模型达成了帕累托改进(Pareto Improvement)

 

image.png
两个独立01矩阵形式的权重,避免了矩阵乘时的乘法运算

 

01. 引言

超低位量化(≤ 4位)作为一种极其高效的量化形式,能实现超过8倍的内存压缩比。尽管这些专门的仅权重量化方案在存储消耗上实现了节省,但它们仍无法避免昂贵的浮点运算。我们注意到,这些量化方案会导致严重的准确性下降。例如,尽管应用了先进的2位量化技术,65B模型的性能仍然略低于7B模型。

本文的动机包含微观层面和宏观层面两个方面:

  • 微观层面,近期研究表明,LLMs的权重呈对称高斯分布,且少部分显著权重对量化性能至关重要。在多低位量化的角度进行深入探究时发现,二值化受限于表征能力较弱,且剩余两级权重趋向于零,导致忽视了关键的显著权重,从而产生较高的损失值。而2位量化自然克服了表征瓶颈,虽然最小损失点显著降低,但损失曲面仍然陡峭,带来优化难度。因此,为结合二值化的高效率和2位量化的灵活表征能力,提出灵活的双重二值化(FDB)方法。

image.png

 

  • 宏观层面,量化的大型语言模型在预测偏好上的长尾分布存在偏差。当前主流大型语言模型的构建基于利用长尾语料库的字节对编码(BPE),而全精度LLMs的预测偏好遵循长尾分布。然而,极低位模型的预测偏离了此分布,显示出增加的失真,特别是在倾向于预测词汇表中高频头部类别。对比同样输入下,低位模型预测常见头部类别的概率约是预测不常见尾部类别的1.6倍,表明了对更普遍类别的偏见。通过信息熵度量失败预测的不确定性,发现量化模型在处理含糊样本时的挑战,倾向于更保守的预测。因此,提出了偏差感知蒸馏(DAD)方法,通过利用一对熵(即教师-学生熵)作为难度指标来优先处理不确定样本。

为解决这些问题,我们提出了一种新型的双重二值化方法,称为DB-LLM,以实现精确的2位LLMs。具体来说,我们首先引入灵活的双重二值化(FDB),通过灵活的双二值化器增强表示能力,同时充分利用二值化参数的效率优势。其次,我们提出了偏差感知蒸馏(DAD)来减轻扭曲偏好,这种方法通过重加权蒸馏损失来放大样本间的模糊性,使低位LLMs能够感知每个样本的不确定性,实现平衡的知识传递。

02. 本文方法

2.1 灵活的双重二值化(Flexible Dual Binarization)

FDB方法结合了二值化的高效性和2位量化的准确性。它将2位量化的权重分割为两组独立的1位二进制数,并映射到0和1,旨在同时增强表示能力和利用二值化的位运算效率。

image.png

 

通过这种方式,FDB不仅保持了超低位量化的高稀疏性特点,还提高了对权重的灵活表示,使损失曲面更加平坦,并降低了损失。

image.png

 

具体来说,FDB首先从相对较高位宽的LLM中继承性能,然后通过微调尺度参数进一步增强表示能力。FDB将2位量化权重分为两个1位权重,并分别为它们分配缩放因子α1和α2,这些参数将在微调阶段进行优化​。

image.png

 

2.2 偏差感知蒸馏(Deviation-Aware Distillation)

DAD方法是为了解决超低位量化后LLM的预测偏差问题而提出的。研究发现,经过量化的模型更倾向于预测高频的头部类别,而不是低频的尾部类别,从而表现出对常见类别的偏见。

image.png

 

DAD通过利用教师模型和学生模型的熵作为样本难度的指标,优先处理不确定性高的样本。它通过在蒸馏损失函数中引入教师-学生联合熵,重新加权损失函数,使低位模型更加关注模棱两可的样本,从而实现从全精度教师模型到量化模型的更平衡的知识转移​​​​。

image.png

 

03. 实验效果

生成任务上的困惑度指标: 在生成任务中,DB-LLM模型展示了出色的性能。尤其在使用2位量化时,该模型在不同规模的LLaMA家族模型(如LLaMA-1-30B和LLaMA-1-65B)上表现优异。例如,在LLaMA-1-30B模型上,DB-LLM实现了5.52的困惑度(Perplexity),而在LLaMA-1-65B模型上达到了4.84。这些结果不仅接近全精度LLaMA-1-7B模型的困惑度(5.68),甚至优于其他3位量化方法,如AWQ。这一成果突显了DB-LLM在保持高性能的同时,有效降低量化位宽的能力​​​​。

image.png

 

零样本(zero-shot)任务效果: 在零样本任务中,DB-LLM同样表现出色。在多个零样本任务(如PIQA、ARC-e、ARC-c、HellaSwag和Winogrande)中,DB-LLM在2位量化情况下均实现了令人满意的准确度,全面超越其他方法。具体来说,在LLaMA-1-7B模型上,DB-LLM在这些任务中的平均准确度明显高于其他量化方法,显示了其在处理零样本任务时的高效性和通用性​​​​。

image.png

 

节省存储和计算效率: 在存储和计算效率方面,DB-LLM取得了显著的成果。在LLaMA-1-7B模型上,DB-LLM将模型的存储空间从12.6G降低至2.3G。同时,在计算效率方面,除了受益于位运算,由于权重稀疏性(超过60%)得以提升,相比全精度模型(FP16),DB-LLM将单次推理所需的浮点运算数(FLOPs)从423.4G大幅减少至29.8G,降低了约14.2倍。这种显著的降低不仅在计算资源受限的设备上具有重要价值,同时也减轻了存储和计算的负担​​​​​​。

image.png

 

04. 总结

文中介绍的DB-LLM模型通过结合柔性双重二值化(FDB)方法和偏差感知蒸馏(DAD)方法,有效提升了大型语言模型(LLM)在超低位量化情况下的性能和效率。FDB方法有效地结合了二值化的运算效率和2位量化的准确性,通过将2位量化的权重分割成两组1位二进制数,不仅保持了超低位量化的高稀疏性,还提高了权重的灵活表示能力。而DAD方法则针对超低位量化后模型的预测偏差问题,通过利用教师-学生模型的熵作为样本难度的指标,优先处理不确定性高的样本,实现了从全精度教师模型到量化模型的更平衡的知识转移。这两种方法的结合使DB-LLM在保持低计算需求的同时,也在精度上达到了超越当前最先进技术的水平。


  关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/761873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Amazon SageMaker + Stable Diffusion 搭建文本生成图像模型

如果我们的计算机视觉系统要真正理解视觉世界,它们不仅必须能够识别图像,而且必须能够生成图像。文本到图像的 AI 模型仅根据简单的文字输入就可以生成图像。 近两年,以ChatGPT为代表的AIGC技术崭露头角,逐渐从学术研究的象牙塔迈…

应急救援装备无人机是否必要?无人机在应急救援中的具体应用案例有哪些?

无人机(Drone)是一种能够飞行并自主控制或远程操控的无人驾驶飞行器。它们通常由航空器、控制系统、通讯链路和电源系统组成,并可以根据任务需求搭载不同类型的传感器、摄像头、货物投放装置等设备。 无人机的种类繁多,从大小、形…

信号量实现生产者消费者程序_C语言示例

信号量的基本思想是通过一个计数器和一组相关的操作来实现资源的控制和同步。计数器表示可用的资源数量,每次访问共享资源时,线程需要先申请信号量,如果信号量的计数器大于零,则线程可以访问共享资源并将计数器减一;如…

Android Handler使用介绍

Android 中的 Handler 是用来和线程通信的重要工具。它主要用于在后台线程中执行任务,并将结果传递回主线程以更新用户界面。 一、基本概念 线程间通信: Android 应用通常具有主线程(也称为 UI 线程)和后台线程。Handler 允许您从…

操作系统面经-程序和进程的区别

1.程序、进程、线程简述 程序的基本概念 程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。 进程的基本概念 在多道程序环境下,允许多个程序并发执行,此时它们将失去封闭性&#xf…

Verilog刷题笔记41

题目:Create 8 D flip-flops with active high asynchronous reset. All DFFs should be triggered by the positive edge of clk. 解题: module top_module (input clk,input areset, // active high asynchronous resetinput [7:0] d,output [7:0]…

ollama -linux部署

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 安装对应的包启动ollama启动llama2大模型(新开一个终端)python接口对话streamlit对话 安装对应的包 # linux 安装curl -fsSL https://ollam…

开发chrome扩展( 禁止指定域名使用插件)

mainfest.json: {"manifest_version": 3,"name": "ChatGPT学习","version": "0.0.2","description": "ChatGPT,GPT-4,Claude3,Midjourney,Stable Diffusion,AI,人工智能,AI","icons": {&quo…

哪些事是你当了领导才明白的?

哪些事是你当了领导才明白的? 毕业5年,17年开始带团队,确实很多事不做到管理这一层,就真的意识不到。 带着【执行者】和【管理者】这2个视角,再结合我毕业至今这5年的所有职场经历,聊聊“职场潜规则”。 …

docker swarm 集群创建

1,目的: 通过docker swarm 工具将一台或者多台安装了docker的服务器组成一个完整的集群,该集群中的node节点可以通过Leader节点管理。在使用docker stack部署时,可以将容器自动分发到合适的节点上。 2,服务器准备&am…

python统计分析——t分布、卡方分布、F分布

参考资料:python统计分析【托马斯】 一些常见的连续型分布和正态分布分布关系紧密。 t分布:正态分布的总体中,样本均值的分布。通常用于小样本数且真实的均值/标准差不知道的情况。 卡方分布:用于描述正态分布数据的变异程度。 F分…

R语言Meta分析核心技术:科研论文写作与数据可视化技巧

R语言作为一种强大的统计分析和绘图语言,在科研领域发挥着日益重要的作用。其中,Meta分析作为一种整合多个独立研究结果的统计方法,在R语言中得到了广泛的应用。通过R语言进行Meta分析,研究者能够更为准确、全面地评估某一研究问题…

ShardingSphere+JPA+Druid实现分表操作

要在SpringBoot项目中实现分表操作,本文使用的是ShardingSphereJPADruid实现。过程中出现问题记录一下。 准备MySQL数据库表 这里准备的是一张主表test_cost,两张从表test_cost_0和test_cost_1,结构需要相同,主表只是声明了表结构…

嵌入式学习-ARM

嵌入式学习-ARM STM32串口控制三盏灯亮灭 MAIN.C #include "uart4.h" int main() {uart4_init();gpio_init();char str[32];while (1){gets(str);if (my_strcmp(str,"A") 0){led1();}else if (my_strcmp(str,"B") 0){led2();}else if (my_s…

用大语言模型控制交通信号灯,有效缓解拥堵!

城市交通拥堵是一个全球性的问题,在众多缓解交通拥堵的策略中,提高路口交通信号控制的效率至关重要。传统的基于规则的交通信号控制(TSC)方法,由于其静态的、基于规则的算法,无法完全适应城市交通不断变化的…

Tabulator-tables5.6版本升级6.0版本

npm install tabulator-table 报错内容 /node_modules/tabulator-tables/dist/js/tabulator_esm.js 658:19 Module parse failed: Unexpected token (658:19) You may need an appropriate loader to handle this file type, currently no loaders are configured to process…

Tensorflow2.0笔记 - 链式法则例子

本笔记简单记录链式法则的原理,关于链式法则,本身和高等数学中的链式求导法则是一样的,深度学习中相关资料可以参考这里: 【深度学习之美22】BP算法详解之链式法则 - 知乎10.5 什么是计算图?我们知道, 神经…

Windows环境下编译ffmpeg 6.1源码--Virtual Studio + Msys2方式

环境准备 约定:源码全部放到sources下,目录结构说明 /d/java/ffmpeg #工程工目录 ├── build #存放编译文件的目录,子目录为具体模块的构建目录 │ ├── fdk-aac │ ├── ffmpeg │ └── x264 ├── instal…

机器学习流程—AutoML

文章目录 机器学习流程—AutoMLAutoML工具Auto-SKLearnMLBoxTPOTRapidMinerPyCaretAuto-KerasH2OAutoML谷歌AutoML云Uber LudwigTransmogrifAIAutoGluonAutoWekaDataRobot

稀碎从零算法笔记Day24-LeetCode:存在重复元素

前言:本打算练习下机写快排,但是快排超时了(为什么sort没超时啊。。) 题型:排序、哈希表 链接:存在重复元素 - 提交记录 - 力扣(LeetCode) 来源:LeetCode 题目描述 题目样例 题目思路 C代…