Extreme Compression of Large Language Models via Additive Quantization

本文是LLM系列文章,针对《Extreme Compression of Large Language Models via Additive Quantization》的翻译。

通过加法量化对大型语言模型进行极端压缩

摘要

准确的开放大型语言模型 (LLM) 的出现导致了对高性能量化技术的竞争,这些技术可以在最终用户设备上执行它们。在本文中,我们从多码簿量化 (MCQ) 中经典方法的角度重新审视了“极端”LLM 压缩问题,定义为针对极低的位数,例如每个参数 2 到 3 位。我们的算法称为 AQLM,它推广了用于信息检索的经典加法量化 (AQ) 方法,通过两项创新来推进 LLM 压缩的最新技术:1) 以输入自适应方式学习权重矩阵的加法量化,以及 2) 每个transformer模块的码本参数的联合优化。从广义上讲, AQLM 是第一个在压缩到每个参数小于 3 位的精度与模型大小方面是帕累托最优方案的方案,并且显著改进了极端压缩 (2bit) 方案中所有已知的方案。此外,AQLM 很实用:我们提供 AQLM 的快速 GPU 和 CPU 实现来生成token,这使我们能够在速度上匹配或超越优化的 FP16 实现,同时以更小的内存占用执行。

1 引言

2 背景和相关工作

3 AQLM:LLM 的加法量化

4 实验

5 结论和未来工作

我们提出了 AQLM,这是一种针对 LLM 压缩的新型加法量化 (AQ),它显着改善了每个权重 2 位和 3 位的 LLM 量化的最新结果。就限制而言,AQLM 比直接训练后量化方法(如 RTN 或 GPTQ)的计算成本更高,特别是因为使用了更复杂的编码表示。然而,尽管编码和解码更加复杂,

在长视频-语言理解(video-language understanding)模型中,时空自适应压缩技术(spatiotemporal adaptive compression technique)是一种用于优化模型处理长视频时的计算和内存效率的方法。这种技术的核心思想是通过动态调整视频帧和空间区域的采样密度,以减少冗余信息的处理,同时保留关键语义内容[^1]。 ### 原理与实现方式 1. **时间维度压缩(Temporal Compression)** 视频通常由大量连续帧组成,但并非所有帧都对最终的任务(如视频问答、动作识别)有同等重要的贡献。时间维度压缩的目标是识别并保留关键帧,同时跳过或合并冗余帧。例如,如果视频中某个时间段内的内容变化较小(如静态场景或缓慢移动的物体),可以减少对该时间段的采样频率。这种动态调整帧采样率的方法可以显著减少计算量[^1]。 2. **空间维度压缩(Spatial Compression)** 在单帧内部,视频的不同区域可能具有不同的信息重要性。例如,在一个描述“人在跑步”的视频帧中,人物所在的区域可能比背景区域更为重要。空间维度压缩技术通过识别这些关键区域,并对这些区域进行高分辨率处理,而对其他区域进行低分辨率处理或忽略。这种策略不仅减少了计算资源的消耗,还能提升模型对关键信息的关注度[^1]。 3. **自适应机制(Adaptive Mechanism)** 自适应机制是该技术的核心部分,它允许模型根据输入视频的时空特征动态调整压缩策略。具体来说,模型会根据当前帧的内容(如运动强度、物体分布等)决定下一组需要处理的帧以及每个帧中需要关注的空间区域。这种机制通常通过一个可学习的模块实现,例如基于注意力机制(attention-based module)或强化学习(reinforcement learning)[^1]。 ### LongVU 模型中的应用 LongVU 是一种专为长视频-语言理解任务设计的模型,它结合了时空自适应压缩技术来处理长时间跨度的视频数据。LongVU 的主要特点包括: - **层次化压缩策略**:LongVU 在不同层次上应用时空压缩。例如,在粗粒度层面上,模型可能会跳过大量冗余帧;而在细粒度层面上,模型会聚焦于特定帧中的关键区域。 - **跨模态交互优化**:由于视频-语言理解任务涉及视频内容与文本描述的交互,LongVU 在压缩过程中考虑了语言模态的信息。例如,模型可能会根据输入的文本问题动态调整视频帧的采样策略,以确保与问题相关的视觉内容被保留[^1]。 - **端到端训练**:LongVU 的压缩模块与主任务模块(如分类或生成模块)一起进行端到端训练,确保压缩策略能够适应具体的任务需求。 ### 示例代码 以下是一个简化的时空自适应压缩模块的伪代码,展示了如何根据帧的内容动态调整采样策略: ```python def adaptive_temporal_sampling(frames, motion_threshold): key_frames = [] for i in range(len(frames)): if i == 0 or calculate_motion(frames[i-1], frames[i]) > motion_threshold: key_frames.append(frames[i]) return key_frames def calculate_motion(frame_prev, frame_curr): # 简单的帧间差异计算,用于衡量运动强度 return np.mean(np.abs(frame_prev - frame_curr)) ``` 在这个示例中,`adaptive_temporal_sampling` 函数根据帧间运动强度决定哪些帧是关键帧。如果帧间的运动强度大于设定的阈值,则保留该帧作为关键帧;否则,跳过该帧。 ### 应用场景 时空自适应压缩技术在多种视频-语言理解任务中具有广泛应用,包括: - **视频问答(Video Question Answering)**:在处理长视频时,模型可以动态调整帧采样策略,以聚焦于与问题相关的视频片段。 - **视频摘要(Video Summarization)**:通过识别关键帧和关键区域,模型可以生成简洁的视频摘要,减少冗余信息。 - **动作识别(Action Recognition)**:对于长时间跨度的视频,模型可以专注于包含动作的帧,而忽略无关帧。 ### 总结 时空自适应压缩技术通过动态调整视频帧和空间区域的采样密度,显著提高了长视频-语言理解模型的效率。LongVU 作为这一技术的典型应用,能够在保持任务性能的同时,大幅降低计算和内存开销。未来,这种技术有望在更多涉及长视频处理的任务中发挥作用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值