PATCH: Learnable Tile-level Hybrid Sparsity for LLMs
作者: Younes Hourri, Mohammad Mozaffari, Maryam Mehri Dehnavi
分类: cs.LG, cs.AI, cs.PF
发布日期: 2025-09-27 (更新: 2025-10-15)
💡 一句话要点
PATCH:面向LLM的可学习瓦片级混合稀疏框架,实现精度与加速的平衡。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型 模型剪枝 稀疏化 混合稀疏 硬件加速
📋 核心要点
- 现有剪枝方法在LLM上的应用受限于非结构化稀疏带来的不规则访存和半结构化稀疏带来的精度损失。
- PATCH通过可学习的瓦片级掩码选择机制,实现连续稀疏率,从而在精度和加速之间取得平衡。
- 实验表明,PATCH在多种模型上均能缩小与密集模型精度差距,并在LLaMA-2 7B上实现显著加速和精度提升。
📝 摘要(中文)
大型语言模型(LLMs)性能卓越,但部署时面临巨大的内存和计算成本。模型剪枝是降低这些开销的有效方法,但现有方法面临挑战:非结构化稀疏性虽然能保持精度,但会产生不规则的访问模式,阻碍GPU加速;而半结构化的2:4稀疏性虽然对硬件友好,但强制执行50%的固定模式,会降低模型质量。为了弥合这一差距,我们提出了PATCH,一种混合稀疏框架,能够实现0%到50%之间的连续稀疏率。PATCH将权重矩阵划分为瓦片,并通过可学习的掩码选择机制,将每个瓦片分配为密集或2:4稀疏。这种设计提供了对精度-加速权衡的细粒度控制,并支持跨层非均匀稀疏性,从而带来卓越的整体质量。在0.5B到8B参数的模型上,PATCH始终缩小与密集模型精度之间的差距,同时提供实际的加速。例如,在配备A6000 GPU的LLaMA-2 7B模型上,PATCH实现了比密集基线1.18x-1.38x的端到端加速,并且相比于最先进的2:4剪枝方法MaskLLM,精度提高了0.37%-2.96%。
🔬 方法详解
问题定义:现有LLM剪枝方法要么采用非结构化稀疏,虽然精度高,但访存不规则,无法充分利用GPU加速;要么采用半结构化稀疏(如2:4稀疏),虽然硬件友好,但固定稀疏比例限制了模型表达能力,导致精度下降。因此,需要一种方法,既能保证硬件加速友好性,又能灵活控制稀疏比例,以实现精度和效率的平衡。
核心思路:PATCH的核心思路是将权重矩阵划分为瓦片(tile),并为每个瓦片选择合适的稀疏模式:密集或2:4稀疏。通过可学习的掩码选择机制,PATCH能够自动学习每个瓦片的最佳稀疏模式,从而实现全局非均匀的稀疏分布。这种设计允许模型在不同层或不同区域采用不同的稀疏率,以适应不同的学习需求。
技术框架:PATCH框架主要包含以下几个步骤:1) 将权重矩阵划分为大小相等的瓦片;2) 为每个瓦片生成一个可学习的掩码,用于指示该瓦片应采用密集模式还是2:4稀疏模式;3) 根据掩码对权重矩阵进行稀疏化;4) 在训练过程中,同时优化模型权重和掩码,以找到最佳的稀疏模式。
关键创新:PATCH的关键创新在于引入了可学习的瓦片级混合稀疏模式。与传统的固定稀疏模式相比,PATCH能够根据数据自适应地调整稀疏率,从而更好地平衡精度和效率。此外,PATCH采用瓦片级的稀疏化方式,能够更好地利用硬件加速器,提高计算效率。与现有方法的本质区别在于,PATCH不再局限于单一的稀疏模式,而是允许模型在不同的区域采用不同的稀疏模式,从而实现更灵活的稀疏化。
关键设计:PATCH的关键设计包括:1) 瓦片大小的选择:瓦片大小需要根据硬件特性和模型大小进行调整,以获得最佳的性能;2) 掩码学习机制:掩码可以通过多种方式进行学习,例如使用sigmoid函数或softmax函数;3) 损失函数的设计:损失函数需要同时考虑模型的精度和稀疏率,以避免过度稀疏化。
📊 实验亮点
在LLaMA-2 7B模型上,PATCH在A6000 GPU上实现了1.18x-1.38x的端到端加速,同时相比于最先进的2:4剪枝方法MaskLLM,精度提高了0.37%-2.96%。此外,在0.5B到8B参数的多个模型上,PATCH均能有效缩小与密集模型精度之间的差距,证明了其在不同模型上的泛化能力。
🎯 应用场景
PATCH框架可应用于各种大型语言模型的压缩和加速,尤其适用于资源受限的边缘设备或云端部署。通过在精度损失可接受的范围内显著降低模型大小和计算复杂度,PATCH能够使LLM在更多场景下得以应用,例如移动设备上的智能助手、低功耗物联网设备上的自然语言处理等。未来,PATCH有望成为LLM高效部署的关键技术之一。
📄 摘要(原文)
Large language models (LLMs) deliver impressive performance but incur prohibitive memory and compute costs at deployment. Model pruning is an effective way to reduce these overheads, yet existing approaches face challenges: unstructured sparsity, where nonzeros can appear anywhere, preserves accuracy but yields irregular access patterns that prevent GPU acceleration, while semi-structured 2:4 sparsity is hardware-friendly but enforces a rigid 50% pattern that degrades model quality. To bridge this gap, we introduce PATCH, a hybrid sparsity framework that enables a continuous sparsity ratio between 0% and 50%. PATCH partitions weight matrices into tiles, assigning each tile to be either dense or 2:4 sparse via a learnable mask selection mechanism. This design provides fine-grained control over accuracy-acceleration tradeoffs and supports non-uniform sparsity across layers, leading to superior overall quality. Across models from 0.5B to 8B parameters, PATCH consistently narrows the gap to dense accuracy while delivering practical speedups. For instance, on LLaMA-2 7B with an A6000 GPU, PATCH achieves 1.18x-1.38x end-to-end speedup over dense baselines while improving accuracy by 0.37%-2.96% compared to the state-of-the-art 2:4 pruning method, MaskLLM.