透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

news2024/12/29 9:58:43

01

引言

随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。

「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验知识,而模型问答其实就是引导大模型给出相关先验知识的过程」。对于提高大模型的性能,一种常见的方法就是不断的增加模型计算、Token和参数来提升规模。虽然这种方法可以让模型具备更广泛的知识,但是如何让这些基础模型在特定的下游能力上变得有用和高效(本质就是让模型给出符合预期的先验知识)。「这是目前大模型研究的一个主要方向:模型数字驯化研究,也就是我们平时说的模型调优」。本文总结介绍了目前学术界最主要的「5种模型调优方法」,并结合对5种方法的分析,给出了一个「优化算法选择的思路框架」。

02

背景介绍

训练大型语言模型(LLMs)和视觉语言模型(VLMs)的过程关键依赖于大量的互联网数据。像Transformer这样的高容量模型架构已经展示了对极其多样的数据分布进行有效建模的重要能力。这些大型模型在训练过程中接触各种各样的数据,包括优雅的小说散文和恶意的帖子、杰出的软件项目和有缺陷的代码、精美的专业摄影和业余自拍照片。虽然这些模型可以反映数字人类体验,但它们无法产生高质量、可取且一致的输出,然而这在大规模用户应用中是必需的。

我们应该认识到这些原始模型并不是糟糕的模型,它们实际上是对训练数据的分布进行建模。尽管这些底层数据分布可能包含不可取的特性,但也包含了良好特性、多样性和规模,这些是实现高性能模型的必要条件。「一个流行的假设是,模型的知识和能力主要在预训练阶段学习,而对齐过程则是引导模型在推理过程中使用哪些先验分布」。因此,如何在数据集中放大好的先验知识并抑制不好的先验知识,以及如何驯服从互联网分布中直接捕获的原始模型,成为一个重要问题。

过去一年里,有几种主要的方法逐渐流行起来。尽管它们的技术基础和优势各不相同,但它们都具有一个共同的目标:如何对一组期望先验进行放大,将其映射到模型对互联网规模数据集的理解上。本文主要研究各种先验放大方法和显著的用法示例,并提供一个算法选择的思路框架。

03

Prompting

通过精心设计的提示(prompt)来引导一个基础模型朝着期望的先验方向进行是目前门槛最低的方法,有时候该方法也被成为无梯度调优。prompt利用了训练时看到的关联和先验信息,例如高ELO分数的国际象棋比赛会有更强的走法,因此在测试时,一个好的prompt应该明确告诉模型它处于高水平的国际象棋比赛中,并做出像大师一样精确的预测。

prompt工程存在一些局限性,它是一种机会主义策略,即提示策略高度依赖于原始训练数据集中出现的模式、相关性和先验信息。成功的prompt工程需要在提示过于通用和过于具体之间取得平衡,因为如果提示过于通用,模型可以成功地跟随,但可能没有太大用处;而如果提示过于具体,则虽然有用,但模型无法泛化到其他情况。此外,prompt工程还受到训练数据分布中不理想数据的相关性的影响,这被称为“Waluigi效应”,从而导致提示无法有效地放大先验。

基于以上分析,为了更有效地放大先验信息,对原始模型进行微调是否可以避免零样本提示的局限性呢?

04

监督微调(SFT)

监督微调(Supervised Finetuning,SFT)主要思路是:首先使用在多样化数据集上预训练的原始模型,然后在规模较小但质量更高的数据集上进行进一步训练,这些数据集可以是原始数据集的子集,也可以不是。其中微调数据集充当包含所有最终模型所需属性的黄金标准。这种简单性提出了一个有说服力的论点:「将目标数据集提供给原始模型,SFT承诺将原始模型靠近目标分布」。由于SFT是监督学习,如果数据好且模型庞大,成功是有保证的。

SFT的范围对于微调数据集的来源也很灵活。它可以是原始多样化数据集的子集,也可以是全新的自定义数据集。它可以通过人工创建和验证,也可以使用设计的启发式和规则进行自动获取,它也可以通过合成生成。

图片

但是假设我们选择了一个特定的微调数据集,代表了我们希望融入模型的所有良好先验条件:「那么如何对基础模型进行微调呢」?在这里,也有几种选择:

  • 标准的SFT对整个基础模型进行微调,更新整个网络的权重。这是可能引起底层模型行为显著变化的最详尽的更新类型。
  • 轻微的方式进行微调,只有网络的某个子集可以进行微调;LiT就是一个例子,它在微调语言编码器的同时冻结了CLIP图像编码器。
  • 参数高效微调(Parameter-Efficient Finetuning,PEFT)是最近刚刚出现的新方法,该方法冻结了原始模型的大部,仅微调相对较小的模型参数集。像LoRA这样的PEFT方法就是非常大的创新,它使得消费者硬件就能够对相当大的基础模型进行微调。显然,「SFT的实现方式正在迅速发展,并且在可预见的未来可能仍将是一个令人兴奋的领域」。无论具体的SFT方法如何,对底层微调数据集的组成和质量都有很大的依赖。在SFT中,扩大哪些先验条件和如何扩大它们同样重要。

05

RLHF

RL微调引入了一个奖励模型,这是一个独立的组件,旨在在训练过程中直接为模型输出提供细粒度的反馈信号。其中最流行的RL微调范式之一是基于人类反馈的RL(RLHF),其中奖励模型直接根据人类偏好标签进行训练。与SFT采用的非参数方法不同,RLHF则相反,即通过参数化的奖励模型明确学习良好的先验知识,然后在训练过程中直接“告诉”原始模型这些偏好。将自回归标记预测视为强化学习问题有两个优势:「直接的在线反馈」和「在次优数据上进行训练」。

「首先,基于在线策略的学习信号非常有用,与标准离线离策略训练期间看到的信号在性质上有很大的不同」。在线反馈使模型了解“你的最佳预测有多好?”而离策略反馈告诉模型“这个其他预测会有多好?”。然而,除了在线反馈最具信息量之外,有时离策略反馈可能过时且不正确:预先收集的训练数据集包含在真空中存在的目标标签,并未考虑模型的当前能力。

「其次,RLHF提供了细粒度的奖励,使得可以在次优数据上进行训练」。而SFT设置只允许在包含或排除不同质量数据之间设定硬性界限,RLHF则采用更灵活的方法,在奖励模型训练期间和使用奖励模型进行微调期间都能够利用次优数据。在奖励模型训练期间,可以包含各种质量的数据,以使奖励模型更具鲁棒性。在基础模型微调期间,奖励模型能够输出多个细粒度的奖励尺度(例如,“正确+自信”的1.0奖励,"正确+不自信"的0.5奖励以及“错误+自信”的-2.0奖励),从而有效利用不同类型的次优数据。

除了这两个技术优势之外,还有一个系统级的优势,即将奖励模型视为一个独立组件,可以进行迭代研究和改进。这提供了非常微妙的奖励建模的潜力,然后可以将非常细粒度的反馈传递给原始基础模型。这在实证上得到了支持,因为与成功的RLHF微调相比,SFT似乎会导致基础模型的指令跟随行为发生较大变化。

06

RLAIF

RLHF通过将人类知识转移给AI模型提供了强大的机制,但也面临一些实际限制:人类反馈可能会存在噪音、不一致性,并且收集起来成本高昂。为了应对这些挑战,RLAIF旨在将现有的AI模型引入到反馈循环中,通过利用预训练模型生成用于训练奖励模型的偏好数据。RLAIF利用提示的基础模型中包含的良好先验生成自动化的偏好数据,无需人类参与,用于下游奖励模型的训练。

此外,基础模型可以充当AI评论家,不仅可以生成数据用于奖励模型,还可以直接成为奖励模型。在推理阶段,基础模型尝试完成任务并进行自我反思。在训练阶段,基础模型提供直接的策略反馈,将良好的先验知识融入到微调模型中。

07

合成数据生成SDG

AI 模型是否也可以改进我们获取和标记全新数据集的方式?更进一步,人工智能模型能否生成足够高质量的有用数据以供后续训练呢?

「一种可能的方法是不完全取代人类在数据引擎环节中的作用,而是通过共享自治的范式来增强人类能力」。AI模型的预测可能不是完美的,但可能是一个足够好的起点,可以节省人类标注的时间。例如,特斯拉自动驾驶团队的视觉数据引擎使用自动标签来进行诸如3D物体分割和车道检测等任务,并作为人类标注员进行校正的初始起点。最近,Meta发布了SA-1B分割掩码数据集,通过一种交互式的模型辅助标注过程,比完全手动标注的方法快6.5倍。

「除了协助人类标注员之外,生成建模的进步是否能够在完全没有人类参与的情况下创建有用的合成数据」?过去已经广泛研究了这个想法,称为半监督学习或伪标签;这篇博文是对2021年之前半监督学习的一个很好的概述。但是,2021年以后,在语言和视觉领域中性能出色的大规模模型的普及极大地增加了合成数据生成的潜力。过去,合成标签依赖于狭窄的特定领域模型,现在合成标签可以由不特定于当前任务的通用模型产生。这有两个好处:降低了尝试合成数据生成的成本,并有可能将互联网规模的常识引入到特定的训练领域中。

使用大规模通用模型进行狭窄合成生成”的这一概念已经在各种领域中得到越来越广泛的探索。

08

最佳策略

那么,对于大模型的最佳微调策略是什么?

图片

目前,已经有一些可行的建议可以得出结论。总结比较早期的方法,在做出有关先验放大的设计时,需要考虑一些潜在问题:

  • 原始训练语料库是否包含您想要的所有能力和先验?如果是,请尝试提示;如果否,微调模型。
  • 获取不同的微调数据集是否容易?如果是,请尝试 SFT;如果否,请尝试 RLHF 或 AI 反馈。
  • 您可以访问大量计算吗?如果是,微调整个模型;如果否,请使用 PEFT。
  • 现有的 AI 模型是否足以生成数据或验证数据?如果数据生成足够好,请尝试创建合成数据(SDG);如果足以验证但不能生成,请尝试使用 AI 反馈 (RLAIF) 或自我反思;如果两者都不是,请坚持使用 RLHF。

从更广泛的角度来看,我们需要认识到「AI助力先验分布放大过程是一把双刃剑」。随着AI模型在数据整理和训练过程中的越来越广泛应用,这些AI模型中预设的先验知识也会被传递下来——包括可取和不可取的先验知识。讨论过的所有微调方法都可以反复应用多次,每次生成的“学生”模型都会成为下一代的“老师”。因此,随着时间的推移,与过去简单的模型训练血统相比,特定先验知识的原始来源开始变得模糊不清。这对AI领域的技术方法论、安全性和控制偏见具有非常现实的影响。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

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

相关文章

ElasticSearch-Ingest Pipeline Painless Script

Ingest Node & Pipeline & Processor Ingest NodePipeline & Processor内置的 Processors创建 pipeline使用 pipeline 更新数据借助 update_by_query 更新已存在的文档Ingest Node VS Logstash Painless Ingest Node & Pipeline & Processor 应用场景&…

坚持与等待的区别!看了当年高考状元如今的现状,我才明白所谓名校的真相——早读(逆天打工人爬取热门微信文章解读)

快 机会来了 引言Python 代码第一篇 洞见 看了当年高考状元如今的现状,我才明白所谓名校的真相第二篇 股市 之 空窗期结尾 (不是 你改名 怎么改群名字! 这下每个人都知道王妈妈单身了) 引言 昨天忘记写了 真的很抱歉 说下借口哈…

Invicti-Professional-V24.8.1

前言 Invicti 专业 Web 应用程序安全扫描器 自动、极其准确且易于使用的 Web 应用程序安全扫描程序,可自动查找网站、Web 应用程序和 Web 服务中的安全漏洞。 Invicti Professional Edition 是一款商业 Web 应用程序安全扫描器。它旨在自动查找和修复 Web 应用程…

VScode:快捷键和技巧

格式化文档 搜索文件名

助贷CRM系统:为金融中介行业打造全新营销管理模式

助贷CRM(客户关系管理)系统是针对金融中介行业,特别是从事贷款助贷业务的机构设计的一套综合管理系统。该系统旨在通过数字化、智能化的手段,优化金融中介机构的营销、销售、客户管理及服务流程,提升运营效率&#xff…

构建高效在线拍卖系统:SpringBoot实践

MySQL数据库 数据库是系统开发过程中不可或缺的一部分。 在WEB应用方面,MySQL AB开发了一个具有很大优势的MySQL关系数据库管理系统。 MySQL可以将数据存储在不同的表中,这非常灵活,并且还可以提高系统在实际应用中的速度。 数据库访问最常用…

创客匠人8月总结|所有赋能都是服务,都是为了帮客户拿结果

“九层之台,起于累土;千里之行,始于足下。”每一份伟大的成就都源自不懈的积累与坚定的步伐。 作为“知识变现整体解决方案服务商”,我们始终站在时代的前沿,致力于为每一位知识IP搭建桥梁,直通知识变现之…

软件工程造价师习题练习 24

1.关于功能点方法,以下描述不正确的是( ) A. 可用于项目范围管理 B. 可用于澄清需求 C. 反映软件功能规模的大小 D. 与软件开发成本高度相关 功能点方法是一种用于软件规模估算的方法,它主要用于衡量软件的功能规模大小。功能点分析不直接与软件开发…

杀毒软件火绒下载地址

杀毒软件火绒下载地址

【深度学习实战】使用深度学习模型可视化工具——Netron在线可视化深度学习神经网络

一直以来,对于深度学习领域的开发者,可视化模型都是非常迫切的需求,今天主要介绍一款可视化工具——Netron Netron有三种使用方式:在线、本地安装、pip安装 今天在这里只介绍在线使用这种方式。 Netron有个官方的网站&#xff1…

SOC 阵列:创新算力的未来之路

一、SOC阵列的概念与发展历程 SOC 阵列是由多个特定功能集成电路组合在一个芯片上的系统或产品,包含硬件系统及嵌入式软件。从传统集成电路到 SOC 经历多个阶段,初期电路由分立元件组成,后集成到单芯片集成电路中,其发展遵循摩尔…

『功能项目』协程生成怪物模型【25】

打开上一篇24AssetBundle上传加载u3d模型的项目, 本章要做的事情是在项目运行14秒后生成一个怪物鲸鱼,并且怪物鲸鱼会根据路径点自动巡航 在资源商店免费下载怪物模型 重命名为MonsterWhale 创建一个空物体 重命名为Path 在子级下创建小球Sphere作为巡…

STM32CubeIMX修改库文件代码相关问题

有时候会遇到需要需要修改库文件的需求,比如下面两种情况: 1、库文件有问题 2、库文件需要修改以适配当前需求 修改库文件的目的是,当下次生成程序的时候直接生成修改后的,无需在修改库文件。 直接将修改替换至默认文件&#xff…

软件安全测试有多重要?第三方软件测试公司如何进行安全测试?

在当今信息化迅速发展的社会,软件的安全性越来越受到重视。近年来,我国的网络安全形势日趋复杂,各类网络攻击层出不穷,软件泄露、数据丢失等事件屡见不鲜。为了保障软件项目的安全性,安全测试必不可少。 软件安全测试…

物流计算面单物流单标签打印软件 佳易王物流管理系统下载操作教程

一、前言 物流计算面单物流单标签打印软件 佳易王物流管理系统下载操作教程 1、佳易王物流管理系统软件分两个版本,一个是大众版,一个是高级版,本例以大众版为例说明 软件在打印物流单的同时可以打印标签 2、软件为免安装版,解…

使用matplotlab绘制多条形图

##黑马程序学习 这种多个条形图放在一起的图形该怎么画呢? 请看以下代码 #横着的条形图 from matplotlib import pyplot as plt import matplotlib#设置显示中文 和 负号 matplotlib.rcParams[font.sans-serif][SimHei] matplotlib.rcParams[axes.unicode_minus]F…

第二百一十四节 Java反射 - Java反射字段访问

Java反射 - Java反射字段访问 我们可以使用反射在两个步骤中获取或设置字段。 获取字段的引用。要读取字段的值,请在字段上调用getXxx()方法,其中Xxx是字段的数据类型。要设置字段的值,请调用相应的setXxx()方法。 以相同的方式访问静态和实…

CCF-CSP 2024 --重塑矩阵1,2c语言题解

创作想法是因为像我当初大一时候想参加一些比赛但是奈何只学了c和c相关数据结构,但是对于许多竞赛的题目的题解往往都是c或者其他面向对象的编程语言,让我们难以在c语言基础上入手这些比较复杂的题目。 创造的目的是为了帮助各位同时提高我对c语言编程的…

vue2-elementUI-初始化启动项目-git

前置基础 资料下载-阿里云盘 vueaxioselement-uinpmvscode 初始化项目 1.创建vue2工程 1.1 vue create projectName1.2 选择 1.3 初始化 vue-cli 的核心步骤: Manually select features (*) Babel ( ) TypeScript ( ) Progressive Web App (PWA) Support …

计算机毕业设计选题推荐-企业会议室管理系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…