chatGPT结构及商业级相似模型应用调研

GPT前言

说明

ChatGPT这项技术的历史可以追溯到2018年,当时由Facebook实验室的团队开发出该技术,以开发聊天机器人为目的。随后,ChatGPT在2019年由来自谷歌的DeepMind团队在国际会议ICLR上发表了论文,其中提出了ChatGPT的技术框架,以及用以构建聊天机器人的应用技术和模型。
ChatGPT的前身版本有:

  1. GPT 1.0:2018年由Facebook实验室开发,是ChatGPT技术的第一个版本,它可以帮助开发人员在真实环境中构建聊天机器人,简单说就是全局生成式预训练,但是相对于bert预训练难度太大,而且所有的下游任务都要替换预训练模型。
  2. GPT 2.0:2019年,由谷歌DeepMind团队在ICLR会议上发表了论文,提出了ChatGPT的技术框架,以及用以构建聊天机器人的应用技术和模型,是ChatGPT的第二个版本。它相对于GPT-1,添加了一个zero-shot,在预测模型里加入相应提示,使得下游任务变得统一可控,但是模型结构变得更负责,数据也更丰富了。
  3. GPT 2.2:2020年7月,ChatGPT官方发布了2.2版本,添加了基于深度学习的自然语言处理技术,以及有效的图形规划技术,可以构建出更高效的聊天机器人应用程序。它提供了一个用于快速构建聊天机器人的开源框架,支持Python和JavaScript两种语言,添加了基于深度学习的自然语言处理技术,以及有效的图形规划技术,可以构建出更高效的聊天机器人应用程序。此时模型采用one-shot方式进行训练。
  4. 2020年,谷歌又发布了一个新的模型——GPT-3,它是一种更加强大和有效率的模型,它使用类似于ChatGPT的技术,并加入了更多先进的技术,以构建更复杂的聊天机器人应用程序。此时模型积累更大,但是相对于gpt-2,加上了一些提示,或者一些例子帮助,此时是few-shot。batch-size达到了3.2m
    请添加图片描述

到目前为止,ChatGPT已经广泛应用于各种领域,比如教育、商业、健康等,可以帮助开发者构建自然语言处理

结构介绍

ChatGPT(Chat Graphical Planning Tool)是一种用于设计和开发现代聊天机器人的AI技术。它是一个开源的自然语言处理框架,可以帮助开发人员在真实环境中构建聊天机器人。ChatGPT包括组件,这些组件可以让开发人员创建自然语言处理系统,此外还可以实现智能行为和多伦智能的用户交互。ChatGPT的实现方式是将机器学习,自然语言处理,图形规划等技术结合在一起,创建出一个全方位的聊天机器人框架。

论文:
GPT论文:Language Models are Few-Shot Learners Language Models are Few-Shot Learners.
InstructGPT论文:Training language models to follow instructions with human feedback Training language models to follow instructions with human feedback.

ChatGPT的模型结构主要包括以下组件:

  1. 语句表示层:用于将输入的文本转换为句子的表示形式,以便获得可理解的信息。

  2. 意图检测层:在该层,模型将尝试从语句表示中提取意图,以便根据用户的意图做出相应的动作。

  3. 图形规划层:用于根据模型检测的意图来构建聊天流程图,以便获得最优的对话结果。

  4. 行为实现层:用于实现由图形规划层生成的行为,以及处理和响应用户输入。

  5. 学习层:用于学习用户行为和反馈,以改进模型的性能,从而使模型的功能更加完善。

具体训练过程如下:

1. 训练监督策略模型

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

2. 训练奖励模型(Reward Mode,RM)

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

3. 采用PPO(Proximal Policy Optimization,近端策略优化)强化学习来优化策略。

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

优势及缺点

ChatGPT的发展趋势以及将来的应用前景都非常令人兴奋。ChatGPT的未来发展可以期望更多的AI技术来处理和分析聊天机器人数据,比如语音识别、机器翻译等,以便更好地与用户交互。此外,ChatGPT也可以用于开发具有自我学习功能的聊天机器人,可以自动学习、记忆和模仿不同场景下的用户行为,以及拓展不同场景下的对话范围。随着云计算技术的发展与人工智能技术的突破,对ChatGPT的研究和使用也将越来越多,未来将为人工智能领域带来有趣的应用。

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

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

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

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

5)ChatGPT仍然是黑盒模型。目前还未能对ChatGPT的内在算法逻辑进行分解,因此并不能保证ChatGPT不会产生攻击甚至伤害用户的表述。

类GPT模型产品

  1. GPT-2(Generative Pre-trained Transformer 2):由OpenAI开发,是一种强大的自然语言处理模型,可生成高质量的文本,包括对话、文章和新闻等。

    • GPT-2的算法链接为:https://openai.com/blog/better-language-models/
    • GPT-2的预训练语料链接为:https://d4mucfpksywv.cloudfront.net/better-language-models/gpt2_bible.zip
  2. GPT-3(Generative Pre-trained Transformer 3):也是由OpenAI开发的模型,是GPT-2的升级版,拥有更多的参数和更强大的语言生成能力。GPT-3可以生成更自然、更流畅的文本,包括对话、文章、代码等。

    • 源码及语料:https://github.com/EleutherAI/gpt-neo/
  3. XLNet:由谷歌开发,是一种自然语言处理模型,使用了自回归和自编码两种技术,可以处理不同长度的输入序列,并且在一些任务上表现良好。

    • 源码及语料:https://gitee.com/lduml/xlnet/
  4. BERT(Bidirectional Encoder Representations from Transformers):也是由谷歌开发的模型,使用双向Transformer编码器,能够在许多自然语言处理任务中取得很好的效果。

    • 源码及语料:https://gitcode.net/mirrors/google-research/bert?utm_source=csdn_github_accelerator
  5. T5(Text-to-Text Transfer Transformer):由谷歌Brain团队开发,是一种万能的文本生成模型,可以完成多种自然语言处理任务,包括翻译、摘要、问答等。

    • 源码及语料:https://github.com/google-research/text-to-text-transfer-transformer
  6. OpenAI:ChatGPT模型是由OpenAI开发的,该公司已经将该模型应用于自己的产品和服务中,包括AI写作助手GPT-3。

    • 源码及语料:https://github.com/openai/gpt-3
  7. Microsoft:微软使用了一个名为DialoGPT的ChatGPT模型来开发其AI聊天机器人。

    • 源码及语料:https://github.com/microsoft/DialoGPT
  8. Facebook:Facebook使用了名为Blender的ChatGPT模型来提高其Messenger和Portal的聊天机器人的能力。

    • 源码及语料:git clone git://git.blender.org/blender.git ||
      https://github.com/blender/blender
  9. Google:谷歌正在开发自己的ChatGPT模型,并将其应用于其智能助手Google Assistant中。

  10. Alibaba:阿里巴巴使用自己的ChatGPT模型,名为PAI-DA,来改善其自然语言处理应用程序的能力。

  • 源码及语料:
  1. Tencent:腾讯使用自己的ChatGPT模型,名为PLATO,来提升其聊天机器人的能力,并将其应用于其智能客服和智能客户服务平台。
  • 源码及语料:https://github.com/Tencent/plato
  1. WeChat:微信是腾讯开发的一款聊天应用程序,它使用了自然语言处理和聊天机器人技术来提供自动回复和智能客服功能。

  2. Amazon:亚马逊使用名为Amazon Lex的聊天机器人服务,该服务可以自动识别自然语言并自动回复问题,同时还可以与Alexa智能助手集成。

  3. IBM:IBM开发了自己的ChatGPT模型,名为Project Debater,该模型可以自动识别和分析大量文本信息,并生成可信的自然语言回答。

  4. Salesforce:Salesforce是一家销售自动化和客户关系管理软件公司,他们使用名为Einstein的聊天机器人服务来提高客户服务的效率,并改善用户体验。

  • 源码及语料:https://github.com/salesforce/cove
  • 数据集
    • 分类:
      • ST-2 https://nlp.stanford.edu/sentiment/treebank.html
      • SST-5 https://nlp.stanford.edu/sentiment/treebank.html
      • IMDb http://ai.stanford.edu/~amaas/data/sentiment/
    • 问题分类
      • TREC-6 http://cogcomp.cs.illinois.edu/Data/QA/QC/
      • TREC-50 http://cogcomp.cs.illinois.edu/Data/QA/QC/
    • 蕴含分类
      • SNLI https://nlp.stanford.edu/projects/snli/
    • 问答
      • SQuAD https://rajpurkar.github.io/SQuAD-explorer/
  1. 百度文心模型:
  2. OpenAssistant:是一个不断开发的开源人工智能代理能够实现基本的对话和互动与越来越多的任务自动化
  • 源码及语料:https://github.com/openassistant/oa-core/tree/next
    ChatGPT 的模型相似的技术也有 Google DialogFlow 和 IBM Watson Assistant,它们都是基于自然语言处理的聊天机器人框架,可以帮助开发者快速搭建聊天机器人。和ChatGPT一样,Google Dialogflow 和 IBM Watson Assistant 也包含组件,允许开发者通过自然语言处理系统来实现智能行为和多轮对话交互。此外,它们也都有学习组件,以便根据用户的反馈和行为来改进模型的性能。

相似产品还有Microsoft Bot Framework、Amazon Lex、Rasa NLU、Gupshup、Santa AI Bot Builder等等。这些产品均使用自然语言处理技术来帮助开发人员快速构建聊天机器人,并且也都具有学习模块,可以从用户交互中学习行为和反馈,从而改进模型的性能。

上述这些模型都是基于Transformer架构的,使用预训练技术进行训练,并在自然语言处理任务中表现出色。

参考文章

  • GPT论文:https://arxiv.org/pdf/2005.14165.pdf
  • GPT结构:https://mp.weixin.qq.com/s?__biz=MzU2NTcxODIyMg==&mid=2247507286&idx=1&sn=b7141f5817b86c363638c9c5b52d5824&chksm=fcb5e0f7cbc269e164547becbfd1c86654815e698d46309e8d7761ff00086d3813580dd3ccfa&mpshare=1&scene=24&srcid=0213j8KFZUPImp0ftYvi1ZWc&sharer_sharetime=1676262790635&sharer_shareid=8d16eb5213019b5d4600c882e10dd275#rd
  • 文本任务模型:https://baijiahao.baidu.com/s?id=1730861595934353908&wfr=spider&for=pc
  • salesforce:
    https://einstein.ai/static/images/layouts/research/cove/McCann2017LearnedIT.pdf
  • blender:
    https://docs.blender.org/manual/zh-hans/dev/index.html
  • textToText:https://arxiv.org/pdf/1910.10683.pdf

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

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

相关文章

京东数据分析:2023年9月京东白酒行业品牌销售排行榜

鲸参谋监测的京东平台9月份白酒市场销售数据已出炉! 9月白酒市场的整体热度较高,贵州茅台先是与瑞幸联名推出酱香拿铁,后又宣布与德芙推出联名产品酒心巧克力,引起了诸多消费者的关注。在这一热度的加持下,从销售上看&…

前端时间分片渲染

在经典的面试题中&#xff1a;”如果后端返回了十万条数据要你插入到页面中&#xff0c;你会怎么处理&#xff1f;” 除了像 useVirtualList 这样的虚拟列表来处理外&#xff0c;我们还可以通过 时间分片 来处理 通过 setTimeout 直接上一个例子&#xff1a; <!--* Autho…

基于ARM+FPGA+AD的多通道精密数据采集仪方案

XM 系列具备了数据采集仪应具备的“操作简单、便于携带、满足各种测量需求”等功能的产品。具有超小、超轻量的手掌大小尺寸&#xff0c;支持8 种测量模块&#xff0c;还可进行最多576 Ch的多通道测量。另外&#xff0c;支持省配线系统&#xff0c;可大幅削减配线工时。使用时不…

LSM Tree 深度解析

我们将深入探讨日志结构合并树&#xff0c;也称为LSM Tree&#xff1a;这是许多高度可扩展的NoSQL分布式键值型数据库的基础数据结构&#xff0c;例如Amazon的DynamoDB、Cassandra和ScyllaDB。这些数据库的设计被认为支持比传统关系数据库更高的写入速率。我们将看到LSM Tree如…

C++:哈希

目录 一、unordered系列关联容器 二、底层的结构 哈希结构 哈希冲突/哈希碰撞 ①、闭散列 —> 开放定址法 闭散列的模拟实现 ②、开散列 —> 拉链法/哈希桶 哈希桶的模拟实现 三、哈希应用 位图 位图的特点 位图的模拟实现 布隆过滤器 布隆过滤器的模拟实现…

Lua与C++交互

文章目录 1、Lua和C交互2、基础练习2.1、加载Lua脚本并传递参数2.2、加载脚本到stable&#xff08;包&#xff09;2.3、Lua调用c语言接口2.4、Lua实现面向对象2.5、向脚本中注册c的类 1、Lua和C交互 1、lua和c交互机制是基于一个虚拟栈&#xff0c;C和lua之间的所有数据交互都通…

SYS/BIOS 开发教程: 创建自定义平台

目录 SYS/BIOS 开发教程: 创建自定义平台创建自定义平台新建工程并指定自定义平台修改现有工程使用自定义平台 参考: TI SYS/BIOS v6.35 Real-time Operating System User’s Guide 6.2节 本示例基于 EVMC6678L 开发板, 创建自定义平台, 并将代码段的位置指定到C6678器件内部的…

安卓主板,人脸识别主板考勤门禁智能门锁安卓主板开发方案

人脸识别主板是一种广泛应用于多个领域的技术&#xff0c;包括人脸支付系统、人脸识别监控系统、写字楼办公楼门禁闸机、校园、地铁、住宅门禁、考勤机、智能门锁、广告机、售卖机以及其他行业应用设计等。这些主板基于联发科MTK方案&#xff0c;由行业PCBA和MTK的核心板组成。…

搭建zlmediakit和wvp_pro

zlmediakit使用zlmediakit/zlmediakit:master镜像 wvp_pro使用648540858/wvp_pro&#xff0c;可参照https://github.com/648540858/wvp-GB28181-pro wvp_pro官方https://doc.wvp-pro.cn/#/ 刚开始我找了个docker镜像运行&#xff0c;后来播放页面一直加载&#xff0c;最后就用了…

Windows下Eclipse C/C++开发环境配置教程

1.下载安装Eclipse 官网下载eclipse-installer&#xff08;eclipse下载器&#xff09;&#xff0c;或者官方下载对应版本zip。 本文示例&#xff1a; Eclipse IDE for C/C Developers Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse ID…

自动化测试07Selenium01

目录 什么是自动化测试 Selenium介绍 Selenium是什么 Selenium特点 工作原理 SeleniumJava环境搭建 Selenium常用的API使用 定位元素findElement CSS选择语法 id选择器&#xff1a;#id 类选择 .class 标签选择器 标签名 后代选择器 父级选择器 自己选择器 xpath …

TeeChart for .NET 2023.10.19 Crack

TeeChart.NET 的 TeeChart 图表控件提供了一个出色的通用组件套件&#xff0c;可满足无数的图表需求&#xff0c;也针对重要的垂直领域&#xff0c;例如金融、科学和统计领域。 数据可视化 数十种完全可定制的交互式图表类型、地图和仪表指示器&#xff0c;以及完整的功能集&am…

debian、ubuntu打包deb包工具,图形界面deb打包工具mkdeb

debian、ubuntu打包deb包工具&#xff0c;图形界面deb打包工具mkdeb&#xff0c;目前版本1.0 下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1QX6jXNMYRybI9Cx-1N_1xw?pwd8888 md5&#xff1a; b6c6658408226a8d1a92a7cf93834e66 mkdeb_1.0-1_all.deb

听GPT 讲Rust源代码--library/std(2)

File: rust/library/std/src/sys_common/wtf8.rs 在Rust源代码中&#xff0c;rust/library/std/src/sys_common/wtf8.rs这个文件的作用是实现了UTF-8编码和宽字符编码之间的转换&#xff0c;以及提供了一些处理和操作UTF-8编码的工具函数。 下面对这几个结构体进行一一介绍&…

【学习笔记】Git开发流程

Git开发大致流程图&#xff1a; 具体流程&#xff1a; 首先一个从仓库的main分支&#xff0c;然后从main分支中拉一个功能分支feature/xxx&#xff0c;在多人开发这个功能的时候拉去自己的个人分支比如&#xff1a;xxx/xxx 。然后每天开发完个人分支后压缩commit&#xff0c;…

vue2.x封装svg组件并使用

第一步&#xff1a;安装svg-sprite-loader插件 <!-- svg-sprite-loader svg雪碧图 转换工具 --> <!-- <symbol> 元素中的 path 就是绘制图标的路径&#xff0c;这种一大串的东西我们肯定没办法手动的去处理&#xff0c; 那么就需要用到插件 svg-sprite-loader …

护眼灯有效果吗?五款好用热门的护眼台灯推荐

可以肯定的是&#xff0c;护眼灯一般可以达到护眼的效果。看书和写字时&#xff0c;光线应适度&#xff0c;不宜过强或过暗&#xff0c;护眼灯光线较柔和&#xff0c;通常并不刺眼&#xff0c;眼球容易适应&#xff0c;可以防止光线过强或过暗导致的用眼疲劳。如果平时生活中需…

12、Python -- if 分支 的讲解和使用

目录 程序结构顺序结构分支结构分支结构注意点不要忘记冒号 if条件的类型if条件的逻辑错误if表达式pass语句 程序流程 分支结构 分支结构的注意点 if条件的类型 if语句的逻辑错误 if表达式 程序结构 Python同样提供了现代编程语言都支持的三种流程 顺序结构 分支结构 循环结构…

django建站过程(3)定义模型与管理页

定义模型与管理页 定义模型[models.py]迁移模型向管理注册模型[admin.py]注册模型使用Admin.site.register(模型名)修改Django后台管理的名称定义管理列表页面应用名称修改管理列表添加查询功能 django shell交互式shell会话 认证和授权 定义模型[models.py] 模仿博客形式&…

Mysql如何理解Sql语句?MySql分析器

1. 什么是 MySQL 分析器? MySQL 分析器是 MySQL 数据库系统中的一个关键组件&#xff0c;它负责解析 SQL 查询语句&#xff0c;确定如何执行这些查询&#xff0c;并生成查询执行计划。分析器将 SQL 语句转换为内部数据结构&#xff0c;以便 MySQL 可以理解和执行查询请求。 …