跨模型知识融合:大模型的知识融合

 大模型(LLMs)在多个领域的应用日益广泛,但确保它们的行为与人类价值观和意图一致却充满挑战。传统对齐方法,例如基于人类反馈的强化学习(RLHF),虽取得一定进展,仍面临诸多难题:训练奖励模型需准确反映人类偏好,这本身难度很大;actor-critic架构的设计和优化过程复杂;RLHF通常需要直接访问LLM的参数,这在API基础模型中难以实现。获取高质量的、无偏见的反馈数据也是一大挑战,因为数据集可能受到个别标注者观点的影响,导致偏差。这些挑战共同构成了LLMs对齐工作的难点。本文介绍了一种新的对齐范式——Aligner,它通过学习对齐和未对齐答案之间的修正残差来绕过整个RLHF过程,提供了一种参数高效、资源节约的对齐解决方案。

 Aligner
Aligner模块的架构以及其在语义空间中的行为

图1展示了Aligner模块的架构以及它在语义空间中的行为。左侧展示了一个校正工作流程,其中Aligner作为一个即插即用模型,堆叠在上游的大型语言模型(LLM)之上,无论该上游模型是否已经对齐。Aligner的作用是将上游模型生成的初始答案重新分配,转化为更加有用和无害的答案,从而使组合后的LLM响应与人类意图保持一致。

右侧的图示说明了从查询到对齐答案的直接映射学习是具有挑战性的。然而,基于上游模型输出的答案进行校正,则是一个更可行的学习任务。这意味着,Aligner通过专注于校正已有答案,而不是试图直接生成完美对齐的答案,简化了学习过程。这种方法利用了seq2seq模型的优势,通过学习隐含的残差来实现更好的对齐,而不是从头开始学习复杂的映射。

Aligner的架构和功能类似于神经网络中的残差块,它采用“复制和校正”的方法,将改进叠加在原始答案上,而不改变其基本结构。这种设计不仅保留了初始响应,同时增强了它,使其更好地符合期望的结果。通过这种方式,Aligner能够在保持原有答案框架的基础上,对其进行必要的调整,以提高答案的质量和安全性。

Aligner模型的核心是一种自回归的序列到序列(seq2seq)学习方法,它通过监督学习的方式在查询-答案-修正(Q-A-C)数据集上进行训练。这种方法与传统的基于人类反馈的强化学习(RLHF)相比,具有显著的优势。在RLHF中,通常需要多个辅助模型,包括行为者(actor)、评论家(critic)、奖励(reward)和参考(reference)模型,这些模型的协调和训练过程相当复杂,需要大量的计算资源。

相比之下Aligner模型的设计更为简洁高效。它不需要依赖额外的辅助模型,因此减少了计算负担,使得对齐过程更加高效。Aligner模型的工作原理相对直观:它接收来自用户的查询以及由上游大型语言模型(LLM)生成的初始答案。基于这些输入,Aligner模型会生成一个修正后的答案,这个答案旨在更好地符合人类的价值观和意图。

Aligner模型的训练过程也相对简单。它通过学习如何从初始答案中识别并改进不符合人类价值观的部分,从而生成更加对齐的答案。这种方法的优势在于,它专注于修正已有答案,而不是从头开始生成答案,这大大降低了模型的复杂性和所需的计算资源。

Aligner模型的自回归特性意味着它在生成修正答案时,会考虑到整个查询和答案的上下文,从而生成更加连贯和相关的答案。这种方法不仅提高了答案的质量,还确保了答案与用户查询的紧密相关性。

在对Aligner模型与RLHF(基于人类反馈的强化学习)和DPO(直接偏好优化)等传统对齐方法进行比较时,可以发现Aligner在训练资源需求和模型可解释性方面具有明显的优势:

  1. 从训练资源的角度来看,Aligner模型由于其简化的架构,不需要像RLHF和DPO那样维护多个复杂的模型组件。RLHF方法涉及到训练奖励模型、actor、critic等组件,这不仅增加了模型训练的复杂性,也显著提高了所需的计算资源。而DPO作为一种强化学习方法,同样需要大量的计算资源来优化策略。相比之下,Aligner-7B作为一个自回归的seq2seq模型,即使在性能相似的情况下,也能以更少的资源消耗完成训练。
  2. 随着上游模型规模的增加,RLHF和DPO等方法所需的训练资源会急剧上升。这是因为这些方法通常需要与模型参数直接交互,参数量的增加自然导致计算负担的加重。然而,Aligner模型的训练资源需求并不随上游模型规模的变化而变化。这是因为Aligner作为一个附加模块,它的训练和运行不依赖于上游模型的具体参数,而是通过学习如何改进已有答案来实现对齐,因此它能够以相对恒定的资源消耗应对不同规模的上游模型。
  3. Aligner模型的可解释性也是其一大优势。在RLHF方法中,奖励信号往往是从人类反馈中学习得到的,这个过程可能不够透明,使得模型的决策过程难以解释。而Aligner模型作为一个seq2seq模型,其行为更易于理解和解释,因为它直接在文本空间内操作,通过修改和改进已有答案来生成对齐的答案,这个过程更加直观。

Aligner的训练策略采用了一种创新的方法,称为残差修正,这种方法的核心在于利用原始答案与修正后答案之间的语义差异。这个策略首先通过部分训练数据来初步训练一个Aligner模型,这个过程被称为“预热”阶段。预热的目的是让模型学习到一个基础的恒等映射,即模型在这个阶段学习如何保持输入和输出的一致性,这为后续的训练打下了基础。

在预热阶段之后,Aligner模型会使用完整的查询-答案-修正(Q-A-C)数据集来进行进一步的训练。此时,模型不再只是简单地学习恒等映射,而是开始学习如何根据已有的答案生成改进后的修正答案。这种方法允许模型专注于答案的改进部分,而不是从头开始生成整个答案,这提高了学习效率并减少了所需的模型容量。

残差修正策略的一个关键优势在于它允许模型在保持原有答案结构的同时,对答案进行精细化的调整。这意味着模型可以更加精确地对齐到人类价值观和意图,同时避免了对原始答案进行大规模的改动,这在很多情况下是有益的,因为它可以保留原始答案中仍然有效和准确的部分。

通过这种方式,Aligner模型能够更加高效地学习如何生成与人类价值观更加一致的答案。因为它专注于修正而不是重建,这使得模型可以更快地收敛,并且需要的训练数据量也相对较少。这种方法在训练大型语言模型时尤其有用,因为这些模型通常需要大量的数据和计算资源。

Aligner作为残差学习增强器在LLMs的架构和能力方面的作用

残差修正训练策略为Aligner模型提供了一种有效的学习机制,使其能够以一种计算效率高且可解释的方式来改进和对齐大型语言模型的答案。通过预热阶段的恒等映射学习和完整数据集上的残差修正,Aligner能够生成更加精确和有用的回答,同时保持了训练过程的简洁性和高效性。

通过Aligner实现的弱到强的泛化

弱到强的泛化这一概念在机器学习领域中指的是,使用一个能力较弱的模型来指导或监督一个更强模型的训练,以此提升后者的性能。本文中的方法基于Aligner模型来实现弱到强的泛化。

这个方法涉及使用一个较小的Aligner模型,即所谓的“弱”模型,来生成对齐标签。这些标签随后被用作训练数据,用于微调一个更大规模或更强大的上游模型,也就是“强”模型。这个过程的核心优势在于,即使是较小的模型也能够提供有价值的反馈,帮助提升大型模型的性能。

在实践中,弱Aligner模型首先接收到来自上游模型的输出,然后基于这些输出生成修正后的标签。这些修正后的标签捕捉到了原始输出与期望输出之间的差异,从而为强模型提供了改进的方向。通过这种方式,即使是较小的模型也能够对大型模型进行有效的指导。

这种方法的一个关键优势是它的可扩展性。随着模型规模的增长,直接训练和优化大型模型变得越来越困难,需要大量的计算资源和数据。而通过弱到强泛化,我们可以利用小型模型的灵活性和效率,来引导和优化大型模型的行为,使其更加符合人类的价值观和意图。

这种方法还有助于解决大型模型训练中的一些挑战,比如数据的标注成本和质量控制问题。通过使用小型模型来生成训练标签,可以减少对大量高质量标注数据的依赖,从而降低训练成本并提高训练过程的可操作性。

通过Aligner实现的弱到强泛化提供了一种创新的训练策略,它允许小型模型通过生成对齐标签来增强大型模型的性能。这种方法不仅提高了大型模型的对齐度,还通过减少对资源的依赖,提高了训练过程的效率和可扩展性。

使用Aligner进行弱到强泛化的结果,包括在不同模型上的性能提升
实验

研究者选择了两个不同的数据集来进行评估:BeaverTails和HarmfulQA。这两个数据集被用来检验Aligner在不同情境下的表现,以及它如何提升模型输出的有用性和无害性。

实验设置中,研究者特别关注了两类模型:基于API的模型和开源模型。对于API基础模型,他们选择了GPT-4和Claude 2,这两种模型都通过API提供服务,并且具备强大的语言处理能力。这些模型的表现将作为评估Aligner模块效果的一个重要参考。

同时,研究者也包括了一系列开源模型,包括不同规模的Llama2模型(7B, 13B, 70B)-Chat版本、Vicuna系列(7B, 13B, 33B)以及Alpaca7B和Beaver-7B。这些模型因其开放的架构和可访问性,为研究者提供了丰富的实验选项。通过将Aligner模块应用于这些模型,研究者可以观察到Aligner在不同类型的语言模型上的表现,以及它如何帮助这些模型更好地符合人类的价值观和意图。

在实验中,Aligner模块被集成到了上述模型中,以评估其对模型输出的影响。研究者特别关注了Aligner如何提升模型答案的有用性和无害性。有用性指的是模型输出对用户问题的正面帮助程度,而无害性则涉及模型输出是否避免了可能对用户或社会造成伤害的内容。

实验结果显示,Aligner模型作为一种有效的对齐工具,它能够跨不同类型和规模的语言模型工作,提升模型输出的质量和安全性。这些发现证明了Aligner模型在实际应用中的潜力,尤其是在需要提升语言模型对齐度的场景中。

Aligner模型在不同设置下的性能表现

表3显示Aligner在所有设置中都取得了显著的效果。研究者通过将各种模型与Aligner集成,并与原始模型进行比较,来量化有用性(helpfulness)和无害性(harmlessness)的百分比提升。表格中的背景颜色代表了目标语言模型的类型:绿色代表基于API的模型,橙色代表未进行安全对齐的开源模型,蓝色代表进行了安全对齐的开源模型。表格中使用了特定的图标来指示模型参数是否可访问,以及模型是否进行了安全对齐。

表3的评估结果是基于Aligner模型与不同上游模型的集成来进行的。这些上游模型包括了不同规模和类型的语言模型,如GPT-4、Claude 2、Llama2-7B-Chat、Vicuna-7B等。通过将Aligner模型集成到这些上游模型中,研究者能够观察到在有用性和无害性方面的显著提升。例如,Aligner-7B在提升GPT-4的有用性方面提高了17.5%,在无害性方面提高了26.9%。

表3还展示了Aligner模型在不同类型的模型上的应用效果,这包括了API基础模型和开源模型。对于API基础模型,即使模型参数不可访问,Aligner作为一个即插即用的模块,也能够显著提升模型的性能。而对于开源模型,无论是已经进行了安全对齐的模型,还是未进行安全对齐的模型,Aligner都能够提供性能上的增强。

在训练和评估集中有用性和无害性得分的分布

研究者还进行了消融实验。消融研究显示,与自我改进/自我批评方法相比,Aligner在有用性和无害性方面均表现优越。此外,与RLHF/DPO/SFT等基线方法相比,Aligner在减少计算资源的同时,提供了可比或更好的改进。

Aligner与CAI、Self-Refine和Self-Critique等方法的有效性评估

消融研究中使用了BeaverTails和HarmfulQA两个数据集来进行评估。在这些实验中,研究者将CAI提示仅在大型语言模型(LLMs)的推理时使用,以鼓励模型自我修正答案。这种不经过预先训练而直接使用CAI提示的方法,代表了一种独特的自我完善形式。而Self-Critique方法则是让模型自我批评,以发现并改进答案中的缺陷。

实验结果显示,使用CAI和Self-Critique方法时,GPT-4模型在有用性和无害性上的提升分别为+21.2%/+11.0%和+31.7%/+19.9%。然而,当使用Aligner-13B模型时,这些指标的提升更为显著,达到了+33.9%/+25.1%和+25.1%/+20.1%。这表明Aligner模型在提升模型输出的质量和安全性方面,具有明显的优势。

Aligner作为一种新兴的大型语言模型对齐范式,展示了在资源效率、训练简便性和模型泛化能力方面的重要优势。随着进一步的研究和开发,Aligner有望在确保AI系统与人类价值观和意图一致方面发挥关键作用。

论文地址:https://arxiv.org/abs/2402.02416

项目地址:https://aligner2024.github.io

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

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

相关文章

百刀神书!从0搭建神经网络!我服!

《Neural Networks from Scratch in Python》是一本深入浅出的书籍,旨在帮助读者从零开始理解和实现神经网络模型。作者使用Python语言,从基本的数学概念和神经网络的基本原理开始,逐步引导读者探索神经网络的各个组成部分。 该书介绍了神经…

AI数字人直播系统源码解析:教你如何高效搭建直播系统!

在人工智能技术飞速发展的今天,以AI数字人直播为代表的数字人应用开始为各大企业引进,并引发了一场“AI数字人直播浪潮”。在此背景下,许多创业者都感受到了所蕴含着的巨大前景和收益空间,从而有了搭建AI数字人直播系统的想法&…

BGE M3-Embedding 模型介绍

BGE M3-Embedding来自BAAI和中国科学技术大学,是BAAI开源的模型。相关论文在https://arxiv.org/abs/2402.03216,论文提出了一种新的embedding模型,称为M3-Embedding,它在多语言性(Multi-Linguality)、多功能…

Ollama中文版部署

M1部署Ollama Ollama中文网站: Featured - 精选 - Ollama中文网 下载网址: Download Ollama on macOS 安装后运行llma3模型: ollama run llama3:8b 界面使用: GitHub - open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI) 部署open-webui: do…

FT232串口win11打不开,重新安装驱动问题解决。

问题现象:FT232 WIN11打不开,串口识别正在被占用。更改串口号问题无法解决。 解决办法: 卸载驱动, 重启电脑, 去官网下驱动安装问题解决。Drivers - FTDI

原神最大数据泄露事件!

你知道吗? 一位黑客公开了原神的内部资料,并对米哈油的网络安全表示失望。那么他为什么要这样做呢? 前段时间,由于单方面对原神游戏设计的不满,黑客对米哈游进行了入侵。未被公开的新角色、新地图,甚至是…

简易深度学习(1)深入分析神经元及多层感知机

一、神经元 单个神经元结构其实可以认为是一个线性回归模型。例如下图中 该神经元输入为三个特征(x1,x2,x3),为了方便理解,大家可以认为每条线上都有一个权重和特征对应(w1,w2&…

计算机组成期末复习(山大复习版)

文章目录 前言一.计算机系统概述1.计算机的软硬件概念及各自组成易错点: 2.冯诺依曼计算机的特点:易错点: 3.程序和数据都采用二进制代码,计算机如何区分指令和数据?4.现代计算机硬件框架图5.计算机硬件的主要技术指标…

LabVIEW与C#相互调用dll

C#调用LabVIEW创建的dll 我先讲LabVIEW创建自己的.net类库的方法吧,重点是创建,C#调用的步骤,大家可能都很熟悉了。 1、创建LabVIEW项目,并创建一个简单的add.vi,内容就是abc,各个接线端都正确连接就好。 …

【Linux杂货铺】Linux学习之路:期末总结篇1

第一章 什么是Linux? Linux 是 UNIX 操作系统的一个克隆;它由林纳斯 本纳第克特 托瓦兹从零开始编写,并在网络上众多松散的黑客团队的帮助下得以发展和完善;它遵从可移植操作系统接口(POSIX)标准和单一 UNIX 规范…

[机器学习]-4 Transformer介绍和ChatGPT本质

Transformer Transformer是由Vaswani等人在2017年提出的一种深度学习模型架构,最初用于自然语言处理(NLP)任务,特别是机器翻译。Transformer通过自注意机制和完全基于注意力的架构,核心思想是通过注意力来捕捉输入序列…

Pycharm中安装Pytorch的库

step1&#xff1a; step2&#xff1a; step3&#xff1a; pip install torch torchvisionstep4&#xff1a; pip install numpy<2 # 版本低点&#xff0c;和pytorch版本不兼容&#xff0c;我当时是用的2.0的step5&#xff1a; pip install pandasstep6&#xff1a; …

累积势函数分类

本篇文章是博主在人工智能等领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在AI学习笔记&#…

[BUUCTF从零单排] Web方向 02.Web入门篇之『常见的搜集』解题思路(dirsearch工具详解)

这是作者新开的一个专栏《BUUCTF从零单排》&#xff0c;旨在从零学习CTF知识&#xff0c;方便更多初学者了解各种类型的安全题目&#xff0c;后续分享一定程度会对不同类型的题目进行总结&#xff0c;并结合CTF书籍和真实案例实践&#xff0c;希望对您有所帮助。当然&#xff0…

《数字图像处理与机器视觉》案例三 (基于数字图像处理的物料堆积角快速测量)

一、前言 物料堆积角是反映物料特性的重要参数&#xff0c;传统的测量方法将物料自然堆积&#xff0c;测量物料形成的圆锥表面与水平面的夹角即可&#xff0c;该方法检测效率低。随着数字成像设备的推广和应用&#xff0c;应用数字图像处理可以更准确更迅速地进行堆积角测量。 …

Java中反射的使用

无参构造器 方法的调用 package com.studio;import java.lang.reflect.Method;class User {private String name;/*无参构造器*/public User() {}public String getName() {return name;}public void setName(String name) {this.name name;}Overridepublic String toString…

基于STM32的智能门锁控制系统

目录 引言环境准备智能门锁控制系统基础代码实现&#xff1a;实现智能门锁控制系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景&#xff1a;门锁管理与优化问题解决方案与优化收尾与总结 1. 引言 智能门锁控制系统通过使用STM32嵌…

【你也能从零基础学会网站开发】(了解)关系型数据库的基本架构体系结构与概念理解

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;程序猿、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 关系型数据库的…

Spring Boot 学习第八天:AOP代理机制对性能的影响

1 概述 在讨论动态代理机制时&#xff0c;一个不可避免的话题是性能。无论采用JDK动态代理还是CGLIB动态代理&#xff0c;本质上都是在原有目标对象上进行了封装和转换&#xff0c;这个过程需要消耗资源和性能。而JDK和CGLIB动态代理的内部实现过程本身也存在很大差异。下面将讨…

StaleElementReferenceException 不再是问题:Google Colab 上的 Selenium 技巧

背景介绍 在现代网页数据抓取领域&#xff0c;Selenium 是一款强大的工具&#xff0c;它使得自动化浏览和数据提取变得异常简单。然而&#xff0c;当面对动态页面时&#xff0c;许多爬虫开发者常常会遇到一个令人头疼的问题——StaleElementReferenceException。这一异常的出现…