TEAL
Training-Free Activation Sparsity in Large Language Models阅读笔记motivation观察到LLaMA中各中间层的激活通常是零均值单峰分布的。且在MLP\注意力模块前的激活呈现高斯分布,内部激活呈现拉普拉斯分布,即,特征。大量在零点集中的激活启发了本文基于激活绝对值大小的激活稀疏方法。 作者观察到权重通常为高斯分布,而当一个独立的各向同性高斯向量与一个独立的高斯矩阵相乘时,结果服从多变量广义拉普拉斯分布,之所以均值为零是由于正则化的影响,这可能能解释上述的激活分布。 背景激活稀疏分为两大类: 第一种是input sparsity,即计算时,x中零元素对应的权重列不会被使用; 第二种是output sparsity,即计算时,s中零元素对应的权重行不会被用到 因此为了保证连续内存访问,对于input sparsity方法,权重要按列存储;对于output...
QuartDepth
QuartDepth: Post-Training Quantization for Real-Time Depth Estimation on the Edge阅读笔记motivation针对Monocular Depth Estimation(MDE)模型进行的量化,这个任务的主要目标是用单张图片判定深度信息。发现MDE模型中卷积和矩阵乘法在推理过程的时间消耗中占大头,发现在depth...
OAC
OAC: Output-adaptive Calibration for Accurate Post-training Quantization阅读笔记motivation现有的逐层最小化量化后权重更新方法本质是“输出不可知的”,因为其只考虑了单层的输出而没有考虑模型整体的输出,因此本文提出了一种输出自适应的Hessian估计方法,其目的从对齐层量化前后的输出到了对齐模型的输出。 创新点:输出自适应Hessian思想将模型所有层的所有权重展平 量化后可视作 ,因此量化损失可视作: Hessian表达式为: 因为模型已充分训练所以梯度为可视作0,Hessian矩阵被用于如下的量化后权重更新(类OPTQ): 与显著权重判定: Hessian高效率计算 通过假定跨层独立性可将原始Hessian矩阵简化为以层权重为块单位的块对角矩阵,将非同层权重间元素视为0; 通过假定权重每行独立,可将层Hessian矩阵简化为以行权重为单位的块对角矩阵,不同行权重间元素视为0,即: 为了减少内存使用,将逐行权重的Hessian求和为 ...
Quadapter
Quadapter: Adapter for GPT-2 Quantization阅读笔记motivation认为激活中的outliers使得量化困难,QAT又会造成对于对于微调数据的过拟合,于是引入Quadapter保持原模型参数不变防止过拟合,并进行逐channel缩放使得激活易于量化。 创新点:Quadapter架构对于任意两线性层间的前向传播:,使用Quadapter后变为: 其中是的对角矩阵,是可学习的Quadapter参数,其作用相当于: 训练流程阶段1:逐Quadapter块校准对每块根据L2损失进行校准: 其中使用动态量化策略进行计算,对于使用1向量初始化,使用梯度进行更新: 阶段2:端到端微调使用静态量化方法,具体流程:
Z-Fold
Z-Fold: A Frustratingly Easy Post-Training Quantization Scheme for LLMs阅读笔记创新点1:引入in_channel scale构建高维逐元素scale在已有的out_channel scale 外,引入in_channel scale ,矩阵相乘得到逐元素scale矩阵S。 则量化带来的扰动可写作: 先用min-max初始化,全1初始化,不断通过最小二乘法搜索使得量化损失(泰勒展开二阶项)最小的、直到收敛。 创新点2:将融入原始模型对于Norm后的线性层,其仿射变换可看作: 为了不引入其它参数将融入原始模型,对于QKV层,将其拼接在一起进行搜索公用的,并将原始仿射矩阵与相乘即可: 对于两线性层间除ReLU外无其他函数的线性层,直接将后一层的融入前一层的即可: 其它与2025的LRQ的都使用了低秩分解方法得到一个高维的逐单位scale,本方法还使用了类OPTQ的重建方法。
BoA
BoA: Attention-aware Post-training Quantization without Backpropagation阅读笔记motivation基于梯度的重建优化方法受参数规模限制难以迁移到大语言模型上,传统的基于变换的量化方法又欠考虑了层间关系,因此提出了一种无需BP,综合考虑QKVO层相互依赖的量化方法。 创新点1:基于QKVO层相互依赖的重建优化方法本方法于GPTQ类似,在量化后对其余未量化权重进行更新以补偿量化损失,更新公式: 其中H是Hessian矩阵,Chol(·)代表Cholesky分解,因此U是上三角矩阵且 为了弥补GPTQ的Hessian估计方法只与输入有关,与注意力模块其他层无关的问题,本方法提出了新的Hessian估计方法: 推导主要利用了对于的二阶导是,其中J为关于softmax函数的Jacobian矩阵。 创新点2:高效实现relaxed...
BCQ
BCQ: Block Clustered Quantization for 4-bit (W4A4) LLM Inference阅读笔记创新点1:将向量聚块量化对于一个有元素的向量,将连续个元素分为一个块,用个密码本进行量化 整个量化过程分为两步:第一步为每个块分配一个密码本用于量化,第二步在相应密码本里寻找每个元素用于量化的条目。 每个块可视为一个array,共享一个缩放参数,每个向量有一个缩放参数,将量化到位。 最终该方法占用的实际位宽为: 创新点2:局部最优块聚类量化算法最初利用Kmeans++算法初始化密码本中的元素,固定密码本,根据MSE寻找每个块的最优密码本,即: 再固定密码本选择策略,利用LloydMax算法为每个密码本寻找最优元素,反复迭代直至收敛或达到指定次数。
AdaReTake
AdaReTaKe: Adaptive Redundancy Reduction to Perceive Longer for Video-language Understanding阅读笔记motivationtoken冗余度随时间(不同帧)和模型层数的变化大,需要动态分配压缩率的方法。 创新点1:根据热点token比率衡量冗余性记注意力头个数,提示长度、视频token长度,对于第层,其注意力分数为,接着计算每个视频token头平均提示和注意力分数: 最终热点token比率可定义为: 其中为指示函数,p为常量,本方法使用0.01。 创新点2:时间自适应压缩率分配将每帧看作一个块,其中每帧含有N个token。每个块中相邻帧的距离可以看作 其中Sim(·)代表余弦相似度函数,对其求元素平均得到第i个块的平均帧距离,以表示该块内的时间冗余度,每块的压缩率最后为: 其中是最终KV...
FlexRound
FlexRound: Learnable Rounding based on Element-wise Division for Post-Training Quantization阅读笔记核心创新点:基于逐元素触发的灵活舍入提出一种新的权重舍入机制,S为与W相同形状的scale矩阵,其中的每个元素都是正且可学习的,其中的和都是通过最小化学习到的。 由于层不同通道输出差异大,在实际应用时,对线性层还需引入;对2D卷积需引入和,最终量化公式: 其它暂时还没想明白每个权重都配了一个scale辅助量化,量化后使用的内存不是更大了吗,有机会再研究一下。
LRQ
LRQ: Optimizing Post-Training Quantization for Large Language Models by Learning Low-Rank Weight-Scaling Matrices阅读笔记motivation 仅权重量化只在小batch推理时加速才明显,权重激活量化则精度下降太多。 众多方法中SmoothQuant和FlexRound都使用了硬件有好的per-tensor静态量化,但前者精度下降过高,后者因为要学习过多参数泛化性能不够好(MMLU上表现不够理想)。 创新点:权重矩阵低秩分解权重分解核心公式: 其中,、相乘后得到与权重维度的矩阵,、,为行/列向量,收低秩矩阵在推荐系统中的应用启发。 最终目标为最小化块量化损失