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

大模型基本原理(二)——ChatGPT的工作原理

如何得到一个ChatGPT?

1、无监督预训练:通过大量的文本数据集进行无监督训练,得到一个基座模型(只会续写文本)

2、监督微调:通过一些人类撰写的高质量对话数据对基座模型进行监督微调,得到一个微调后的基座模型(除了能续写文本,还具备更好的对话能力)

3、训练奖励模型+强化学习训练:用问题和对各对应回答的数据,让人类标注员对回答进行质量排序,基于这些数据,训练出一个能对回答进行评分预测的奖励模型。

让监督微调模型对问题生成回答,用奖励模型对回答进行打分,利用评分作为反馈进行强化学习训练,就能够得到最终的ChatGPT了。

接下来让我们对每一个步骤进行详细解读

1、无监督预训练

基座模型需要海量的文本数据进行训练

无监督训练:以原始文本作为数据集和监督信息,模型通过前面的文本预测下一个出现的单词。

2、监督微调

以人类写的专业且高质量的对话作为监督数据集训练基座模型,最后得到SFT模型。

3、训练奖励模型+强化学习训练

强化学习:

让模型在环境里采取行动,获得结果反馈,从反馈里学习,从而能在给定情况下采取最佳行动,来最大化奖励或最小化损失。

理想情况下是将问题抛给GPT,人类对GPT做出的回答进行打分,最终GPT根据打分优化模型。

打分一般基于3H原则:

但是人类打分成本高效率低,于是开发了一个奖励模型,能够对GPT生成的回答进行打分。

奖励模型

训练数据:让SFT模型对每个问题生成多个回答,让人类对多个回答进行比较排序。这些数据就可以作为奖励模型的训练数据了。

经过训练后,奖励模型就能够正确的预测出GPT每个回答的评分了。

最终,经过不断的强化学习训练,奖励模型不变,SFT模型不断优化权重参数,最终得到能够和人类进行对话的Chat GPT了。


http://www.mrgr.cn/news/90152.html

相关文章:

  • 嵌入式工程师面试准备(客观题准备)
  • 示例代码:C# MQTTS双向认证(客户端)(服务器EMQX)
  • 【清晰教程】通过Docker为本地DeepSeek-r1部署WebUI界面
  • Mac(m1)本地部署deepseek-R1模型
  • QT实现多线程的方法
  • 使用EVE-NG-锐捷实现单臂路由
  • openbmc web/redfish到底层设计(持续更新...)
  • Spring AI 介绍
  • 【操作系统】Linux基本命令
  • Redis | 十大数据类型
  • Ubuntu 下 nginx-1.24.0 源码分析 ngx_tm_t 类型
  • 旋转位置编码(RoPE)讲解和代码实现
  • vue动态table 动态表头数据+动态列表数据
  • iOS主要知识点梳理回顾-3-运行时
  • 力扣--链表
  • leetcode 做题思路快查
  • 大语言模型RAG,transformer
  • 【C++】命名空间
  • SqlSugar简单使用之Nuget包封装-Easy.SqlSugar.Core
  • 六、OSG学习笔记-漫游(操作器)