国防科大:双目标优化防止LLM灾难性遗忘

在这里插入图片描述

📖标题:How to Complete Domain Tuning while Keeping General Ability in LLM: Adaptive Layer-wise and Element-wise Regularization
🌐来源:arXiv, 2501.13669

🌟摘要

🔸大型语言模型(LLM)展现出强大的通用语言能力。然而,在特定领域的任务上对这些模型进行微调通常会导致灾难性的遗忘,即模型覆盖或丢失在预训练期间获得的基本知识。这种现象极大地限制了LLM的广泛适用性。
🔸为了应对这一挑战,我们提出了一种新的方法来计算模型参数的元素重要性,这些参数对于在微调过程中保留一般知识至关重要。我们的方法采用了一种双目标优化策略:(1)正则化损失,以保留对一般知识至关重要的参数;(2) 交叉熵损失,以适应特定领域的任务。此外,我们引入逐层系数来解释不同层的不同贡献,动态平衡双射优化。
🔸使用GPTJ和LLaMA-3对科学、医学和物理任务进行的广泛实验表明,我们的方法在增强模型适应性的同时减轻了灾难性遗忘。与以前的方法相比,我们的解决方案大约快20倍,只需要10%-15%的存储空间,突出了实际效率。代码将被发布。

🛎️文章简介

🔸研究问题:大语言模型(LLM)进行领域特定微调时出现灾难性遗忘,即在适应新领域的同时难以保持模型的通用能力。
🔸主要贡献:论文提出了一种新的微调框架,通过自适应层和元素正则化,有效减少了灾难性遗忘,同时显著降低了计算时间和存储需求,提升了模型的效率和可扩展性。

📝重点思路

🔸双目标优化策略:结合正则化损失和交叉熵损失,前者减少对通用知识关键参数的更新,后者增强领域特定学习。
🔸元素级重要性记录:通过计算每个参数对损失函数减少的贡献,记录其在通用任务中的重要性,指导新任务的微调过程。
🔸层间加权正则化:根据不同层对通用能力和领域特定能力的贡献,动态调整正则化权重,确保某些层优先学习任务,而其他层保留通用知识。
🔸低秩矩阵更新:使用LoRA(低秩适应)方法,仅更新低秩矩阵,减少计算成本和存储需求。

🔎分析总结

🔸性能提升:在多个数据集上,使用主流LLMs(如GPT-J和LLaMA-3)进行实验,证明了该方法在保持通用能力的同时,显著提升了领域特定任务的性能。
🔸计算效率:与之前的方法相比,计算时间减少了近20倍,存储需求仅为10%∼15%,显著提高了方法的实用性和可扩展性。
🔸正则化系数分析:通过调整正则化系数,找到了在任务性能和通用能力之间取得平衡的最优值。
🔸层间重要性分析:发现不同层对通用知识的保留和领域特定学习的影响不同,验证了层间加权正则化的有效性。

💡个人观点

论文的核心在于识别不同参数和层对新任务的贡献,针对性优化贡献多的部分,而贡献少的则减少训练以维持通用能力。

🧩附录

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/894752.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Verilog基础(一):基础元素

verilog基础 我先说,看了肯定会忘,但是重要的是这个过程,我们知道了概念,知道了以后在哪里查询。语法都是术,通用的概念是术。所以如果你有相关的软件编程经验,那么其实开启这个学习之旅,你会感受到熟悉,也会感受到别致。 入门 - 如何开始 欢迎来到二进制的世界,数字…

多无人机--强化学习

这个是我对于我的大创项目的构思,随着时间逐渐更新 项目概要 我们的项目平台来自挑战杯揭绑挂帅的无人机对抗项目,但是在由于时间原因,并未考虑强化学习,所以现在通过大创项目来弥补遗憾 我们项目分为三部分,分为虚…

Python----Python高级(并发编程:进程Process,多进程,进程间通信,进程同步,进程池)

一、进程Process 拥有自己独立的堆和栈,既不共享堆,也不共享栈,进程由操作系统调度;进程切换需要的资源很最大,效率低。 对于操作系统来说,一个任务就是一个进程(Process)&#xff…

在Mapbox GL JS中“line-pattern”的使用详解

在Mapbox GL JS中,line-pattern 是一种用于在地图上绘制带有图案的线条的样式属性。通过 line-pattern,你可以使用自定义的图像作为线条的图案,而不是使用纯色或渐变。 1. 基本概念 line-pattern: 该属性允许你指定一个图像作为线条的图案。…

C++ Primer 算术运算符

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…

【大数据技术】本机PyCharm远程连接虚拟机Python

本机PyCharm远程连接虚拟机Python 注意:本文需要使用PyCharm专业版。 pycharm-professional-2024.1.4VMware Workstation Pro 16CentOS-Stream-10-latest-x86_64-dvd1.iso写在前面 本文主要介绍如何使用本地PyCharm远程连接虚拟机,运行Python脚本,提高编程效率。 注意: …

MyBatis-Plus笔记-快速入门

大家在日常开发中应该能发现,单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。 因此,目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国内使用较多的一个组件就是…

Maven jar 包下载失败问题处理

Maven jar 包下载失败问题处理 1.配置好国内的Maven源2.重新下载3. 其他问题 1.配置好国内的Maven源 打开⾃⼰的 Idea 检测 Maven 的配置是否正确,正确的配置如下图所示: 检查项⼀共有两个: 确认右边的两个勾已经选中,如果没有请…

2.5学习

misc buuctf-假如给我三天光明 下载附件后得到了一个压缩包和一个图片,压缩包为加密压缩包,需要解出密码,然后注意到这个图片并非简单的一个封面,在下方还有诸多点,有黑有灰。经过搜索,发现这是盲文通过与…

java进阶1——JVM

java进阶——JVM 1、JVM概述 作用 Java 虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对 应平台上的机器码指令行,每一条 java 指令,java 虚拟机中都有详细定义,如怎么取操 作数&#xff0c…

搭建集成开发环境PyCharm

1.下载安装Python(建议下载并安装3.9.x) https://www.python.org/downloads/windows/ 要注意勾选“Add Python 3.9 to PATH”复选框,表示将Python的路径增加到环境变量中 2.安装集成开发环境Pycharm http://www.jetbrains.com/pycharm/…

《redis4.0 通信模块源码分析(一)》

【redis导读】redis作为一款高性能的内存数据库,面试服务端开发,redis是绕不开的话题,如果想提升自己的网络编程的水平和技巧,redis这款优秀的开源软件是很值得大家去分析和研究的。 笔者从大学毕业一直有分析redis源码的想法&…

开源安全一站式构建!开启企业开源治理新篇章

在如今信息技术日新月异、飞速发展的数字化时代,开源技术如同一股强劲的东风,为企业创新注入了源源不断的活力,然而,正如一枚硬币有正反两面,开源技术的广泛应用亦伴随着不容忽视的挑战。安全风险如影随形,…

DeePseek结合PS!批量处理图片的方法教程

​ ​ 今天我们来聊聊如何利用deepseek和Photoshop(PS)实现图片的批量处理。 传统上,批量修改图片尺寸、分辨率等任务往往需要编写脚本或手动处理,而现在有了AI的辅助,我们可以轻松生成PS脚本,实现自动化处…

Verilog基础(三):过程

过程(Procedures) - Always块 – 组合逻辑 (Always blocks – Combinational) 由于数字电路是由电线相连的逻辑门组成的,所以任何电路都可以表示为模块和赋值语句的某种组合. 然而,有时这不是描述电路最方便的方法. 两种always block是十分有用的: 组合逻辑: always @(…

2024年12月 Scratch 图形化(一级)真题解析 中国电子学会全国青少年软件编程等级考试

202412 Scratch 图形化(一级)真题解析 中国电子学会全国青少年软件编程等级考试 一、单选题(共25题,共50分) 第 1 题 点击下列哪个按钮,可以将红框处的程序放大?( ) A. B. C. D. 标…

C++【深入 STL--list 之 迭代器与反向迭代器】

接前面的手撕list(上)文章,由于本人对于list的了解再一次加深。本文再次对list进行深入的分析与实现。旨在再一次梳理思路,修炼代码内功。 1、list 基础架构 list底层为双向带头循环链表,问题是如何来搭建这个list类。可以进行下面的考虑&am…

如何打开vscode系统用户全局配置的settings.json

📌 settings.json 的作用 settings.json 是 Visual Studio Code(VS Code) 的用户配置文件,它存储了 编辑器的个性化设置,包括界面布局、代码格式化、扩展插件、快捷键等,是用户全局配置(影响所有…

STM32 ADC模数转换器

ADC简介 ADC(Analog-Digital Converter)模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC,1us转换时间 输入电压范围:0~3.3V&#xff0…

(2025,LLM,下一 token 预测,扩散微调,L2D,推理增强,可扩展计算)从大语言模型到扩散微调

Large Language Models to Diffusion Finetuning 目录 1. 概述 2. 研究背景 3. 方法 3.1 用于 LM 微调的高斯扩散 3.2 架构 4. 主要实验结果 5. 结论 1. 概述 本文提出了一种新的微调方法——LM to Diffusion (L2D),旨在赋予预训练的大语言模型(…