Self-Distillation Bridges Distribution Gap in Language Model Fine-Tuning
作者: Zhaorui Yang, Tianyu Pang, Haozhe Feng, Han Wang, Wei Chen, Minfeng Zhu, Qian Liu
分类: cs.CL
发布日期: 2024-02-21 (更新: 2024-05-28)
备注: ACL 2024
🔗 代码/项目: GITHUB
💡 一句话要点
提出自蒸馏微调方法以解决语言模型微调中的分布差距问题
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 自蒸馏 微调 语言模型 分布差距 自然语言处理 灾难性遗忘 模型安全性
📋 核心要点
- 现有的语言模型微调方法在特定任务上常常难以平衡性能与通用能力的保持,导致分布差距问题。
- 本文提出自蒸馏微调(SDFT)方法,通过使用模型自身生成的蒸馏数据集来缩小任务数据集与模型之间的分布差距。
- 实验结果显示,SDFT在多个基准测试中有效减少了灾难性遗忘,并在下游任务上表现出与传统微调相当或更优的性能。
📝 摘要(中文)
大型语言模型(LLMs)的快速发展彻底改变了自然语言处理领域,但在特定任务的微调过程中,往往面临性能与保持通用指令遵循能力之间的平衡挑战。本文认为,任务数据集与LLMs之间的分布差距是主要原因。为此,我们提出了一种新方法——自蒸馏微调(SDFT),通过引导微调使用模型自身生成的蒸馏数据集,以匹配其原始分布。实验结果表明,SDFT有效减轻了灾难性遗忘,同时在下游任务上实现了与传统微调相当或更优的性能。此外,SDFT还展示了保持LLMs的有用性和安全性对齐的潜力。
🔬 方法详解
问题定义:本文旨在解决语言模型微调中存在的分布差距问题,现有方法在特定任务微调时常导致性能下降和灾难性遗忘。
核心思路:提出自蒸馏微调(SDFT)方法,通过利用模型自身生成的蒸馏数据集来引导微调,从而更好地匹配模型的原始数据分布,减少分布差距带来的负面影响。
技术框架:SDFT的整体架构包括数据生成模块和微调模块。首先,模型生成蒸馏数据集,然后利用该数据集进行微调,以保持模型的原始能力和性能。
关键创新:SDFT的核心创新在于通过自生成的蒸馏数据集来进行微调,这一方法与传统的微调方法相比,能够有效减少灾难性遗忘,并保持模型的通用性和安全性。
关键设计:在SDFT中,关键设计包括蒸馏数据集的生成策略、损失函数的选择以及微调过程中对模型参数的调整,以确保模型在新任务上的适应性和原有能力的保持。
🖼️ 关键图片
📊 实验亮点
实验结果表明,SDFT在Llama-2-chat模型上进行微调时,能够有效减少灾难性遗忘,并在多个基准测试中实现与传统微调相当或更优的性能,具体提升幅度达到X%(具体数据待补充)。
🎯 应用场景
该研究的潜在应用领域包括自然语言处理中的任务特定模型微调,如对话系统、文本分类和情感分析等。通过有效缩小分布差距,SDFT可以提升模型在特定任务上的表现,同时保持其通用性和安全性,对实际应用具有重要价值和影响。
📄 摘要(原文)
The surge in Large Language Models (LLMs) has revolutionized natural language processing, but fine-tuning them for specific tasks often encounters challenges in balancing performance and preserving general instruction-following abilities. In this paper, we posit that the distribution gap between task datasets and the LLMs serves as the primary underlying cause. To address the problem, we introduce Self-Distillation Fine-Tuning (SDFT), a novel approach that bridges the distribution gap by guiding fine-tuning with a distilled dataset generated by the model itself to match its original distribution. Experimental results on the Llama-2-chat model across various benchmarks demonstrate that SDFT effectively mitigates catastrophic forgetting while achieving comparable or superior performance on downstream tasks compared to the vanilla fine-tuning. Moreover, SDFT demonstrates the potential to maintain the helpfulness and safety alignment of LLMs. Our code is available at https://github.com/sail-sg/sdft.