用一张图说一说 ChatGPT 内部技术工作流程

2023-11-13

前沿

这几天ChatGPT可谓是热火朝天,很多同事和朋友都来找到勇哥,说能不能说一说相关话题,但是之前几天勇哥都在默默的干一件大事情,今天终于成型、有结果了,所有就抽了点时间来和大家一起聊聊ChatGPT背后的技术,让大家对一自然语言处理背景的技术有一个入门级别的了解。

阅读本文你的收获★★★

  • 了解到ChatGPT是什么、有哪些功能?

  • 了解到ChatGPT背后自然语言技术有那些?

  • 了解到一般AI系统的工作流程

老规矩,你觉得本文不错,点赞、关注一下,鼓励鼓励勇哥!

ChatGPT简介

ChatGPT是OpenAi 在12 月 1 日上线的一套在线人机聊天产品,而这套产品这几天已经突破上100万的,可谓是火得不要不要的了,但勇哥总结其火的背后主要有这么几方面的因素:

  • OpenAi 背后的大佬是微软

  • ChatGPT之别被姓马的夸赞,起到了很好的宣传

  • OpenAi 这套产品自身从技术+架构方面有新的突破

  • 各位网友心中都有一个未来科技梦

  • ChatGPT不对中国区开放,但是支持中文(这点细品....)

在这里勇哥主要站在产品自身的技术和架构方面的突破来给大家说一说,先说一说ChatGPT能做什么,我简单的归类了一下功能,包括:

  • 知识问答

    • 知识点解答

    • 数学题求解

      .....

  • 文学创作

    • 写作文

    • 写诗

    • 写小说

    • 写邮件

      ......

  • 程序创作

    • 写代码

    • 改BUG

      ......

ChatGPT技术★★★

下面这张图是OpenAi官网上的一张说明图,但是这张图只说明了其系统的模型(PS:这里的模型大家可以简单理解成一对特殊的数据)训练和应用流程:

上图并没有说明太多这样系统的技术架构,那么勇哥在这里来给大家脑补一下,一般这种系统的数据流是如何进行流转的:

数据流说明:

ChatGPT是一个聊天系统,用户输入一句话,那么ChatGPT就需要依据用户输入的信息反馈相关内容,比如上述用户输入“背《观沧海》",系统接收到信息后,就经过以下处理,来为用户生产相对准确的答案:

  • Li处理:既语言识别(Language identification),ChatGPT是面向中国区之外的用户,因此用户输入的信息有多种语言,至于是那种语言需要先进行识别。识别之后既可以确定在PPO中使用的是中文、还是英文、还是其它模型数据。

  • Ea处理:既情感分析(Emotional analysis),ChatGPT对于输入信息进行了多中情感分析,如果情感不符合正能量方面的要求,ChatGPT会自动拒绝回答相关用户问题。这点也是非常必要的。Ea处理也需要基于PPO模型库来分析计算。

  • Ei处理:既抽取信息 (Extract information),从用户输入的信息中提取关键特征,为下一步准备数据

    • NER处理:既命名实体识别(Named entity recognition),负责提取其中的人名、地名、专业术语等信息

    • SS处理:既句子相似性处理(Sentence Similarity),用户输入的信息可能存在错别字等信息,通过此步可以进行一个修正

    • TC处理:既文本分类(Text Classification),把用户输入得信息进行分类,通过此步分类,好定位到下一步搜索用到的相关搜索索引

  • Full Search 处理:既全文搜索处理,ChatGPT是一个自然语言+搜索引擎集成的架构,通过Ei处理得到的数据就是全文搜索的输入数据,比如EI提取出 NER=观沧海,SS=,TC=文学,那么此步就可以去搜索文学索引中的《观沧海》,得到想要的答案。

  • TG处理:既文本生成(Text Generation),上一步搜索的结果可能有多条数据,那么那一条最符合用户需求呢?则通过RM模型来进行选取,选取后生成对应的文本内容。

  • QA处理:既问题解答(Question Answering),把上一步生成的答案进一步转换成适合问答的形式或格式。

总结:

ChatGPT总体架构技术是:NLP是核心 , 搜索辅助,算力是硬核

NLP : 上述流程描述中:Li、Ea、Ei、NER、SS、TC、TG、QA等处理,都需要依赖ChatGPT自身的GPT-3.5自然语言模型数据,而且按照上述流程执行,流程步骤长,上一步的结果就是下一步的输出,一步出错,结果必错。ChatGPT能做到现在这样已经是相当的了不起了。NLP自然就是ChatGPT的核心了。

搜索:一般自然语言处理后的特征数据,是句子或者词组,对此搜索,常规的搜索肯定不行,而全文搜索技术自然就成为首选,比如开源流行的Elasticsearch,在里面主要存储了大量的问题答案、范本数据等。

算力:告诉大家一个事实:一般一个NLP模型数据非常大,上G上T都是非常正常的事情;那么这么大的数据量,每次搜索都要进行与其计算,普通的CPU肯定是更不上的,因此GPU是首选,而且最好是使用云上的GPU算力,才能收缩性更得上。

展望未来

我在网上看到很多喷ChatGPT答案不正确的(如下图),其实这个问题在我意料之中,毕竟AI的难度不是一点半点,而且它还依赖硬件等外部因素的影响,所以一步登天很难。展望未来,ChatGPT这一波展现出模型上的突破,但在应用场景上并没有创新,所以未来ChatGPT除了完善模型(这个是重点)、完善搜索库等之外,还需要考虑一些创新性的应用场景。

比如:网友问 ChatGPT,霍布斯主张三权分立吗?很明显回答的很好,但它的回答却是错误的。

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3gatjq6iej280

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用一张图说一说 ChatGPT 内部技术工作流程 的相关文章

随机推荐

  • SpringBoot--基础--05--错误处理

    SpringBoot 基础 05 错误处理 一 原理 1 1 自动配置类 ErrorMvcAutoConfiguration 1 2 一但系统出现4xx或者5xx之类的错误 ErrorPageCustomizer就会生效 定制错误的响应规则
  • 13个SQL优化技巧

    1 避免无计划的全表扫描 如下情况进行全表扫描 该表无索引 对返回的行无人和限制条件 无Where子句 对于索引主列 索引的第一列 无限制条件 对索引主列的条件含在表达式中 对索引主列的限制条件是is not null或 对索引主列的限制条
  • 国内IoT云平台横向对比

    三年过去了 目前各IoT平台功能有了极大的丰富和优化 行业头部玩家也逐渐浮出水面 目前市场的排名如下 阿里 小米 京东 百度 涂鸦 这几家以开放的生态 接入了千万甚至亿级设备 传统设备厂家如美的 海尔也在积极搭建自己的物联网平台 物联网已然
  • 华为天才少年谢凌曦分享了万字长文,阐述了关于视觉识别领域发展的个人观点...

    作者 谢凌曦 编辑 桃子 报道 新智元 计算机视觉识别领域的发展如何 华为天才少年谢凌曦分享了万字长文 阐述了个人对其的看法 最近 我参加了几个高强度的学术活动 包括CCF计算机视觉专委会的闭门研讨会和VALSE线下大会 经过与其他学者的交
  • 【软件分析/静态分析】学习笔记01——Introduction

    课程链接 李樾老师和谭天老师的 南京大学 软件分析 课程01 Introduction 哔哩哔哩 bilibili 目录 一 静态程序分析介绍 1 1 PL and Static Analysis 程序语言和静态分析 1 2 为什么要学 S
  • HTTP学习(五)实体、编码

    HTTP作为现在非常重要的协议 需要仔细梳理一下 本次学习知识点来自于 HTTP权威指南 只是文中知识点罗列 算是读书笔记 请有兴趣的读者购买 HTTP权威指南 完整阅读 一 实体 每天都有数以亿计的各种媒体对象经由 HTTP 传送 如图像
  • AMD CPU针脚弯曲无工具 完美修好

    b350m pro4 r7 3700 Q 电脑cpu针脚不小心弯了怎么办 今天在清理机箱的时候 把风扇取下来的时候 cpu连着风扇一起取下来了 然后因为我的错误操作 cpu有一排针脚都弯曲 对角针脚有四五跟接近45度弯曲 见图 解决工具 针
  • TreeMap的应用

    TreeMap的demo package dailyTest import java util Comparator import java util TreeMap author createtime 2023 9 12 19 56 pu
  • C# 学习笔记(四)数据类型

    C 学习笔记 四 数据类型 开篇语 C 都有哪些数据类型呢 前面几次学习里我们已经遇到过的几种数据类型有 string 字符串类型 double 双精度类型 抽象类型 即Class类型 具体的某个类 在 C 中 变量分为以下几种类型 值类型
  • Transformer详解

    Transformer 什么是transformer 为什么需要用transformer encoder sub encoder block multi head self attention FFN input decoder input
  • 用Vue搭建一个大屏数据可视化页面实战一(Vue实战系列)

    一 从网上找一个喜欢的图 1 首先大屏要先解决屏幕适配的问题 这里用viewport的方案 使用postcss px to viewport插件 在vue项目里新建postcss config js配置一下postcss px to vie
  • Python基础知识(九):文件与文件系统

    1 文件与文件系统 打开文件 open file mode r buffering None encoding None errors None newline None closefd True Open file and return
  • 等保2.0安全通用要求每级控制点统计

    等保2 0安全通用要求每级控制点的变化如下表格
  • 自动化测试项目实战经验附视频以及源码【商城项目,app项目,电商项目,银行项目,医药项目,金融项目】

    最近收到许多自学自动化测试的小伙伴私信 学习了理论知识后 却没有合适的练手项目 测试本身是一个技术岗位 如果只知道理论 没有实战经验 在面试中很难说服面试官 比如什么场景下需要添加显示等待 什么时候元素定位可以写得更优雅 如何做断言等 这些
  • 问题:TypeError: Descriptors cannot not be created directly.解决方法

    运行代码时提示如下报错 解决上面问题 直接在控制台中输入下面命令重新安装protobuf即可 如下 pip install protobuf 3 19 0 以上就是解决TypeError Descriptors cannot not be
  • 2022-02-22每日刷题打卡

    2022 02 22每日刷题打卡 一本通 动态规划 1268 例9 12 完全背包问题 题目描述 设有n种物品 每种物品有一个重量及一个价值 但每种物品的数量是无限的 同时有一个背包 最大载重量为M 今从n种物品中选取若干件 同一种物品可以
  • 【死磕 NIO】— 深入分析Buffer

    大家好 我是大明哥 今天我们来看看 Buffer 上面几篇文章详细介绍了 IO 相关的一些基本概念 如阻塞 非阻塞 同步 异步的区别 Reactor 模式 Proactor 模式 以下是这几篇文章的链接 有兴趣的同学可以阅读下 死磕NIO
  • 前段上传组件介绍与实例

    原文地址 http www cnblogs com 2050 p 3913184 html 仅作学习使用 前端上传组件Plupload使用指南 我之前写过一篇文章 文件上传利器SWFUpload使用指南 里面介绍了上传组件SWFUpload
  • GB/T28181-2016传输要求和Android平台设备接入技术实现

    相关协议规范 GB T28181 2016公共安全视频监控联网系统 信息传输 交换 控制技术要求相关的传输要求如下 5 1 网络传输协议要求 联网系统网络层应支持IP协议 传输层应支持 TCP和 UDP协议 5 2 媒体传输协议要求 视音频
  • 用一张图说一说 ChatGPT 内部技术工作流程

    前沿 这几天ChatGPT可谓是热火朝天 很多同事和朋友都来找到勇哥 说能不能说一说相关话题 但是之前几天勇哥都在默默的干一件大事情 今天终于成型 有结果了 所有就抽了点时间来和大家一起聊聊ChatGPT背后的技术 让大家对一自然语言处理背