【Arxiv 大模型最新进展】北大 Parenting 方法登场:参数魔法解锁检索增强语言模型新高度!

devtools/2025/2/28 22:30:53/

【Arxiv 大模型最新进展】北大 Parenting 方法登场:参数魔法解锁检索增强语言模型新高度!


🌟 嗨,你好,我是 青松 !

🌈 自小刺头深草里,而今渐觉出蓬蒿。


NLP Github 项目推荐:

  • 【AI 藏经阁】:https://gitee.com/fasterai/ai-e-book

    介绍:该仓库主要分享了数百本 AI 领域电子书

  • 【AI 算法面经】:fasterai/nlp-interview-handbook#面经

    介绍:该仓库一网打尽互联网大厂NLP算法面经,算法求职必备神器

  • 【大模型(LLMs)面试笔记】:https://gitee.com/fasterai/nlp-interview-handbook

    介绍:该仓库汇总了 NLP 算法工程师高频面题,适合大模型初学者和正在准备面试的小伙伴希望能帮助各位同学缩短面试准备时间,不错过金三银四涨薪窗口,迅速收获心仪的Offer 🎉🎉🎉


文章目录

  • Parenting: Optimizing Knowledge Selection of Retrieval-Augmented Language Models with Parameter Decoupling and Tailored Tuning
    • 方法详解
      • 参数解耦
      • 定制调优
      • 实验结果


Parenting: Optimizing Knowledge Selection of Retrieval-Augmented Language Models with Parameter Decoupling and Tailored Tuning

作者Yongxin Xu, Ruizhe Zhang, Xinke Jiang, Yujie Feng, Yuzhen Xiao, Xinyu Ma, Runchuan Zhu, Xu Chu, Junfeng Zhao, Yasha Wang

单位Peking University, The Hong Kong Polytechnic University

下图给出此文的整体逻辑框架。首先,对文章进行一句话总结,然后简要介绍研究内容、研究动机、技术动机、解决方案以及优势与潜力,以便读者快速了解文章脉络。

方法详解

本文研究的是如何优化检索增强语言模型(RALMs)的知识选择,平衡模型的遵从性和鲁棒性。现有方法在平衡RALMs的遵从性和鲁棒性方面存在困难,难以有效整合外部知识与内部记忆,且容易受到检索噪声影响。受人类认知过程启发,本文提出了Parenting方法,通过参数解耦和定制调优策略,提升RALMs在不同检索上下文中的性能。

具体地,Parenting方法分为两个主要部分,参数解耦和定制调优,以下是详细介绍。

参数解耦

如下图所示,参数单元可分为两大类:

  1. 相交参数单元主要提升模型感知和分析上下文的能力,可同时增强模型的遵从性和鲁棒性。

  2. 独占参数单元:

  • 遵从性独占参数单元主要提升模型通过复制和总结上下文信息来解决问题的能力,对遵从性更重要;
  • 鲁棒性独占参数单元主要提升模型通过检索内部记忆解决问题的能力,对鲁棒性更重要。

具体参数解耦方法如下:

  1. 数据集构建

    • 遵从性数据集:包含与模型内部知识相冲突但与正确答案吻合的知识文档以及对应的问题,用于增强模型对外部知识的遵从性。
    • 鲁棒性数据集:包含与问题无关的噪声文档以及对应的问题,用于提升模型在面对无关信息时的鲁棒性。
  2. 关键参数挖掘

    • 正向激活概率计算:对于来自特定数据集的输入,计算不同输入下FFN层神经元的激活概率。

    • 基于梯度的敏感性和不确定性计算:计算参数的梯度和权重的乘积来量化对训练损失的敏感性,但由于训练过程的复杂动态,该指标方差较高,因此进行平滑处理和不确定性量化得到敏感性分数和不确定性分数。

    • 重要性分数计算和聚合:以前向传播得到的激活概率作为层特定线索,结合平滑后的敏感性和不确定性,计算每个参数在遵从性或鲁棒性方面的最终重要性分数。

  3. 参数单元识别

    对遵从性和鲁棒性的重要性分数进行标准化,根据分数识别相交和独占参数单元:

    • 相交参数单元:对于遵从性和鲁棒性标准化分数均大于0的参数单元。
    • 遵从性特定单元:遵从性标准化分数大于0且鲁棒性标准化分数小于0的参数单元。
    • 鲁棒性特定单元:鲁棒性标准化分数大于0且遵从性标准化分数小于0的参数单元。

定制调优

根据参数单元的类型,设计特定的微调策略:

  1. 交叉参数单元:通过设计文档提取任务,同时优化交叉参数单元的遵从性和鲁棒性。

    基于 SQuAD 2.0 数据集,对于每个问题,收集三种类型的文档:包含问题答案的相关文档、同一主题的噪声文档以及来自不同主题的噪声文档,以此模拟各种检索上下文场景。

    训练时,冻结其余参数单元,结合遵从性数据集和鲁棒性数据集的损失,计算总损失如下:

L c x = δ 1 ( γ a × L a + γ r × L r ) + ( 1 − δ 1 ) L c \mathcal{L}_{c x}=\delta_{1}\left(\gamma_{a} × \mathcal{L}_{a}+\gamma_{r} × \mathcal{L}_{r}\right)+\left(1-\delta_{1}\right) \mathcal{L}_{c} Lcx=δ1(γa×La+γr×Lr)+(1δ1)Lc

​ ,其中 L a \mathcal{L}_{a} La是与遵从性数据集的交叉熵损失, L r \mathcal{L}_{r} Lr是与鲁棒性数据集的交叉熵损失, L c \mathcal{L}_{c} Lc是文档提取数据集上的 交叉熵损失, 0 < δ 1 < 1 0 < \delta_{1} < 1 0<δ1<1是原始任务和新增任务之间的重新加权因子, γ a \gamma_{a} γa γ r \gamma_{r} γr 这两个参数分别用于衡量遵 从性和鲁棒性相关的权重。

  1. 独占参数单元:为了避免独占参数单元受到冲突监督信号的污染,采用边界控制策略,在训练过程中隔离遵从性特定和鲁棒性特定的单元。

    • 对于遵从性特定单元,冻结其余参数单元,为了确保它们不受与鲁棒性相关的梯度影响,不进行鲁棒性数据集的训练,损失函数为: L a x = δ 1 L a + ( 1 − δ 1 ) L c \mathcal{L}_{a x}=\delta_{1} \mathcal{L}_{a}+\left(1-\delta_{1}\right) \mathcal{L}_{c} Lax=δ1La+(1δ1)Lc

    • 对于鲁棒性特定单元,冻结其余参数单元,为了确保它们不受与遵从性相关的梯度影响,不进行遵从性数据集的训练,其损失函数为 L r x = δ 1 L r + ( 1 − δ 1 ) L c \mathcal{L}_{r x}=\delta_{1} \mathcal{L}_{r}+\left(1-\delta_{1}\right) \mathcal{L}_{c} Lrx=δ1Lr+(1δ1)Lc

    此外,保持其余参数单元的初始权重,以防止与预训练权重产生偏差,保留LLMs的其他能力。

实验结果

在不同RAG任务上的表现如表1所示,表明本方法在遵从性和鲁棒性方面均优于先前方法,实现了更平衡的改进。

可视化 LLaMA2 - 7B - Chat 中遵从性和鲁棒性的参数单元重要性分布如下图所示。

可以观察到对遵从性和鲁棒性都至关重要的相交参数单元(紫色框),以及遵从性特定单元(红色框)和鲁棒性特定单元(蓝色框)。遵从性特定单元主要位于中间和中上层,与先前的重要作用相关研究结果一致;鲁棒性特定单元主要位于上层,少数在中间层,这与内部事实知识通常在 LLMs 较高层编码的研究结果相符;相交参数单元主要位于中间到中下层。


  • 原文链接:https://arxiv.org/pdf/2410.10360
  • 撰稿:董雪梅

http://www.ppmy.cn/devtools/163461.html

相关文章

利用python和gpt写一个conda环境可视化管理工具

最近在学习python&#xff0c;由于不同的版本之间的差距较大&#xff0c;如果是用环境变量来配置python的话&#xff0c;会需要来回改&#xff0c;于是请教得知可以用conda来管理&#xff0c;但是conda在管理的时候老是要输入命令&#xff0c;感觉也很烦&#xff0c;于是让gpt帮…

windows下适用msvc编译ffmpeg 适用于ffmpeg-7.1

需要的工具: visual studio 2019 (可以是其他版本&#xff0c;只是本人电脑上装的为2019) msys2 ffmpeg-7.1源码 1. 修改msys2_shell.cmd 在msys2目录修改msys2_shell.cmd 打开后找到行set MSYS2_PATH_TYPEinherit 删除开头的rem 2. 运行msys2 运行x64 Native Tools Command …

电脑键盘知识

1、键盘四大功能区 1. 功能区 2. 主要信息输入区 3. 编辑区 4. 数字键盘区 笔记本电脑键盘的功能区&#xff0c;使用前需先按Fn键 1.1、功能区 ESC&#xff1a;退出 F1&#xff1a;显示帮助信息 F2&#xff1a;重命名 F4&#xff1a;重复上一步操作 F5&#xff1a;刷新网页 …

【大模型系列篇】如何解决DeepSeek-R1结构化输出问题,使用PydanticAl和DeepSeek构建结构化Agent

今日号外&#xff1a;&#x1f525;&#x1f525;&#x1f525; DeepSeek开源周&#xff1a;炸场&#xff01;DeepSeek开源FlashMLA&#xff0c;提升GPU效率 下面我们开始今天的主题&#xff0c;deepseek官方明确表示deepseek-r1目前不支持json输出/function call&#xff0c;可…

在 MySQL 中,删除数据库和表后,自动递增的值通常会被重置为初始值,一般是 1。但如果自动递增不为零,可能有以下原因及解决办法:

在MySQL中&#xff0c;删除数据库和表后&#xff0c;自动递增的值通常会被重置为初始值&#xff0c;一般是1。但如果自动递增不为零&#xff0c;可能有以下原因及解决办法&#xff1a; 原因 数据文件残留&#xff1a;MySQL的数据存储在数据文件中&#xff0c;虽然删除了数据库…

Elasticsearch 数据量大时如何优化查询性能?

Elasticsearch 数据量大时如何优化查询性能&#xff1f; 在面试中&#xff0c;如果你被问到&#xff1a;“Elasticsearch&#xff08;ES&#xff09;在数据量很大的情况下&#xff08;数十亿级别&#xff09;如何提高查询效率&#xff1f;” 那么面试官其实是在测试你是否有实…

LC-单词拆分、最长递增子序列、乘积最大子数组、分割等和子集、最长有效括号

单词拆分 定义状态&#xff1a; 设 dp[i] 表示字符串 s 的前 i 个字符 s[0:i] 是否可以由 wordDict 中的单词拼接而成。 状态转移方程&#xff1a; 设 wordDict 中的某个单词 word&#xff0c;如果 s[j:i] (即 s 从 j 到 i-1 的子串) 在 wordDict 中&#xff0c;且 dp[j] tru…

Geo3D城市引擎大规模建筑植被渲染

import * as Geo3D from "../src"; import InitHelper from "./InitHelper"; //3D场景初始化 const sceneControl InitHelper.init3D(); const container document.querySelector("#map") as HTMLElement; container && sceneControl.…