互联网新时代要到来了(三)什么是ChatGPT?
什么是ChatGPT?
tips:资料来自百度百科、openAi、CSDN博主「琦在江湖飘」、Info写作社区、CSDN博主「夕小瑶」等网页资料。
1.什么是ChatGPT?
ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序 ,于2022年11月30日发布 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。
ChatGPT本质是一个应用在对话场景的语言模型,基于GPT3.5通过人类反馈的强化学习微调而来,能够回答后续问题、承认错误、质疑不正确的前提以及拒绝不适当的请求。
我们可以让今天的主角ChatGPT来亲自介绍自己。
OpenAI 11月30号发布,首先在北美、欧洲等已经引发了热烈的讨论。随后在国内开始火起来。全球用户争相晒出自己极具创意的与ChatGPT交流的成果。ChatGPT在大量网友的疯狂测试中表现出各种惊人的能力,如流畅对答、写代码、写剧本、纠错等,甚至让记者编辑、程序员等从业者都感受到了威胁,更不乏其将取代谷歌搜索引擎之说。继AlphaGo击败李世石、AI绘画大火之后,ChatGPT成为又一新晋网红。下面是谷歌全球指数,我们可以看到火爆的程度。
国内对比各大平台,最先火起来是在微信上,通过微信指数我们可以看到,97.48%来自于公众号,开始于科技圈,迅速拓展到投资圈等。我最先了解到ChatGPT相关信息的也是在关注的科技公众号上,随后看到各大公众号出现关于介绍ChatGPT各种震惊体关键词地震、杀疯了、毁灭人类等。随后各行各业都参与进来有趣的整活,问数学题,问历史,还有写小说,写日报,写代码找BUG等等。
不过,目前ChatGPT未对中国大陆开放,注册需要境外手机号或是使用VPN等途径,非常不方便。
2.ChatGPT技术
核心技术
2.1语言模型
语言模型通俗讲是判断这句话是否通顺、正确。数学函数表达为给定前N个词,预测第N+1 个词概率,将概率序列分解成条件概率乘积的形式,这个函数就可以实现语言模型去生成句子。那么是什么样的语言模型如此强大,
深度学习开始的语言模型演技过程,如下图所示:
第一次开始用神经网络做语言模型是2003年Bengio提出的NNLM的网络结构,随着图像领域预训练的取得的突破迅速迁移到NLP领域,有了我们熟知的word2vec,通常做NLP任务句子中每个单词Onehot形式输入,使用预训练好的word embedding初始化网络的第一层,进行下游任务。word2vec的弊端是word embedding静态的,后续代表性工作中ELMo通过采用双层双向LSTM实现了根据当前上下文对Word Embedding动态调整。
ELMo非常明显的缺点在特征抽取器LSTM结构带来的,17年Google在机器翻译Transformer取得了效果的突破,NLP各种任务开始验证Transformer特征提取的能力比LSTM强很多。自此NLP开启了Transformer时代。
2018年OpenAI采用Transformer Decoder结构在大规模语料上训练 GPT1模型横扫了各项NLP任务,自此迈入大规模预训练时代NLP任务标准的预训练+微调范式。由于GPT采用Decoder的单向结构天然缺陷是无法感知上下文,Google很快提出了Encoder结构的Bert模型可以感知上下文效果上也明显有提升。随后2019年OpenAI提出了GPT2,GPT2拥有和GPT1一样的模型结构,但得益于更高的数据质量和更大的数据规模有了惊人的生成能力。同年Google采用了Encoder-Decoder结构,提出了T5模型。从此大规模预训练语言模型兵分三路,开始了一系列延续的工作。
2020年OpenAI提出GPT3将GPT模型提升到全新的高度,其训练参数达到了1750亿,自此超大模型时代开启。技术路线上摒弃了之前预训练+微调的范式,通过输入自然语言当作指示生成答案,开始了NLP任务新的范式预训练+提示学习。由于GPT3可以产生通顺的句子但是准确性等问题一直存在,出现WebGPT、InstructGPT、ChatGPT等后续优化的工作,实现了模型可以理解人类指令的含义,会甄别高水准答案,质疑错误问题和拒绝不适当的请求。
2.2深度学习
深度强化学习(deep reinforcement learning,DRL)是强化学习一个分支,基于深度学习强大的感知能力来处理复杂的、高维的环境特征,并结合强化学习的思想与环境进行交互,完成决策过程。DRL在游戏场景这种封闭、静态和确定性环境可以达到甚至超越人类的决策水平。比较著名的事件是2017年DeepMind 根据深度学习和策略搜索的 AlphaGo 击败了围棋世界冠军李世石。2018 年OpenAI 团队基于多智能体 DRL推出的OpenAI Five 在Dota2游戏中击败了人类玩家。DRL算法主要分为以下两类:
值函数算法:值函数算法通过迭代更新值函数来间接得到智能体的策略,智能体的最优策略通过最优值函数得到。基于值函数的 DRL 算法采用深度神经网络对值函数或者动作值函数进行近似,通过时间差分学习或者 Q 学习的方式分别对值函数或者动作值函数进行更新。代表性的是2015 年 DeepMind 团队提出深度Q网络(DQN),及其后的各种变种DDQN、Dueling DQN、分布式DQN等。
策略梯度算法:策略梯度算法直接采用函数近似的方法建立策略网络,通过策略网络选取动作得到奖励值,并沿梯度方向对策略网络参数进行优化,得到优化的策略最大化奖励值。可以用来处理连续动作。在实际应用中流行的做法是将值函数算法和策略梯度算法结合得到的执行器‒评价器(AC)结构。代表性工作有策略梯度算法、AC 算法以及各种变种DDPG、A3C、PPO等。ChatGPT使用的就是策略梯度算法PPO。
技术原理
ChatGPT整体技术方案是基于 GPT-3.5 大规模语言模型通过人工反馈强化学习来微调模型,让模型一方面学习人的指令,另一方面学习回答的好不好。
ChatGPT在对话场景核心提升了以下三方面:
1)更好的理解用户的提问,提升模型和人类意图的一致性,同时具备连续多轮对话能力。
2)大幅提升结果的准确性,主要表现在回答的更加的全面,同时可以承认错误、发现无法回答的问题。
3)具备识别非法和偏见的机制,针对不合理提问提示并拒绝回答。
ChatGPT的提升主要涉及以下三方面技术:
1)性能强大的预训练语言模型GPT3.5,使得模型具备了博学的基础。
2)webGPT等工作验证了监督学习信号可大幅提升模型准确性。
3)InstructGPT等工作引入强化学习验证了对齐模型和用户意图的能力。
ChatGPT的训练过程分为微调GPT3.5模型、训练回报模型、强化学习来增强微调模型三步:
第一步:微调GPT3.5模型。让GPT 3.5在对话场景初步具备理解人类的的意图,从用户的prompt集合中采样,人工标注prompt对应的答案,然后将标注好的prompt和对应的答案去Fine-tune GPT3.5,经过微调的模型具备了一定理解人类意图的能力。
第二步:训练回报模型。第一步微调的模型显然不够好,至少他不知道自己答的好不好,这一步通过人工标注数据训练一个回报模型,让回报模型来帮助评估回答的好不好。具体做法是采样用户提交的prompt,先通过第一步微调的模型生成n个不同的答案,比如A、B、C、D。接下来人工对A、B、C、D按照相关性、有害性等标准标准并进行综合打分。有了这个人工标准数据,采取pair-wise 损失函数来训练回报模型RM。这一步实现了模型判别答案的好坏。
第三步:强化学习来增强微调模型。使用第一步微调GPT3.5模型初始化PPO模型,采样一批和前面用户提交prompt不同的集合,使用PPO模型生成答案,使用第二步回报模型对答案打分。通过产生的策略梯度去更新PPO模型。这一步利用强化学习来鼓励PPO模型生成更符合RM模型判别高质量的答案。
通过第二和第三步的迭代训练并相互促进,使得PPO模型能力越来越强。
具体详见CSDN博主「琦在江湖飘」文章
3.ChatGPT应用
ChatGPT的实际应用
ChatGPT可以应用于多种领域,主要应用场景如下:
问答系统:ChatGPT 可以通过对询问进行理解和生成简明易懂的回答。
聊天机器人:ChatGPT 可以用于构建人机对话系统,以帮助用户解决其问题并回答其问题。
文本生成:ChatGPT 可以用于生成文本,例如新闻文章、诗歌、小说等。
机器翻译:通过使用多语言训练数据,ChatGPT 可以用于文本翻译。
其他应用:
(1)写情书
让 chatGPT 帮我写了一份情书,整得还挺好,赞一个:
(2)找美女图
我帮大家考验了一下 chatGPT,还是非常站的,经过了考验!
(3)写代码
(4)写歌词
应用:
(1)程序接入
接入步骤
我们用程序接入 chatGPT 非常简单,直接用 chatGPT 去创建一个程序要用的秘钥,就可以使用 http 接口调用了。
chatGPT 的官网 openai 为我们提供大量语言快速开发的 SDK,详情如下:
接入 chatGPT 你的程序能做的 49 件事情
当你开通 chatGPT 之后,你的程序就可以通过接口完成以下基本的 49 件事情了;我给大家都批注好了,那一项不明白的就评论区交流;下面每一项勇哥都熬夜晚过了,非常 NICE。
4.ChatGPT好玩的事例
- ChatGPT进入百度“弱智吧”后,疯了。
https://mp.weixin.qq.com/s/BE1TkqY8CY99jQuAToW-FQ
不得不说,“弱智吧”的一些经典提问,真的会把ChatGPT搞到崩溃。。。这一点上,我觉得还是人类更胜一筹。
- ChatGPT惊人语录大赏
https://mp.weixin.qq.com/s/csyCHucLtUQAsT8QRS5AUw
这里是一些关于ChatGPT的经典语录大赏,真的是看了之后毁三观。
甚至还有网友让ChatGPT扮演猫娘,笔者看了聊天记录之后直接吐血。。
可以说,ChatGPT好不好玩,纯看你的脑洞大不大。。。
- 谷歌要完,百度也危了
https://mp.weixin.qq.com/s/qVt89FS_wzfu6-ShiWTv_Q
最后是把ChatGPT当成一个搜索引擎来用,你会发现非常惊喜。。这究竟会不会成为一个颠覆谷歌、百度的新型搜索引擎形态,谁也不好说。但至少目前来看,潜力非常大。
5.面临的挑战和问题
5.1慢的问题
chatGPT 火遍全球,涌入了大量的访问者,那么这就是 chatGPT 慢的原因吗?其实不然,试想 chatGPT 背后那么多大佬,不缺服务器,但为什么依旧接近不了慢、网络错误等问题呢?AI 算力是核心关键,如下图大量用户访问 chatGPT,chatGPT 要并发的从海量数据模型中去计算用户请求的真实目的,并给出正确结果。这需要非常庞大的算力,而这个正是卡主 chatGPT 脖子的事情.
5.2错的问题
网上也有一大堆网友在调侃 chatGPT 的错误,其实这是真实存在的,如下图评价歌曲明显是回答有偏差了。那么这说明 chatGPT 还有努力的空间,同时也方向证明了,大佬都解决不了的问题,它本身就具有很高的复杂性。
5.3广的问题
chatGPT 在一些领域还支持不到位或者说直接不支持,这表现出 chatGPT 的广度还有待提高,但他为什么没扩大广度呢?其实这个问题还得回归算力和成本上来。GPT-3 模型训练一次需要花费 460 万美元,这是非常非常高成本的事情。
相关文章:
互联网新时代要到来了(三)什么是ChatGPT?
什么是ChatGPT? tips:资料来自百度百科、openAi、CSDN博主「琦在江湖飘」、Info写作社区、CSDN博主「夕小瑶」等网页资料。 1.什么是ChatGPT? ChatGPT(全名:Chat Generative Pre-trained Transformer),…...
华为OD机试 - 环中最长子串(Python)
环中最长子串 题目 给你一个字符串s,首尾相连成一个环形, 请你在环中找出o字符出现了偶数次最长子字符串的长度. 备注: 1 <= s.lenth <= 5x10^5 s只包含小写英文字母 输入 输入是一个小写字母组成的字符串 输出描述 输出是一个整数 示例一 输入 alolobo输出 6说…...
安全—08day
ApabilitiesapabilitiesLinux Capabilities线程的 capabilitiesPermitted 允许Effective 有效InheritableBoundingAmbient文件的 capabilitiesPermittedInheritableEffective运行 execve() 后 capabilities 的变化案例分析方法一、依次执行如下命令方法二、iptables端口转发方案…...
【看表情包学Linux】进程地址空间 | 区域和页表 | 虚拟地址空间 | 初识写时拷贝
🤣 爆笑教程 👉 《看表情包学Linux》👈 猛戳订阅 🔥 💭 写在前面:本章核心主题为 "进程地址空间",会通过验证 Linux 进程的地址空间来开头,抛出 "同一个值能有不同内…...
响应式编程(Reactive Programming)介绍
什么是响应式编程? 在互联网上有着一大堆糟糕的解释与定义。Wikipedia 一如既往的空泛与理论化。Stackoverflow 的权威答案明显不适合初学者。Reactive Manifesto 看起来是你展示给你公司的项目经理或者老板们看的东西。微软的 Rx terminology"Rx Observables LINQ S…...
你不知道的美化列表的两种方案-<ul/><ol/>
大家好,我是半夏👴,一个励志更文1000篇沙雕程序员.如果喜欢我的文章,可以关注➕ 点赞 一起学习交流前端,成为更优秀的工程师~ CSS为什么这么难学?一定是你方法不对!!! 只要一杯奶茶,CSS任你学。学透CSS,拒绝切图仔!!! 学透CSS传送门 文章目录 学透CSS传送门前言li…...
2023年浙江理工大学MBA招生考试初试成绩查询及复查的通知
根据往年的情况,2023浙江理工大学MBA考试初试成绩可能将于2月21日下午两点公布,为了广大考生可以及时查询到自己的分数,杭州达立易考教育为大家汇总了信息。 一、成绩查询考生可登录中国研究生招生信息网“全国硕士研究生招生考试初试成绩查询…...
SVNH数据(.mat格式)转为图像(.png)matlab代码
一、获取SVNH数据数据集集地址-http://ufldl.stanford.edu/housenumbers/提供两种格式的数据:1.Format 1,图像形式,压缩包2.Format 2, .mat格式的数据10 classes, 1 for each digit. Digit 1 has label 1, 9 has label 9 and 0 ha…...
【总结】vim教程与详细命令总结,该来的躲不掉啊晕
B站|公众号:啥都会一点的研究生 目录写在前面vim的工作模式普通模式编辑模式命令模式命令大全,最详细(建议收藏)光标的移动插入模式 - 插入/追加文本编辑文本选择文本(可视化模式)可视化模式命令剪切, 复制…...
git基础使用
Git安装 去安装>> 正式开始 进入要管理的目录,执行命令 git init 查看管理目录下的状态 git status 注:新增文件和修改过后的文件都是红色 管理指定文件(红变绿) 指定文件:git add 文件名 当前目录下所有&…...
基于 RANSAC 的地面分割与聚类算法
文章目录 前言 一、算法原理 参考文献 二、代码实现 1.头文件 2.源文件...
JVM内存模型深度剖析与优化
1. Java语言的跨平台特性 2. JVM整体结构及内存模型 堆存放着对象信息每个线程都会分配一块属于自己的内存空间(栈空间) 每个方法都会分配一块内存空间(栈桢),上图 compute()方法 和 main()方法 都会分配到各自的栈桢空…...
软件性能测试定义中文
From Wiki软件性能测试在软件质量保证中,性能测试通常是一种测试实践,用于确定系统在特定工作负载下的响应能力和稳定性方面的表现。它还可以用于调查、测量、验证或验证系统的其他质量 属性,例如可扩展性、可靠性和资源使用。性能测试是性能…...
2023情人节正经性生活调研报告
省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2023年1月份热门报告合集ChatGPT的发展历程、原理、技术架构及未来方向2023年,如何科学制定年度规划?《底层逻辑》高清配图今天给大家带来丁香医生最新…...
22- 隐马尔科夫HMM (NLP自然语言算法) (算法)
HMM模型 : from hmmlearn.hmm import GaussianHMM model GaussianHMM(n_components3,n_iter100000, covariance_type diag) model.fit(X) 1、马尔科夫链 有向图模型(贝叶斯网络):用有向图表示变量间的依赖关系; 无向图模型&…...
gRPC是什么,怎么用
RPC是什么 RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传…...
linux基本功系列之fdisk命令实战
文章目录前言一. fdisk命令介绍二. 语法格式及常用选项三. 参考案例3.1 列出每个分区的大小3.2 分区操作3.2.1 添加硬盘3.2.2 开启虚拟机并分区3.3.3 分区完成后进行格式化挂载四 . 设置分区自动挂载前言 大家好,又见面了,我是沐风晓月,本文…...
Mysql UDF提权复现Raven2
Raven2通关过程 主要通过Raven2靶机进行复现Mysql UDF提权,以下为通关过程。 靶机镜像:https://www.vulnhub.com/entry/raven-2,269/ 信息收集 拿到靶机ip:192.168.112.129 nmap -sP 192.168.112.0/24探测开放端口,nmap用烂了…...
枚举类(enum)
定义:在某些情况下,一个类的实例对象是有限且固定的,可将该类称为“枚举类”。枚举类是JDK 1.5 之后提出来的。例如:四季只有春夏秋冬4个季节,性别只有男女2个,故四季类和性别类均可称为“枚举类”。 在自…...
腾讯云架构师亲码“redis深度笔记”,从入门到精通,面面俱到
前言 作为这个时代码代码的秃头人员,对Redis肯定是不陌生的,如果连Redis都没用过,还真不好意思出去面试,指不定被面试官吊打多少次。 毕竟现在互联网公司和一些创业公司都要用到Redis,像亚马逊、谷歌、阿里、腾讯都要…...
萌新应该如何开始学习走向自动化测试高薪岗位?
对于测试人员来说,不管进行功能测试还是自动化测试,还是性能测试,都是需要编写测试用例,所以我们必须先要了解清楚手工测试用例与自动化测试用例的一些特点,才能更好的开展自动化测试工作。1.1手工测试用例和自动化测试…...
-bash: pip: command not found
背景 这个错误的原因就是,我们的服务器上没有安装pip,装上就可以了,下面我们看一下centos中的解决方案 下载 wget https://bootstrap.pypa.io/get-pip.py 下载完成后如下图: 安装 安装的时候首先需要看一下自己的python是什…...
使用HTTP隧道代理,请求超过频率要怎么办?
在网上,经常会看到有人说使用隧道代理经常遇到429错误(请求超过频率),我们要如何解决这一问题呢?通常情况,优质的HTTP代理厂商隧道代理服务器采用的是高性能主机构建的动态IP代理服务器,是可以支…...
paddle 49 ODConv的可部署调整
ODConv是一种适用于轻量化模型的conv结构,可以在较少的参数下训练出多参数模型才能达到的精度,在相同的flop下可以稳定的涨2-3%个点。但是在paddle下部署ODConv动态卷积模型时会报出各种异常,导致模型无法转静态图或onnx格式(可能在pytorch下也是无法转换的)。为此研究ODC…...
C++ STL 学习之【string】
✨个人主页: Yohifo 🎉所属专栏: C修行之路 🎊每篇一句: 图片来源 The key is to keep company only with people who uplift you, whose presence calls forth your best. 关键是只与那些提升你的人在一起,…...
使用开源 MaxKey 与 APISIX 网关保护你的 API
1. Apache APISIX介绍 Apache APISIX 是 Apache 软件基金会下的云原生 API 网关,它兼具动态、实时、高性能等特点,提供了负载均衡、动态上游、灰度发布(金丝雀发布)、服务熔断、身份认证、可观测性等丰富的流量管理功能。我们可以…...
Linux之Xshell工具使用
shell简介Xshell是一个远程工具,可以远程连接linux系统 ,SSH,远程管理 Xshell来远程访问Linux系统的终端 。shell的英文含义是“壳”;它是相对于内核来说的,因为它是建立在内核的基础上,面向于用户的一种表…...
【数据结构与算法】时间复杂度与空间复杂度
目录 一.前言 二.时间复杂度 1.概念 二.大O的渐进表示法 概念: 总结: 三.常见时间复杂度计算举例 例1 例2 例3 例4 例5.计算冒泡排序的时间复杂度 例6.二分算法的时间复杂度 例7.阶乘递归Fac的时间复杂度 例8.斐波那契递归的时间复杂度 …...
Nginx如何配置Http、Https、WS、WSS的方法步骤
这篇文章主要介绍了Nginx如何配置Http、Https、WS、WSS的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 写在前面 当今互联网领域,Nginx是使…...
【博客621】iptables -J动作总结
iptables -J动作总结 1、iptables常见动作 ACCEPTDROPREJECTLOGSNATDNATMASQUERADEREDIRECT 2、iptables常见动作用法 2-1、ACCEPT: 作用:用于接收匹配的流量,使得流量继续往后面的规则和链路去匹配 2-2、DROP 作用:用于丢弃匹…...
外贸b2b选品/谷歌seo搜索引擎
IE问题解决办法文章由小编整理发出,内容真实有效,欢迎提出您的意见IE系列文章由小编在互联网中整理并且发出,内容保障真实健康.IE浏览器怎么将网页保存为pdf文档很多小伙伴们都不清楚,接下来小编带来将网页保存为pdf文档的方法说明…...
网站开发是什么部门/如何搭建企业网站
在使用SVN过程中可能有时因为一些原因,不想再使用SVN了,我们想取消与SVN的关联,让Android项目恢复到原始状态,不想有哪些花花绿绿的颜色了,怎么办呢,操作起来很简单 把Android Studio切换到Project模式,有个.idea文件夹,在该文件夹下找到vcs.xml文件,打开该文件,把里面的内容替…...
做app模板下载网站/seo查询百科
定义和用法 <audio> 标签定义声音,比如音乐或其他音频流。 示例代码:<audio src"someaudio.wav">您的浏览器不支持 audio 标签。</audio> 提示和注释 提示:可以在开始标签和结束标签之间放置文本内容,这样老的浏…...
h5制作方法/seo网站优化方案摘要
文章目录第一题、01-Number-sequence第二题.02-Number Sequence - Part 2第三题:NUMBER SEQUENCE – PART 3第四题:NUMBER SEQUENCE – PART 4第五题:第六题:17-templer-03-en1.lab2的内容为上次课堂练习的内容,把做过…...
寻花问柳专注做一家男人最爱的网站/长沙seo霸屏
2019独角兽企业重金招聘Python工程师标准>>> 以前看Parity源代码的时候,一直用GDB调试跟踪。幸亏以前有Unix/Linux编程的底子,否则用GDB想死的心都有。最近发现Microsoft的VS Code,非常不错。把过程记下来,备查 首先下…...
网站建设需要实现哪些目标/推广咨询服务公司
小弟此处只是记录一下参考的文章,因为我是用的两种方案结合的,没有别的意思 详细出处参考:http://blog.csdn.net/linghao00/article/details/8058730 以及http://blog.csdn.net/lqh4188/article/details/46828409 第一篇文章的内容࿱…...