首页 > 其他分享 >聊聊大模型微调训练全流程的思考

聊聊大模型微调训练全流程的思考

时间:2024-03-18 16:23:33浏览次数:25  
标签:训练 流程 微调 阶段 聊聊 RM 模型

转载请注明出处:https://www.cnblogs.com/zhiyong-ITNote

参考现有的中文医疗模型:MedicalGPTCareGPT等领域模型的训练流程,结合ChatGPT的训练流程,总结如下:
在预训练阶段,模型会从大量无标注文本数据集中学习领域/通用知识;其次使用{有监督微调}(SFT)优化模型以更好地遵守特定指令;最后使用对齐技术使LLM更有用更安全的响应用户的提示。

训练流程的四个阶段,分别如下:

  1. 预训练(pre-training,pt),基于基座模型,经过海量中文医疗预料训练,得到领域适配的ChatGLM-6B。
  2. 监督微调(supervised finetuning,sft),通过在线问诊等数据,构建训练数据完成指令微调。
  3. RM模型构建(reward modeling, rm),人工对预测答案排序,训练一个打分模型
  4. 强化学习阶段(reinforcement learning, rl),基于PPO算法,采用RL的方式,完成fine-tuned ChatGLM-6B模型的优化。

预训练阶段-PT

该阶段的训练数据格式如下。对应是非结构化的自然语言文本,通过设定max_seq_len和block_size等方式,实现文本数据的chunk,batch化,作为模型的训练数据,处理完的单条数据包含input_ids,attention_mask和labels;训练的目标是模型需要根据提供的文本来预测 下一个单词。
image.png

监督微调阶段-SFT

该阶段的训练数据格式如下。一般对应的结构采用instruction/input/output/history,根据不同的场景,input与history可以做缺省处理。但是需要人工标注的指令数据集。
image.png

对齐

该阶段的主要目标是将语言模型喻人类的偏好、价值观进行对齐,这也是RHLF机制的作用。
RLHF主要包括两步:

  1. 基于有监督微调模型基础上创建一个reward model(RM)模型;
  2. 基于RM模型使用PPO/DPO算法微调SFT模型,返回最佳response。

奖励模型-RM

该阶段是RHLF的第一个阶段,训练得到一个rm模型用于rl阶段的模型打分,其结构格式如下:
image.png
image.png
有多种格式的数据,可自己选择,但需要程序做额外的处理,且这些数据都是人工标注好的。

强化学习-RL

该阶段是RHLF的第二个阶段,也是核心部分,用于优化一个RM模型,并完成打分。数据格式同SFT。一般在此阶段会使用特定的算法(DPO/PPO)来实现;引导优化后的大模型生成更符合人类偏好的内容。

总结

对于模型的微调,一开始我是想的太简单了,觉得只要按照基座官方模型文档调试即可;随着了解的深入与不断的学习,微调是个大工程而且对于领域模型来说,其训练流程:预训练 --> 监督微调 --> RHLF 中包含的事项与知识太多。
参考:【中文医疗大模型】训练全流程源码剖析

转载请注明出处:https://www.cnblogs.com/zhiyong-ITNote

首发于个人公众号
image

标签:训练,流程,微调,阶段,聊聊,RM,模型
From: https://www.cnblogs.com/zhiyong-ITNote/p/18080667

相关文章

  • 鸿鹄电子招投标系统源码实现与立项流程:基于Spring Boot、Mybatis、Redis和Layui的企业
    随着企业的快速发展,招采管理逐渐成为企业运营中的重要环节。为了满足公司对内部招采管理提升的要求,建立一个公平、公开、公正的采购环境至关重要。在这个背景下,我们开发了一款电子招标采购软件,以最大限度地控制采购成本,提高招投标工作的公开性和透明性,并确保符合国家电子招投标......
  • 有手就会做!保姆级Jmeter分布式压测操作流程(图文并茂)
    分布式压测原理分布式压测操作保证本机和执行机的JDK和Jmeter版本一致配置Jmeter环境变量配置Jmeter配置文件上传每个执行机服务jmeterchmod-R755apache-jmeter-5.1.1/执行机配置写自己的ip控制机配置所有执行机ip,把server.rmi.ssl.disable改成true将本机也作......
  • 【机器学习-01】机器学习基本概念与建模流程
      机器学习的过程本质上是一个不断通过数据训练来提升模型在对应评估指标上表现的过程。在此过程中,为模型提供有效的反馈并基于这些反馈进行持续的调整是至关重要的。只有当这个过程顺利进行时,模型才能得到有效的训练,机器才能真正实现学习。  虽然从广义上理解机器学习......
  • 内网私仓全流程搭建记录(一)-Nexus3环境搭建
     1、部署1)在https://help.sonatype.com/repomanager3/product-information/download中下载对应环境及版本,此处要求3以上版本,本次以“nexus-3.38.1-01-win64”版本为例;2)下载完成后解压文件夹到指定目录,我们这里指定到“D:\SoftWares”;3)在解压后的“D:\SoftWares\nexus-3.38.1-01-......
  • 内网私仓全流程搭建记录(二)-npm私仓提交与拉取
    1、npm私仓依赖下载及本地上传方法一1)使用Pycharm创建py文档,写入如下py代码:importosimportreimportaiohttpimportasynciofromurllib.parseimporturlparsefromconcurrent.futuresimportThreadPoolExecutor#创建存储文件夹download_folder="sourcenpm"os.m......
  • 香港公司变更注册地址所需材料及流程全解析
    香港公司变更注册地址:所需材料及流程全解析      各位老板好,我是经典世纪胡云帅,随着业务的拓展和发展,香港公司可能需要变更其注册地址。变更注册地址不仅关系到公司的日常运营,还与公司的法律地位和品牌形象息息相关。本文将为您详细介绍香港公司变更注册地址所需的材......
  • 聊聊CDN、缓存插件、网站速度优化
    导语        对于网站速度优化这一永恒的话题,作为一名老站长,我的最新建议是,在现今的网络环境下,最大限度地利用CDN(ContentDeliveryNetwork)服务已经成为提升网站性能的必备策略之一。尤其是在确保前端页面快速载入方面,CDN通过在全球范围内分布的服务器节点缓存静态......
  • FastJson反序列化1-FastJson基础使用及反序列化流程分析
    1、FastJson简介及使用fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。1.1序列化JavaBean;假设现在程序中有一个类User,基本信息如下(省略构造方法及getset方法):packageorg.exampl......
  • 软件产品开发从0到1的整个流程
    软件产品开发从0到1的整个流程顺序如下:1.市场调研与分析:分析市场需求、行业环境、竞争对手和潜在用户以确定产品定位和功能需求,制定项目计划和里程碑。2.产品规划:进行系统的预研,确定整体技术方案和资源投入。详细描述项目的目标、范围、预算、时间表、风险评估等信息,提交给相......
  • AI大型语言模型的微调与迁移学习
    1.背景介绍在过去的几年里,人工智能(AI)和机器学习(ML)领域取得了显著的进步。特别是在自然语言处理(NLP)领域,大型预训练语言模型如BERT、GPT-3等的出现,使得机器对人类语言的理解和生成能力达到了前所未有的高度。然而,这些模型在特定任务上的表现往往需要通过微调(Fine-tuning)和迁......