ChatGPT发展历程、原理、技术架构详解和产业未来(下)

简介: ChatGPT发展历程、原理、技术架构详解和产业未来(下)

正文


三、ChatGPT的技术架构


3.1 GPT家族的演进


说到ChatGPT,就不得不提到GPT家族。ChatGPT之前有几个知名的兄弟,包括GPT-1、GPT-2和GPT-3。这几个兄弟一个比一个个头大,ChatGPT与GPT-3更为相近。

7.jpg

ChatGPT与GPT 1-3的技术对比

GPT家族与BERT模型都是知名的NLP模型,都基于Transformer技术。GPT-1只有12个Transformer层,而到了GPT-3,则增加到96层。


3.2 人类反馈强化学习


InstructGPT/GPT3.5(ChatGPT的前身)与GPT-3的主要区别在于,新加入了被称为RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)。这一训练范式增强了人类对模型输出结果的调节,并且对结果进行了更具理解性的排序。在InstructGPT中,以下是“goodness of sentences”的评价标准。

  1. 真实性:是虚假信息还是误导性信息?
  2. 无害性:它是否对人或环境造成身体或精神上的伤害?
  3. 有用性:它是否解决了用户的任务?

3.3 TAMER框架


这里不得不提到TAMER(Training an Agent Manually via Evaluative Reinforcement,评估式强化人工训练代理)这个框架。该框架将人类标记者引入到Agents的学习循环中,可以通过人类向Agents提供奖励反馈(即指导Agents进行训练),从而快速达到训练任务目标。引入人类标记者的主要目的是加快训练速度。尽管强化学习技术在很多领域有突出表现,但是仍然存在着许多不足,例如训练收敛速度慢,训练成本高等特点。特别是现实世界中,许多任务的探索成本或数据获取成本很高。如何加快训练效率,是如今强化学习任务待解决的重要问题之一。而TAMER则可以将人类标记者的知识,以奖励信反馈的形式训练Agent,加快其快速收敛。TAMER不需要标记者具有专业知识或编程技术,语料成本更低。通过TAMER+RL(强化学习),借助人类标记者的反馈,能够增强从马尔可夫决策过程 (MDP) 奖励进行强化学习 (RL) 的过程。

8.jpg

TAMER架构在强化学习中的应用具体实现上,人类标记者扮演对话的用户和人工智能助手,提供对话样本,让模型生成一些回复,然后标记者会对回复选项打分排名,将更好的结果反馈回模型中。Agents同时从两种反馈模式中学习——人类强化和马尔可夫决策过程奖励作为一个整合的系统,通过奖励策略对模型进行微调并持续迭代。在此基础上,ChatGPT 可以比 GPT-3 更好的理解和完成人类语言或指令,模仿人类,提供连贯的有逻辑的文本信息的能力。


3.4 ChatGPT的训练


ChatGPT的训练过程分为以下三个阶段:


第一阶段:训练监督策略模型


GPT 3.5本身很难理解人类不同类型指令中蕴含的不同意图,也很难判断生成内容是否是高质量的结果。为了让GPT 3.5初步具备理解指令的意图,首先会在数据集中随机抽取问题,由人类标注人员,给出高质量答案,然后用这些人工标注好的数据来微调 GPT-3.5模型(获得SFT模型, Supervised Fine-Tuning)。此时的SFT模型在遵循指令/对话方面已经优于 GPT-3,但不一定符合人类偏好。

9.jpg

ChatGPT模型的训练过程


第二阶段:训练奖励模型(Reward Mode,RM)


这个阶段的主要是通过人工标注训练数据(约33K个数据),来训练回报模型。在数据集中随机抽取问题,使用第一阶段生成的模型,对于每个问题,生成多个不同的回答。人类标注者对这些结果综合考虑给出排名顺序。这一过程类似于教练或老师辅导。接下来,使用这个排序结果数据来训练奖励模型。对多个排序结果,两两组合,形成多个训练数据对。RM模型接受一个输入,给出评价回答质量的分数。这样,对于一对训练数据,调节参数使得高质量回答的打分比低质量的打分要高。


第三阶段:采用PPO(Proximal Policy Optimization,近端策略优化)强化学习来优化策略。


PPO的核心思路在于将Policy Gradient中On-policy的训练过程转化为Off-policy,即将在线学习转化为离线学习,这个转化过程被称之为Importance Sampling。这一阶段利用第二阶段训练好的奖励模型,靠奖励打分来更新预训练模型参数。在数据集中随机抽取问题,使用PPO模型生成回答,并用上一阶段训练好的RM模型给出质量分数。把回报分数依次传递,由此产生策略梯度,通过强化学习的方式以更新PPO模型参数。

如果我们不断重复第二和第三阶段,通过迭代,会训练出更高质量的ChatGPT模型。


四、ChatGPT的局限


只要用户输入问题,ChatGPT 就能给予回答,是否意味着我们不用再拿关键词去喂 Google或百度,就能立即获得想要的答案呢?尽管ChatGPT表现出出色的上下文对话能力甚至编程能力,完成了大众对人机对话机器人(ChatBot)从“人工智障”到“有趣”的印象改观,我们也要看到,ChatGPT技术仍然有一些局限性,还在不断的进步。1)ChatGPT在其未经大量语料训练的领域缺乏“人类常识”和引申能力,甚至会一本正经的“胡说八道”。ChatGPT在很多领域可以“创造答案”,但当用户寻求正确答案时,ChatGPT也有可能给出有误导的回答。例如让ChatGPT做一道小学应用题,尽管它可以写出一长串计算过程,但最后答案却是错误的。
那我们是该相信ChatGPT的结果还是不相信呢?

10.jpg

ChatGPT给出错误的数学题答案


2)ChatGPT无法处理复杂冗长或者特别专业的语言结构。对于来自金融、自然科学或医学等非常专业领域的问题,如果没有进行足够的语料“喂食”,ChatGPT可能无法生成适当的回答。

3)ChatGPT需要非常大量的算力(芯片)来支持其训练和部署。抛开需要大量语料数据训练模型不说,在目前,ChatGPT在应用时仍然需要大算力的服务器支持,而这些服务器的成本是普通用户无法承受的,即便数十亿个参数的模型也需要惊人数量的计算资源才能运行和训练。,如果面向真实搜索引擎的数以亿记的用户请求,如采取目前通行的免费策略,任何企业都难以承受这一成本。因此对于普通大众来说,还需等待更轻量型的模型或更高性价比的算力平台。

4)ChatGPT还没法在线的把新知识纳入其中,而出现一些新知识就去重新预训练GPT模型也是不现实的,无论是训练时间或训练成本,都是普通训练者难以接受的。如果对于新知识采取在线训练的模式,看上去可行且语料成本相对较低,但是很容易由于新数据的引入而导致对原有知识的灾难性遗忘的问题。

5)ChatGPT仍然是黑盒模型。目前还未能对ChatGPT的内在算法逻辑进行分解,因此并不能保证ChatGPT不会产生攻击甚至伤害用户的表述。当然,瑕不掩瑜,有工程师贴出了要求ChatGPT写verilog代码(芯片设计代码)的对话。可以看出ChatGPT水平已经超出一些verilog初学者了。

11.jpg


五、ChatGPT的未来改进方向


5.1 减少人类反馈的RLAIF


2020年底,OpenAI前研究副总裁Dario Amodei带着10名员工创办了一个人工智能公司Anthropic。Anthropic 的创始团队成员,大多为 OpenAI 的早期及核心员工,参与过OpenAI的GPT-3、多模态神经元、人类偏好的强化学习等。2022年12月,Anthropic再次发表论文《Constitutional AI: Harmlessness from AI Feedback》介绍人工智能模型Claude。(arxiv.org/pdf/2212.0807)

12.jpg

CAI模型训练过程

Claude 和 ChatGPT 都依赖于强化学习(RL)来训练偏好(preference)模型。CAI(Constitutional AI)也是建立在RLHF的基础之上,不同之处在于,CAI的排序过程使用模型(而非人类)对所有生成的输出结果提供一个初始排序结果。CAI用人工智能反馈来代替人类对表达无害性的偏好,即RLAIF,人工智能根据一套constitution原则来评价回复内容。13.jpg


5.2 补足数理短板


ChatGPT虽然对话能力强,但是在数理计算对话中容易出现一本正经胡说八道的情况。计算机学家Stephen Wolfram 为这一问题提出了解决方案。Stephen Wolfram 创造了的 Wolfram 语言和计算知识搜索引擎 Wolfram | Alpha,其后台通过Mathematica实现。

14.jpg

ChatGPT与Wolfram | Alpha结合处理梳理问题在这一结合体系中,ChatGPT 可以像人类使用 Wolfram|Alpha 一样,与 Wolfram|Alpha “对话”,Wolfram|Alpha 则会用其符号翻译能力将从 ChatGPT 获得的自然语言表达“翻译”为对应的符号化计算语言。在过去,学术界在 ChatGPT 使用的这类 “统计方法” 和 Wolfram|Alpha 的 “符号方法” 上一直存在路线分歧。但如今 ChatGPT 和 Wolfram|Alpha 的互补,给NLP领域提供了更上一层楼的可能。ChatGPT 不必生成这样的代码,只需生成常规自然语言,然后使用 Wolfram|Alpha 翻译成精确的 Wolfram Language,再由底层的Mathematica进行计算。


5.3 ChatGPT的小型化


虽然ChatGPT很强大,但其模型大小和使用成本也让很多人望而却步。有三类模型压缩(model compression)可以降低模型的大小和成本。第一种方法是量化(quantization),即降低单个权重的数值表示的精度。比如Tansformer从FP32降到INT8对其精度影响不大。第二种模型压缩方法是剪枝(pruning),即删除网络元素,包括从单个权重(非结构化剪枝)到更高粒度的组件如权重矩阵的通道。这种方法在视觉和较小规模的语言模型中有效。第三种模型压缩方法是稀疏化。例如奥地利科学技术研究所 (ISTA)提出的SparseGPT (arxiv.org/pdf/2301.0077)可以将 GPT 系列模型单次剪枝到 50% 的稀疏性,而无需任何重新训练。对 GPT-175B 模型,只需要使用单个 GPU 在几个小时内就能实现这种剪枝。

15.jpg

SparseGPT 压缩流程


六、ChatGPT的产业未来与投资机会


6.1 AIGC


说到ChaGPT不得不提AIGC。AIGC即利用人工智能技术来生成内容。与此前Web1.0、Web2.0时代的UGC(用户生产内容)和PGC(专业生产内容)相比,代表人工智能构思内容的AIGC,是新一轮内容生产方式变革,而且AIGC内容在Web3.0时代也将出现指数级增长。ChatGPT 模型的出现对于文字/语音模态的 AIGC 应用具有重要意义,会对AI产业上下游产生重大影响。


6.2 受益场景


从下游相关受益应用来看,包括但不限于无代码编程、小说生成、对话类搜索引擎、语音陪伴、语音工作助手、对话虚拟人、人工智能客服、机器翻译、芯片设计等。从上游增加需求来看,包括算力芯片、数据标注、自然语言处理(NLP)等。

16.jpg

大模型呈爆发态势(更多的参数/更大的算力芯片需求)

随着算法技术和算力技术的不断进步,ChatGPT也会进一步走向更先进功能更强的版本,在越来越多的领域进行应用,为人类生成更多更美好的对话和内容。最后,作者问存算一体技术在ChatGPT领域的地位(作者本人目前在重点推进存算一体芯片的产品落地),ChatGPT想了想,大胆的预言存算一体技术将在ChatGPT芯片中占据主导地位。(深得我心17.png



参考文献:

  1. ChatGPT: Optimizing Language Models for Dialogue ChatGPT: Optimizing Language Models for Dialogue
  2. GPT论文:Language Models are Few-Shot Learners Language Models are Few-Shot Learners
  3. InstructGPT论文:Training language models to follow instructions with human feedback Training language models to follow instructions with human feedback
  4. huggingface解读RHLF算法:Illustrating Reinforcement Learning from Human Feedback (RLHF) Illustrating Reinforcement Learning from Human Feedback (RLHF)
  5. RHLF算法论文:Augmenting Reinforcement Learning with Human Feedback cs.utexas.edu/~ai-lab/p
  6. TAMER框架论文:Interactively Shaping Agents via Human Reinforcement cs.utexas.edu/~bradknox
  7. PPO算法:Proximal Policy Optimization Algorithms Proximal Policy Optimization Algorithms


本文作者:陈巍博士,曾担任华为系自然语言处理(NLP)企业的首席科学家,文章首发于「先进AI技术深入解读」。

相关文章
|
4天前
|
人工智能 自然语言处理 搜索推荐
揭秘ChatGPT的Prompt方法:原理与应用总结
揭秘ChatGPT的Prompt方法:原理与应用总结
54 0
|
4天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
40 0
|
4天前
|
Cloud Native Linux 网络虚拟化
深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性
在Linux网络虚拟化领域,虚拟以太网设备(veth)扮演着至关重要的角色🌐。veth是一种特殊类型的网络设备,它在Linux内核中以成对的形式存在,允许两个网络命名空间之间的通信🔗。这篇文章将从多个维度深入分析veth的概念、作用、重要性,以及在容器和云原生环境中的应用📚。
深入理解Linux veth虚拟网络设备:原理、应用与在容器化架构中的重要性
|
4天前
|
运维 监控 安全
WLAN的组网架构和工作原理
WLAN的组网架构和工作原理
9 0
|
4天前
|
机器学习/深度学习 存储 自然语言处理
ChatGPT原理分析
ChatGPT原理分析
10 1
|
4天前
|
存储 移动开发 前端开发
【Uniapp 专栏】Uniapp 架构设计与原理探究
【5月更文挑战第12天】Uniapp是一款用于跨平台移动应用开发的框架,以其高效性和灵活性脱颖而出。它基于HTML、CSS和Vue.js构建视图层,JavaScript处理逻辑层,管理数据层,实现统一编码并支持原生插件扩展。通过抽象平台特性,开发者能专注于业务逻辑,提高开发效率。尽管存在兼容性和复杂性挑战,但深入理解其架构设计与原理将助力开发者创建高质量的跨平台应用。随着技术进步,Uniapp将继续在移动开发领域扮演重要角色。
【Uniapp 专栏】Uniapp 架构设计与原理探究
|
4天前
|
负载均衡 NoSQL 关系型数据库
深入浅出Redis(六):Redis的主从架构与主从复制原理
深入浅出Redis(六):Redis的主从架构与主从复制原理
|
4天前
|
负载均衡 Java 开发者
Spring Cloud:一文读懂其原理与架构
Spring Cloud 是一套微服务解决方案,它整合了Netflix公司的多个开源框架,简化了分布式系统开发。Spring Cloud 提供了服务注册与发现、配置中心、消息总线、负载均衡、熔断机制等工具,让开发者可以快速地构建一些常见的微服务架构。
|
4天前
|
机器学习/深度学习 语音技术 网络架构
【视频】LSTM神经网络架构和原理及其在Python中的预测应用|数据分享
【视频】LSTM神经网络架构和原理及其在Python中的预测应用|数据分享
|
4天前
|
Java API 微服务
Java微服务架构:原理与实践
【4月更文挑战第15天】本文介绍了Java微服务架构的原理和实践,包括服务拆分、注册与发现、API网关、配置中心和分布式链路追踪。重点提及Spring Boot和Spring Cloud作为开发工具,以及Docker和Kubernetes用于容器化和集群管理。Java微服务架构旨在应对大规模、复杂业务系统的挑战,提升系统可用性和可扩展性。