Pruning as a Domain-specific LLM Extractor

📄 arXiv: 2405.06275v1 📥 PDF

作者: Nan Zhang, Yanchi Liu, Xujiang Zhao, Wei Cheng, Runxue Bao, Rui Zhang, Prasenjit Mitra, Haifeng Chen

分类: cs.CL

发布日期: 2024-05-10

备注: NAACL 2024 Findings

🔗 代码/项目: GITHUB


💡 一句话要点

提出D-Pruner,用于领域特定大语言模型的双重剪枝压缩,提升效率。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大语言模型 模型剪枝 领域特定 双重剪枝 模型压缩 非结构化剪枝 知识蒸馏

📋 核心要点

  1. 现有LLM剪枝方法缺乏领域针对性与任务通用性,导致领域特定任务性能不佳。
  2. D-Pruner通过双重剪枝,同时关注通用能力和领域知识,提取领域特定且任务无关的压缩模型。
  3. 实验表明,D-Pruner在医疗和法律领域的多项任务中,实现了有效的领域特定压缩。

📝 摘要(中文)

大型语言模型(LLMs)在各种NLP任务中表现出卓越的性能。然而,模型规模的扩大也带来了巨大的部署成本。虽然有一些工作探索了模型剪枝技术来减小LLMs的规模,但它们主要集中在通用或任务特定的权重上。由于缺乏对目标领域的针对性或对不同任务的通用性,这导致在应用于领域特定挑战时性能欠佳。本文提出了一种创新的非结构化双重剪枝方法D-Pruner,用于LLM的领域特定压缩。它通过识别对通用能力(如语言能力和多任务解决)以及领域特定知识至关重要的LLM权重,提取一个压缩的、领域特定的和任务无关的LLM。更具体地说,我们首先通过量化移除权重后产生的误差来评估通用权重的重要性,这借助一个开放领域的校准数据集。然后,我们利用这种通用权重的重要性来改进训练损失,以便在适应特定领域时保持通用性。此外,通过使用领域特定的校准数据集有效地近似具有改进训练损失的权重重要性,我们获得了一个强调通用性和特定性的剪枝模型。我们在医疗保健和法律领域进行的各种任务的综合实验表明了D-Pruner在领域特定压缩方面的有效性。代码可在https://github.com/psunlpgroup/D-Pruner获得。

🔬 方法详解

问题定义:论文旨在解决大型语言模型(LLMs)在特定领域应用时,模型体积过大、部署成本高昂的问题。现有的剪枝方法要么侧重于通用权重,要么针对特定任务,无法兼顾领域知识和通用能力,导致剪枝后的模型在领域特定任务上的性能下降。

核心思路:论文的核心思路是进行双重剪枝,即同时考虑模型权重对于通用能力(如语言能力、多任务处理)和领域特定知识的重要性。通过保留对两者都重要的权重,可以得到一个既能保持通用性,又能有效处理领域特定任务的压缩模型。

技术框架:D-Pruner包含以下主要阶段:1) 通用权重重要性评估:使用开放领域校准数据集,通过量化移除权重后产生的误差来评估通用权重的重要性。2) 损失函数改进:利用通用权重的重要性来改进训练损失,使模型在适应特定领域时保持通用性。3) 领域特定权重重要性评估:使用领域特定的校准数据集,结合改进的训练损失,近似计算权重的重要性。4) 模型剪枝:根据权重的重要性,对模型进行剪枝,得到压缩后的领域特定模型。

关键创新:D-Pruner的关键创新在于其双重剪枝策略,它将通用能力和领域知识的重要性纳入考虑,从而避免了传统剪枝方法在领域特定任务上的性能损失。此外,使用改进的训练损失来指导领域特定权重重要性的评估,进一步提升了剪枝模型的性能。

关键设计:论文使用开放域数据集和领域数据集分别评估通用权重和领域权重的重要性。改进的损失函数旨在平衡通用能力和领域知识的学习。具体的剪枝策略采用非结构化剪枝,即可以移除模型中任意位置的权重,从而实现更精细的压缩。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

论文在医疗和法律领域进行了实验,结果表明D-Pruner能够有效地压缩LLM,同时保持甚至提升模型在领域特定任务上的性能。具体的性能数据和对比基线在论文中给出,展示了D-Pruner相对于传统剪枝方法的优势。

🎯 应用场景

D-Pruner可应用于医疗、法律、金融等领域,在资源受限的环境下部署高性能的领域特定LLM。例如,在移动医疗设备上运行轻量级的医疗诊断模型,或在法律咨询机器人中部署高效的法律知识推理模型。该方法有助于降低LLM的部署成本,加速其在各行业的落地应用。

📄 摘要(原文)

Large Language Models (LLMs) have exhibited remarkable proficiency across a wide array of NLP tasks. However, the escalation in model size also engenders substantial deployment costs. While few efforts have explored model pruning techniques to reduce the size of LLMs, they mainly center on general or task-specific weights. This leads to suboptimal performance due to lacking specificity on the target domain or generality on different tasks when applied to domain-specific challenges. This work introduces an innovative unstructured dual-pruning methodology, D-Pruner, for domain-specific compression on LLM. It extracts a compressed, domain-specific, and task-agnostic LLM by identifying LLM weights that are pivotal for general capabilities, like linguistic capability and multi-task solving, and domain-specific knowledge. More specifically, we first assess general weight importance by quantifying the error incurred upon their removal with the help of an open-domain calibration dataset. Then, we utilize this general weight importance to refine the training loss, so that it preserves generality when fitting into a specific domain. Moreover, by efficiently approximating weight importance with the refined training loss on a domain-specific calibration dataset, we obtain a pruned model emphasizing generality and specificity. Our comprehensive experiments across various tasks in healthcare and legal domains show the effectiveness of D-Pruner in domain-specific compression. Our code is available at https://github.com/psunlpgroup/D-Pruner.