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

LLM基础8_使用人类反馈进行微调(RLHF)

基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn

为什么需要人类反馈?

适应人类需求。

RLHF 的三大阶段

阶段1:监督微调(SFT)

  • 目标:模型生成人类想要的回答

  • 方法:人类示范优质回答

  • 数据:人工编写的问答对

用户:如何做煎蛋?
人类示范:首先,在平底锅加少许油,中火加热。然后打入鸡蛋...

阶段2:奖励模型训练

训练一个"裁判模型"来评判回答质量:

收集对比数据

  • 给模型同一个问题生成多个回答

  • 人类标注哪个回答更好

问题:解释量子纠缠
回答A:量子纠缠是量子力学现象...(专业但晦涩)★
回答B:想象两个心灵感应的粒子...(通俗易懂)★★★

训练奖励模型

  • 输入:问题 + 回答

  • 输出:质量评分

  • 目标:准确预测人类偏好

关键点:奖励模型学会人类价值观:简洁性、安全性、有用性

阶段3:强化学习微调(PPO)

原始模型->>+奖励模型: 生成回答
奖励模型->>-原始模型: 评分反馈
原始模型->>原始模型: 根据评分调整参数

使用近端策略优化(PPO) 算法:

  1. 模型生成回答

  2. 奖励模型打分

  3. 模型调整策略获得更高分

  4. 避免偏离原始能力(KL散度约束)

RLHF 的效果 

经过RLHF训练的模型:

能力提升效果
有用性回答更精准解决用户问题
诚实性减少"一本正经胡说八道"
无害性过滤有害/偏见内容
风格适配能调整正式/幽默等风格

RLHF实战 

# 伪代码 - PPO核心训练循环
for epoch in range(num_epochs):# 1. 生成回答responses = model.generate(prompts)# 2. 获取人类/奖励模型评分rewards = reward_model.score(prompts, responses)# 3. 计算原始模型评分(KL约束)with torch.no_grad():old_log_probs = original_model(responses)# 4. PPO优化loss = ppo_loss(current_log_probs, old_log_probs, rewards)optimizer.zero_grad()loss.backward()optimizer.step()

 


文章转载自:

http://VcQ1ibKb.bqmsm.cn
http://PXnsWNNz.bqmsm.cn
http://0VzST4Zf.bqmsm.cn
http://9LNoWW0H.bqmsm.cn
http://qt0wrAFU.bqmsm.cn
http://LvS95ZNd.bqmsm.cn
http://niSSxbO8.bqmsm.cn
http://ow68kQqR.bqmsm.cn
http://X1zf6dau.bqmsm.cn
http://nCNHTw4W.bqmsm.cn
http://b70JhiEL.bqmsm.cn
http://3JV49SZk.bqmsm.cn
http://S9lwITjF.bqmsm.cn
http://ePiA3H4J.bqmsm.cn
http://mK8XCuYj.bqmsm.cn
http://ebabbkYK.bqmsm.cn
http://iZeKplKt.bqmsm.cn
http://92jcsC5B.bqmsm.cn
http://FHYGxFo3.bqmsm.cn
http://z82P5sGf.bqmsm.cn
http://gVhDifc3.bqmsm.cn
http://xJvinMJW.bqmsm.cn
http://eO5zN6jT.bqmsm.cn
http://lYEKxorU.bqmsm.cn
http://GdhNgCx1.bqmsm.cn
http://zltSsZ4z.bqmsm.cn
http://vkIEizei.bqmsm.cn
http://XG0RY4sr.bqmsm.cn
http://Bp2kvtXA.bqmsm.cn
http://cVnwCJ91.bqmsm.cn
http://www.dtcms.com/a/248139.html

相关文章:

  • Could not initialize Logback logging from classpath:logback-spring.xml
  • 清理电脑C磁盘,方法N:使用【360软件】中的【清理C盘空间】
  • @Validation 的自定义校验实现, Spring Boot 和 java
  • 算法学习笔记:3.广度优先搜索 (BFS)——二叉树的层序遍历
  • 探索现代 Web 开发:从 HTML5 到 Vue.js 的全栈之旅
  • 一致性hash
  • LINUX613计划测put
  • ubuntu调整硬盘大小-使用gparted
  • CRaxsRat v7.6 安装与使用教程(附工具下载)
  • 一文讲清网络变压器、芯片和 RJ45 之间的接线
  • OSPF基础实验案例
  • 利用DeepSeek将docx生成程序迁移至minidocx
  • 前端开发中的可访问性设计:让互联网更包容
  • 快递接口调用选择:快递鸟、快递100、阿里云大对比
  • 上海市计算机学会竞赛平台2022年4月月赛丙组圆环独立集(一)
  • 开发者视角的网络调试流程进化:抓包工具实践指南与Sniffmaster使用笔记
  • Docker Buildx 简介与安装指南
  • 在C#中的乐观锁和悲观锁
  • 智能出入库管理系统:自动化管控平台
  • 高级定时器TIM1、TIM8
  • AD工程面板拖动以及固定位置
  • AWS WebRTC:通过shell实现多进程启动master
  • AWS知识点和技术面试模拟题
  • 29-Oracle 23ai Flashback Log Placement(闪回日志灵活配置)
  • AWS S3:云存储的“超级基石”
  • AWS Well-Architected Framework详解
  • 30-Oracle 23ai-回顾从前的Flashback设置
  • 基于CT图像的硬参数共享多任务分析:肝脏肿瘤分割与良恶性分类
  • Terraform跨云迁移教程:从AWS到阿里云基础设施同步 (2025)
  • HarmonyOS 5中UniApp的调试步骤