State of GPT (ChatGPT 原理及现状介绍)

State of GPT

  • 演讲信息:
    • 演讲人:Andrej Karpathy (现在OpenAI任职),之前是特斯拉视觉研发负责人,斯坦福深度学习入门课程 CS231N 讲师
    • 演讲主题:受到微软 BUILD2023 邀请,介绍 GPT 的原理及研发现状,介绍大语言模型应用生态
      • 第一部分介绍如何训练 ChatGPT (本演讲中有个更通用的名字: GPT Assistant)
      • 第二部分介绍如何将 ChatGPT 用于定制化应用程序

演讲视频

  • 英文原版:https://www.youtube.com/watch?v=bZQun8Y4L2A
  • 中文字幕版:https://www.bilibili.com/video/BV1ts4y1T7UH/?spm_id_from=333.337.search-card.all.click&vd_source=fdb0030f08e2dfd486e197c76c07672b

演讲内容的重点记录

Part1:GPT Assistant 是如何研发的

整体流程

  • GPT Assistant 的训练流程,分为 4 个阶段
    • Pretraining:整体训练时间的 99%
    • Supervised Finetuning
    • Reward Modeling
    • Reinforcement Learning

在这里插入图片描述

Pretraining 阶段

  • 预训练训练数据,以 LLaMA 的训练数据集为例,共 1.4T tokens
    在这里插入图片描述
  • 文本数据 tokenization 操作,该操作是无损失的数据变换(将文本片段转换为整数)
    在这里插入图片描述
  • 两个主流大语言模型的参数量介绍,因为 GPT4 的细节不公开,这里主要介绍了 GPT3 (2020) 和 LLaMA (2023)。尽管与 GPT3 的 1750 亿参数量比起来 LLaMA 的 650 亿参数量并没有优势,但是 LLaMA 实际上更强大,因为使用了更多的训练数据(300B -> 1.4T)。所以不能仅通过模型的参数量来定义模型的能力
    在这里插入图片描述- 预训练的模型输入,获取 tokenize 处理后的文本,打包成行,用 <|endoftext|> 来对不同的文档进行分隔
    在这里插入图片描述
  • 通过预测下一个 token 的方式来对模型进行预训练
    在这里插入图片描述
  • 以莎士比亚的作品数据集训练过程作为示例,模型刚开始训练随机初始化参数,预测的结果也是完全随机的,但是随着一定训练的迭代,模型就能预测连贯和一致的文本
    在这里插入图片描述

使用预训练模型的方式

  • 下游数据集微调,预训练能极大降低微调需要的数据量(类似 GPT1)
    在这里插入图片描述
  • zero-shot prompting (类似 GPT2),开启了不需要微调的时代,不需要训练模型
    在这里插入图片描述
  • 预训练模型汇总,google 和 openai 占了大半边天
    在这里插入图片描述

基于 prompt engineering 的 GPT Assistant (效果一般,非 OpenAI 的 ChatGPT 实现方案)

  • GPT Assistant 需要模型对人类的指令或问题进行回复,但预训练模型主要用于文本补全,无法直接回答问题,比如这里会出现生成与问题相关的更多问题(左图)。可以通过给预训练模型一些例子来促使模型对问题生成回复(右图)
    在这里插入图片描述
  • 通过上面的方法来使得预训练模型做 GPT Assistant
    在这里插入图片描述

GPT Assistant 微调方法步骤一:SFT (OpenAI 的 ChatGPT 实现方案)

  • 首先进行 SFT (supervised finetuning),基于少量人工标注的数据进行微调,数据主要是 prompt 和 response 对 (1 万到10 万量级)
    在这里插入图片描述
  • SFT 数据示例,prompt 是人类指令,response 是标注员写得针对人类指令的示例回复。标注文档还是很复杂的(需要满足 helpful、truthful、harmless 等约束)
    在这里插入图片描述

GPT Assistant 微调方法步骤二:Reward Modeling (OpenAI 的 ChatGPT 实现方案)

  • 准备对比数据集(10万 到 100 万量级),进行二分类训练
    在这里插入图片描述
  • RM 数据集示例。给定一个 prompt (写一个判断字符串是否是回文字符串的 python 程序),基于 SFT 模型生成多个回复,比如下面生成了三个回复后让标注员来对生成结果进行排名(排名难度较大,一个 prompt 的答案甚至可能需要几个小时来标注)
    在这里插入图片描述
  • RM 训练,这里的模型实现方法比较有信息量(和大部分开源方案加 linear head 的实现不太一样),通过在 completion token 后增加一个 reward token 来预测 reward,这样 transformer 会根据 prompt 的完成程度预测 reward
    在这里插入图片描述

GPT Assistant 微调方法步骤三:RL learning (OpenAI 的 ChatGPT 实现方案)

  • 该过程是 openai 使用的 RLHF,基于上一步的 RM 模型进行强化学习训练。基于奖励模型指示的奖励来权衡语言建模的目标,比如下面第一行的 reward 高,第一行采样的所有 token 将得到强化,未来将会获得更高的采样概率,第二行的所有 token 之后会获得更低的采样概率
    在这里插入图片描述

为什么需要 RLHF

  • 预训练模型,SFT 模型和 RLHF 模型理论上都可以用于 GPT Assistant 部署。要用 RLHF 的一个简单的原因就是 RLHF 模型效果更好,下面的图来源于 InstructGPT 论文,PPO (RLHF 算法) 后的模型生成的答案更被人类喜欢
    在这里插入图片描述

  • karpathy 认为 RLHF 有用的原因是判别比生成更容易,让标注员去写一些 SFT 的 QA 数据对是比较难的,如果有一个 SFT 模型生成一些数据让标注员判断哪个更好就简单很多
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/47a4afeeda864f1688c28ad4e05fa184.png

  • RLHF 模型降低了熵,对输出文本的确定性更强,SFT 模型更善于给出有区分度的回答
    在这里插入图片描述

  • 伯克利做的模型评测榜单 Leaderboard,GPT4 最强,前三个都是 RLHF 模型,其他模型都是 SFT 模型
    在这里插入图片描述

基于 GPT Assistant 的应用

人类文本生成对比语言模型文本生成

  • 人类生成文本的方式,一步接一步思考,甚至借用外部工具(使用计算器做算数),并且会对回答进行正确性验证
    在这里插入图片描述
  • 语言模型生成文本的方法,逐步生成 token,每个 token 计算时间一样,不确定自己回复的正确性(不会对自己的回答进行正确性确认)
    在这里插入图片描述

Chain of thought

  • 需要推理的任务可以使用 CoT,transformer 需要更多的 token 来思考,使用 few-shot prompt 作为示例,让模型以 step-by-step 的方式对问题进行回复。目前也有 zero-shot-CoT,最经典的方式就是使用 Let's think step by step 作为提示词
    在这里插入图片描述

self-consistency

  • 多次对一个问题进行回复,进行多数表决。比如 transformer 在采样到一个不好的 token 后就很难恢复,这样能尽量避免错误的发生。
    在这里插入图片描述

Ask for reflection

  • 通过问 “你完成任务了吗?” 这个问题,让 ChatGPT 对不好的问题进行反思并生成更好的回复
    在这里插入图片描述

Recreat our ‘System 2’

  • Tree of Thoughts(思想树):建议为任何给定的 prompt 多个 completion,然后在整个过程中对它们进行评分,并保留进展顺利的
    在这里插入图片描述

Chains/Agents

  • React:将 prompt 构造成一系列思考、行动、观察、思考、行动、观察的展开,通过思考来进行问题回复,这个过程中模型一般被允许调用其他工具,比如 google 搜索 API;下图左边的 AutoGPT 最近很火热,不过 Karpathy 觉得效果一般,只建议从中汲取灵感
    在这里插入图片描述

Condition on good performance

  • LLM 只想模仿训练集,不想回复正确答案,如果希望 LLM 回复正确答案应该在 prompt 中明确说明,能在 CoT 的基础上进一步涨点
    在这里插入图片描述

使用外部工具 (ChatGPT Plugins)

  • 为 ChatGPT 提供计算器、代码解释器、搜索等工具,协助做 LLM 不擅长的事情。因为模型不知道自己不擅长什么,所以需要调用工具的位置需要人为标注出来
    在这里插入图片描述
  • 基于检索增强 LLM 能力,参考 LlamaIndex:
    • 获取相关文档,将文档分为块,提取得到数据的 embedding 向量,将其存储到向量存储中
    • 在测试时,对矢量存储进行查询,即能获取到与测试任务相关的文档,然后将文档填充到 prompt 中
      在这里插入图片描述

约束提示(Constrained prompting)

  • 参考微软的 guidance,在 LLM 的输出中强制使用特定模板的技术。以下的例子是让 LLM 填写一个 json 模板中的内容,其中 json 的 key 是写死的,LLM 负责填补一些空白的 key,这些 key 也可以提前进行一些约束,让 LLM 的采样空间收到限制,即能让 LLM 的输出符合预设定的格式

在这里插入图片描述

模型微调

  • 利用 PEFT (如 LoRA) 等技术降低模型的可训练参数
  • 低精度推理(比如 bitsandbytes)
  • 又又又推荐了一波 LLaMA (怪不得 OpenAI 现在有计划推 GPT3 的开源…)
  • SFT 相对容易;RLHF 很难,非常不稳定,很难训练,对初学者不友好,而且可能变化快,不推荐一般人来做

在这里插入图片描述

Karpathy 的默认建议

  • 针对取得最佳表现的建议
    • 使用 GPT4
    • 提示词工程
    • 考虑 LLM 的心理
    • 提供上下文信息,提供一些样例
    • 使用外部工具
    • 提示词工程已经做到头的话可以尝试 SFT
    • RLHF 难度大,但是理论上能优化到比 SFT 好一点
  • 针对优化成本的建议
    • 使用容量更小的 GPT3.5,更简短的 prompts 等
      在这里插入图片描述

应用场景样例

  • 【问题】模型可能有偏见,捏造幻觉信息,推理错误,知识截止(只知道 2021 9 月之前的知识)
  • 【推荐】在低风险应用程序中使用 LLM,与人工监督结合起来;将 LLM 作为灵感和建议的来源
    在这里插入图片描述

GPT4

  • 推荐 GPT4 的强大能力和丰富的配套
    在这里插入图片描述
    在这里插入图片描述
  • 使用 GPT4 的 API 问 “你能说些什么来激励 Microsoft BUILD 2023 的观众吗?”,GPT4 回复了如下的话
    在这里插入图片描述
  • 完结撒花
    在这里插入图片描述

Thoughts

  • 很典型的 Karpathy 演讲风格,将目前最高级的人工智能模型(ChatGPT)的研发流程用简单易懂的方式进行讲解。但因为 GPT4 细节不方便公开,整体干货并不太多,前半段看下来甚至感觉在给观众传递一个理念:我们的 GPT4 不方便公开细节,大家要不去用 LLaMA 吧…
  • 应用方面主要介绍了一些前沿的公开工作,ChatGPT 具体有什么改良没有过多介绍

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fox GPT与ChatGPT有什么区别?

对话Fox GPT&#xff1a;Fox GPT与ChatGPT有什么区别&#xff1f; Fox GPT和ChatGPT都是基于OpenAI GPT系列的语言生成模型&#xff0c;但它们具有一些不同和特点。 训练数据不同&#xff1a;Fox GPT是基于获得多个计算机游戏的数据训练的&#xff0c;ChatGPT则是基于社交媒体和…

GPT3.5, InstructGPT和ChatGPT的关系

GPT-3.5 GPT-3.5 系列是一系列模型&#xff0c;从 2021 年第四季度开始就使用文本和代一起进行训练。以下模型属于 GPT-3.5 系列&#xff1a; code-davinci-002 是一个基础模型&#xff0c;非常适合纯代码完成任务text-davinci-002 是一个基于 code-davinci-002 的 InstructG…

从GPT到chatGPT(三):GPT3(一)

#GPT3 文章目录 前言正文摘要介绍方法模型结构训练数据集训练过程评估 小结 前言 OpenAI在放出GPT2后&#xff0c;并没有引起业界太大的影响和关注&#xff0c;究其原因&#xff0c;并不是zero-shot这种想法不够吸引人&#xff0c;而是GPT2表现出来的效果依然差强人意&#x…

Auto GPT 与 ChatGPT:有何区别?

人工智能正在迅速发展&#xff0c;即使是最熟练的人也越来越难以跟上。每隔一段时间&#xff0c;就会出现新的 AI 工具&#xff0c;在这些工具中&#xff0c;有些是时尚的&#xff0c;有些是真正有价值的。 Auto-GPT 是一种建立在 ChatGPT 技术之上的人工智能&#xff0c;很可…

一招鉴别真假ChatGPT,并简要介绍ChatGPT、GPT、GPT2和GPT3模型之间的区别和联系

以下内容除红色字体部分之外&#xff0c;其他均来源于ChatGPT自动撰写。 ChatGPT是基于GPT模型的对话生成模型&#xff0c;旨在通过对话模拟实现自然语言交互。它是为了改善人机对话体验而设计的&#xff0c;主要应用于聊天机器人、智能客服等场景。 与GPT模型相比&#xff0c;…

大白话chatGPT GPT的发展区别

大白话chatGPT & GPT的发展区别 从GPT名字理解chatGPTchatGPT三步曲GPT-1到GPT-4GPT-1~GPT-4的相同点GPT-1~GPT-4的区别GPT-1——pre-training fine-tune&#xff0c;自监督学习无监督预训练有监督微调GPT-2——zero-shot&#xff0c;无监督学习&#xff0c;多任务学习GPT…

让我看看,还有谁分不清楚GPT和Chat GTP

GPT&#xff08;Generative Pre-trained Transformer&#xff09;是由OpenAI推出的一种基于Transformer的自然语言处理模型&#xff0c;它是在大规模的无监督语言预训练下&#xff0c;使用有监督微调的方式来完成各种自然语言处理任务的。GPT的训练数据主要来源于互联网上的大量…

ChatGPT实现的技术原理有哪些?

ChatGPT实现的技术原理 作为一种大型语言模型&#xff0c;ChatGPT的技术原理主要基于人工神经网络和自然语言处理技术。 ChatGPT使用了前馈神经网络&#xff08;feedforward neural network&#xff09;和递归神经网络&#xff08;recurrent neural network&#xff09;的结合…

比尔盖茨:ChatGPT开启AI革命性技术的新时代

来源&#xff1a;AGI产业观察 原文来自于比尔盖茨个人博客 微软公司联合创始人比尔盖茨近日在他的个人博客中畅谈ChatGPT和生成式人工智能对教育、医疗、生产力提升、公平等等方面的影响。 他说&#xff0c;OpenAI发布的大语言模型ChatGPT是他一生中遇到的两项革命性技术之一。…

技术动态 | AIGC时代知识图谱技术的发展与最佳实践

转载公众号 | DataFunTalk 2023年3月18日&#xff0c;DataFunSummit2023&#xff1a;知识图谱在线峰会将如约而至。本次峰会由2位主席与3位专家团成员和6位论坛出品人精心策划而成&#xff0c;共包含了&#xff1a;统一知识表示与复杂推理、大规模知识图谱构建与更新、海量知识…

(文末送书)ChatGPT有用到知识图谱吗?它自己是这样回答的……

文末送两本书~~~ 从搜索引擎到个人助手&#xff0c;我们每天都在使用问答系统。问答系统必须能够访问相关的知识并进行推理。通常&#xff0c;知识可以隐式地编码在大型语言模型&#xff08;LLMs&#xff09;中&#xff0c;例如ChatGPT、T5 和LaMDA 等大型语言模型&#xff0c;…

学习知识图谱对理解ChatGPT有何作用?

ChatGPT最近很火&#xff0c;它能够在各种任务中产生人类类似的自然语言响应。知识图谱则可以形成了一个结构化的图谱&#xff0c;可以为ChatGPT的模型提供额外的语义信息&#xff0c;使得模型能够更好地理解和生成自然语言。有以下的帮助&#xff1a; 1、实体识别和链接&#…

ChatGPT有用到知识图谱吗?它自己是这样回答的(文末赠书)

从搜索引擎到个人助手&#xff0c;我们每天都在使用问答系统。问答系统必须能够访问相关的知识并进行推理。通常&#xff0c;知识可以隐式地编码在大型语言模型&#xff08;LLMs&#xff09;中&#xff0c;例如ChatGPT、T5 和LaMDA 等大型语言模型&#xff0c;这些模型在未结构…

从ChatGPT看知识管理及知识图谱的发展

本文转自知识管理就在夏博 一些人认为&#xff0c;ChatGPT的力量将消除对知识管理方法和原则的需要。当把这个问题提给系统时&#xff0c;它给了一个合乎逻辑的、有意义的回答&#xff1a; ChatGPT&#xff1a;知识管理、知识体系结构和知识工程在聊天机器人的设计中发挥着重要…

技术动态 | ChatGPT 下的知识图谱审视:一次关于必然影响、未来方向的讨论实录与总结...

转载公众号 | 老刘说NLP 近日&#xff0c;两位知识图谱领域专家刘焕勇老师和王昊奋老师一起就 ChatGPT 会对知识图谱造成什么影响、两者之间的关系以及未来发展这个话题进行了讨论&#xff0c;其中的一些观点具有一定的参考和指引性&#xff0c;整理出来与大家一同思考。 一、关…

ChatGPT生成Vue文件,用ChatGPT写代码

进入 chatgpt 以后&#xff0c;点击左上角的 New chat &#xff0c;比如我要生成一个vue文件&#xff0c;里面包含轮播图&#xff0c;滚动列表和一个菜单&#xff0c;就可以在下面的输入框输入&#xff0c;然后回车&#xff0c;就会出现相应的代码了。点击代码块右上角可以直接…

老板得知我用ChatGPT写代码效率大增,给我增加了3倍工作量...

当你学会用ChatGPT写代码后... 但是... 当你老板知道你学会用ChatGPT写代码后... 这只是网上的段子&#xff0c;大家切莫当真 但有一点是明确的&#xff0c;ChatGPT或类似AI应用&#xff0c;确实能够帮助我们大幅提高工作效率。 前几天我就用ChatGPT来帮我写代码&#xff0c;只…

网上疯传的ChatGPT写代码,超级简单哇

网上疯传的chatgpt&#xff0c;智能ai 对话&#xff0c;小刘作为一个程序员&#xff0c;也是要关注一下的&#xff0c;直接访问网外的网站&#xff0c;小刘后续可能还会研究&#xff0c;国内小刘发现了一款基于chatgpt的智能编辑器&#xff0c;可以帮你写代码&#xff0c;超级方…

挑战利用ChatGPT写代码,真的能成功吗?

使用姿势 1. 由于ChatGPT的注册门槛较高&#xff0c;国内很多网站都是付费的或者有各种限制&#xff01;我在【多御浏览器】中使用&#xff0c;无需注册就能免费体验ChatGPT。 2. 使用ChatGPT4 我的问题有些口水文&#xff0c;但是它依然能懂&#xff01; 设计一个表&#xff0…

用ChatGPT写代码学物联网,10分钟模拟设备并查看数据

ChatGPT是时下火热的AI自然语言引擎&#xff0c;啥都知道啥都会&#xff0c;今天咱们就使用ChatGPT来写一段python代码&#xff0c;模拟一个温湿度传感器&#xff0c;持续的给服务器发数据&#xff0c;并在物联网管理软件ThingsPanel上显示数据。 我们的工作分为两个部分&…