当前位置: 首页 > news >正文

AWQ量化(Activation-aware Weight Quantization)

论文:

AWQ: Activation-aware Weight Quantization for On-Device LLM Compression and Acceleration

中文解读:

深入理解AWQ量化技术 - 知乎 (zhihu.com)

动机:端侧设备用LLM,为了减少显存占用量,所以要用INT4量化;

实现:只量化W矩阵,存储INT4计算的时候再反量化为FP16(TensorRT-LLM反量化为FP8),进行计算;

朴素的量化:

发现:W矩阵里,有1%的权重,对量化误差影响最大;哪些权重是这1%呢?答:Activation绝对值大的那列(channel),所对应的W的那行;

改进:对Activation绝对值最大的那些列,所对应的W的那些行,不进行量化;W的其他行,进行INT4量化;

痛点:有的量化,有的不量化,即混合精度计算,在GPU上执行的效率低;

解决:整个W矩阵全部进行量化;区别对待,对重要的Channel,进行scale放大;(越重要,scale越大一些);scale越大的channel,该channel的量化误差就越小;

原理:

朴素的量化:

其中,Round的量化误差,绝对值在[0, 0.5]之间,是均匀分布,均值是0.25;

当给w乘以一个大于1的scale s,则:

如果Round仍保持在0.25,则w的误差减少s倍;

假设:对1%的W进行s倍增大,且s不是很大时,整个矩阵的scale factor △,不会发生大的变化;

细节:

问:每个s具体是多少?

答:看Activation矩阵X,每一列所有元素的绝对值,取平均值,进行a次方(该a数值是在(0,1)之间网格搜索出来的最优值),和其他列的平均值a次方归一化,就是该列的s;即X哪列的绝对值大,对应W中的该行就s大;

问:group-size是什么?

答:分块量化,量化误差能更小;按X的列,W的行,分成多个group,每个group内部进行量化;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 本地运行 Qwen2-VL
  • 函数式编程思想
  • 第十一周:机器学习
  • 基于stm32f407的跟随行驶系统项目报告(利用openmv+超声波模块)
  • 项目实战 ---- 商用落地视频搜索系统(5)---service层核心
  • 自动化抢票 12306
  • Ifream实现微前端效果
  • 无线路由器中的MU-MIMO技术是如何提升网络效率的?
  • pod基础和镜像拉取策略
  • Springboot中基于X509完成SSL检验的原理与实践
  • mysql数据库8.0小版本原地升级
  • vue解决“用户代理样式表“边距问题
  • 前端页面加载由模糊到清晰的实现方案
  • Sqlmap介绍及相关命令
  • 【sql】评估数据迁移复杂度调查汇报240904
  • Angular6错误 Service: No provider for Renderer2
  • css系列之关于字体的事
  • express + mock 让前后台并行开发
  • iOS编译提示和导航提示
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • vue-loader 源码解析系列之 selector
  • windows下使用nginx调试简介
  • yii2权限控制rbac之rule详细讲解
  • 基于 Babel 的 npm 包最小化设置
  • 技术:超级实用的电脑小技巧
  • 近期前端发展计划
  • 老板让我十分钟上手nx-admin
  • 每天10道Java面试题,跟我走,offer有!
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 使用权重正则化较少模型过拟合
  • 通过几道题目学习二叉搜索树
  • Python 之网络式编程
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​Python 3 新特性:类型注解
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #LLM入门|Prompt#3.3_存储_Memory
  • #QT(QCharts绘制曲线)
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (ibm)Java 语言的 XPath API
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (二)JAVA使用POI操作excel
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (一)Docker基本介绍
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)甲方乙方——赵民谈找工作
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .Net Memory Profiler的使用举例
  • .Net MVC + EF搭建学生管理系统
  • .net和jar包windows服务部署
  • .NET技术成长路线架构图
  • .net连接MySQL的方法
  • .NET中分布式服务