当前位置: 首页 > news >正文

后训练技术介绍

一、简介

        通常训练语言模型的时候,我们首先是需要从大量数据集中进行一次训练,得到一个基础模型。但此时训练出来的模型,由于其接受数据的冗杂性(数据可能来自各个领域),其泛化能力强但是如果要应用于某一专业领域——比如只用于医学领域或在线客服对话等,效果不会太好。从安全角度来说,为了避免信息泄露,我们有必要在预先训练出的基础模型上,再对它进行一次训练,以达到实现某一特定功能的目的,这就是后训练。后训练的目的是为了获得定制化的大模型

二、预训练

        预训练通常是无监督学习,其数据来源于大规模无标注文本语料(如维基百科、Common Crawl等),通常训练规模庞大——超过2万亿。其优化方式之一是最小化负对数概率,以“我喜欢猫”为例,模型会优先最小化“我”的负对数概率,然后在给定“我”的条件下,最小化“喜欢”的负对数似然(类似条件概率),最后是最小化给定“我喜欢”时“猫”的负对数似然。这样训练出来的模型可以通过一个词预测出下一个词,类似于做文本生成任务。

三、后训练方法

        模型在经过预训练后,并不能直接应用,而是根据实际需求进行“再加工”以生成特定的模型,这是后训练的目的,而后训练的数据集规模一般远远少于预训练。而后训练的方法分为三种。

1.监督微调(SFT)

        这是最简单也是应用最多的一种方法,它属于有监督学习范畴。需要创建提示标记-响应对数据集(1000-10亿),其中提示一般是给模型的指令,响应是我们期望模型给出的回答。它的训练特点是:仅针对响应标记训练,而不涉及到提示。

2.直接偏好优化(DPO)

        这个方法需要创建包含提示在内的优质响应和劣质相应数据集,其训练函数较之SFT更复杂。它会根据任一提示,生成多个响应并筛选出优质和劣质响应。训练目的是使其远离劣质响应并靠近优质响应,这个与SFT不同点在于:前者只需要尽量靠近正确答案即可,而这个不仅需要靠近正确答案,还需要远离错误答案。打个比方:以在学校学习为例,SFT就是老师告诉你需要向某个好学生学习(比如说小王);而DPO就是老师告诉你,不仅需要跟小王学习,还不要像小张这个坏学生学习。

3.在线强化学习(Online RL)

        这个方法与前面都不同的是,它仅需要准备提示词和奖励函数即可。模型会根据提示,生成对应响应,再经过一个奖励函数给出评分,这使得模型会寻找出使得奖励最大的响应。它就相当于开放性主题作文:写什么都是对的,但是有评分标准给出最优的主题。

四、后学习要素

        后学习的成功离不开良好的数据结构设计(不同的后学习方法需要不同的数据集结构),高效快捷的算法和合理的评价系统,分三点叙述:

1. 数据与算法协同设计

        针对SFT,我们需要设计出提示标记和响应标记对;针对DPO,我们需要设计提示标记、良响应标记和劣响应标记;针对在线强化学习,我们又只需要设计提示标记和奖励函数。因此针对不同的后训练方法,需要设计出兼容的数据集。

2. 可靠高效的算法库

        有了兼容的数据集,还需要设计对应算法,这就需要我们使用可靠的算法库来实现。HuggingFace TRL有前述的大部分算法,除此之外还有Open RLHFveRLNemo RL等更精密、内存效率更高的库。

3. 合适的评估体系

        有了数据和优化算法,还需要合适的评估体系来体现模型在训练前后的差异。现有流行语言模型评估标准包括:

  • 对话机器人竞技场:基于人类偏好的聊天评估

  • 替代人类评判的LLM评估:AlpacaEvalMT BenchArena Hard

  • 指令模型静态基准:LiveCodeBench(热门代码基准)、AIME 2024/2025(高难度数学评估)

  • 知识与推理数据集:GPQAMMLU Pro

  • 指令遵循评估:IFEval

  • 函数调用与智能体评估:BFCLNexusBenchTauBenchToolSandbox(后两者专注多工具使用场景)

        需要注意的是,提升单一方面能力比较简单,难的是如何在不降低模型其他方面的评分下提高某一领域的评分。

五、后学习场景

        后学习并非什么时候都要的,如果不是问非常专业或者专门处理某一事情的时候,往往不必经过后学习。

  • 如果仅仅需要模型遵循少量的指令,可以仅通过提示词工程(prompt)完成,但其缺点是不稳定。
  • 如果需要实时查询数据库,检索增强生成或者基于搜索的方式可能会适用。
  • 应用于专业领域交互语言模型时,一般需要持续的预训练结合标准的后训练,并且后训练的数据尽可能多些(至少10亿),再让其学习交互规则。
  • 当需要严格遵循大量指令(20条以上),或者需要提升特定技能(如构建强SQL模型、函数调用模型或数学推理模型)时,后训练是最恰当的——但应该要注意避免其它方面的退化现象。

来自课程:https://github.com/datawhalechina/Post-training-of-LLMs#

整理学习笔记用

http://www.dtcms.com/a/479806.html

相关文章:

  • 怎样做百度推广网站wordpress登陆头像
  • 虚拟主机网站建设步骤?wechat官方下载
  • 网站测速南昌网站建设渠道
  • PMP-项目管理-PMBOK第六版_中文版:管理工具
  • MySQL——事务管理
  • html5网站后台公司网站制作合同
  • 网站建设搭配网站优化成功案例
  • C++浮点数取余函数fmod()介绍
  • riscv将全局变量固定到指定的地址
  • 设计公司是建筑企业吗seo一个空间建多个网站
  • seo整站优化哪家好桂林做网站电话号码
  • 网站不备案黑龙江省特种证查询
  • 网站设计交流网站关键词优化代理
  • 【Linux在环境安装】SpringBoot应用环境安装(一)-JDK安装
  • 网站后台上传图片不显示高新建设网站电话
  • 一台服务器可以建设几个网站wordpress返回
  • 苏宁网站开发人员工资用dw做网站的视频
  • Android Jetpack 系列(七)App Startup 启动优化
  • 网站建设的收费网站建设优化开发公司
  • 【代码收藏夹·Python】使用paho连接MQTT
  • 怎么把网站排名优化秦皇岛网站建设
  • 百度推广登录平台登录泊头 网站优化
  • JS - 数据类型
  • 站长之家新网址网络营销外包有限公司
  • 未来之窗昭和仙君(十六)网页数字动画函数——东方仙盟筑基期
  • 新手怎么学习网站建设网站建设横幅
  • 怎样做简单公司网站ip代理提取网站源码
  • 【Python】从 MP4 文件中提取中英双语字幕并生成双语字幕文件(如 .srt)
  • 基于ffmpeg库,在AGX上编译jetsonFFmpeg库带有硬件加速的h264_nvmpi视频编解码器
  • wordpress熊掌号自动提交seo如何使用wordpress优化