首页 > 其他分享 >从Eliza到ChatGPT,对话系统发展简史✨

从Eliza到ChatGPT,对话系统发展简史✨

时间:2023-03-22 11:32:10浏览次数:47  
标签:Transformer 训练 Eliza 简史 OpenAI GPT ChatGPT 模型

最近,由人工智能实验室OpenAI发布的对话式大型语言模型ChatGPT在各大中外媒体平台掀起了一阵狂热之风。短短4天时间,其用户量到达百万级,用户之多导致服务器一度爆满。

继 AI 绘画之后,由 OpenAI 上线的 ChatGPT 成了新的流量收割机,也引发了网友的一系列“花式整活”。ChatGPT的功能是如此强大,因此连马斯克都认为“我们离强大到危险的 AI 不远了”。


认识它不妨先用用,咋直接问问ChatGPT​​↓​

从Eliza到ChatGPT,对话系统发展简史✨_数据

从Eliza到ChatGPT,对话系统发展简史✨_语言模型_02

哗哗两下就给你列出1 2 3 4 5.....,不过咱先刨开这个内容质量不说,你就光看它这个文字能力,你问它什么,它都能给你对答如流,还说的有模有样的,反正是把我给震撼到了。

又拿美国医学牌照,又参加司法考试,又能写小说、编代码、查资料,你就感觉只要能用文字表达的事儿它全都能干...

你说这玩意儿,它怎么就横空出世了?
之前也有聊天机器人,怎么就感觉它就要颠覆世界了?让资本圈,好家伙 那个兴奋。那它又有什么问题呢?巨头们又如何应对?它到底会让谁失业呢?

今天咱们就一起把这些碎片的信息都给串起来,一起来聊一聊,关于ChatGPT你需要知道的那些事儿!!


这个聊天机器人儿,咱们得追溯到1950年,那时候号称计算机科学之父人工智能之父的艾伦-图灵,他发表了一篇具有划时代意义的论文,他提出了一个很有哲理的叫做模仿游戏,也就是说咱们大名鼎鼎的那个图灵测试,就是说当你在不面对面的时候跟人家文字聊天,你能不能准确的判断出来对方是一个人,还是一个机器人。如果你要是很难分辨出来,那就一定程度上可以说这个机器它是智能的。

你看这图灵测试,是不是又简单、又易懂、又具体而且还挺有意思的,所以呢就吸引了很多计算机方面的科学家来向它发起冲击

从Eliza到ChatGPT,对话系统发展简史✨_语言模型_03

不过最开始的时候,都是一些非常简单的指令,它就是通过一些语言技巧就是小聪明,来尽量让你感觉到你好像是在跟一个人对话。

就比如说1966年的时候,MIT实验室里就发明出来一个聊天机器人叫Eliza,是世界上第一个真正意义上的聊天机器人。

这开发者就很聪明,他给Eliza的设定是个心理治疗师,你看这种治疗师,一般不都是少说话,多倾听,所以呢它就可以主动的问人家说 “你有没有什么想法”之类的,人家就哗啦哗啦说一大堆,然后它又问说 “你昨天休息的怎么样”,人家又说一大堆,它少说就少错,所以就真的让人误以为它在倾听,然后跟你沟通,而其实它背后就是一些非常简单的​​if...else...​​的代码。

在自然语言理解技术尚未真正取得突破性进展时,Eliza的出现确实是个神奇的事情。

我们甚至还能找到github:​​codeanticode/eliza: The classic Eliza psychologist program, implemented as a Processing library. (github.com)​

然后到了30年之后的1995年Eliza又出来一个后辈叫ALICE,它就进化的已经很强大了,虽然跟ChatGPT还没法比,但就很日常的一些对话,它已经都可以应付了。不过本质上,不管是这个Eliza还是ALICE,它的原理都是基于一个叫做​​Pattern Matching​​,就是模式匹配。

用非技术人员的话解释模式匹配

谈话人的语序,它会在对方的言语中进行关键词扫描,为其中的某些“关键词” 匹配上合适的“对应词” , 然后再返回给谈话人。

在数据库中,关键词被按照日常使用中的频率划分为不同的等级。基于模式匹配的机器人会逐一在自己的脚本库里检索,找到对应的回答。如果遇到完全陌生的话,它就做出通用的回答。

听到一个关键词,它就会调取一个已经预设好的预案,就比如说它听见你好,你就问人家说 吃了吗;它听见妈妈,它就说跟我说说你的家庭,类似这种。

其实即使是在现在,一些购物网站,银行什么的机器人儿,它基于的还是这种​​Pattern Matching​​的模式。就比如说你跟它聊天,你一说到退货,它就给你发个退货流程,或者你说个地址,它就给你发一个路线位置,这种匹配模式。它虽然称不上是非常的智能,但确确实实减少了很多那种大量人力机械性的重复回答。但咱就从智能的角度讲你说这种限定规则的机器人儿,就算你的规则写的再复杂,预设再,也不可能穷尽所有的答案,它更不可能去创造新的答案。

所以,你要真的想通过那个图灵测试,想要变成真正的智能,单凭这种模式匹配,是不可能实现的,于是就出现了语言学习里面的一个新的流派,这个也是人工智能里边非常重要的一部分,就是机器学习

机器学习

顾名思义,它的基本理念就是让机器去学习,就是说我不给你人为规定,一些规则和回答了,就给你一大堆现成的例子,让你自己去学习,找规律。听着是不是就感觉厉害多了

从Eliza到ChatGPT,对话系统发展简史✨_数据_04

基于这个理念就到2001年,就有了一个叫做SmartChild更聪明小孩,这么个机器人就活出圈了。

那为什么火呢?

首先它用了一些机器学习里边当时比较先进的模型来让聊天变得更自然,而且2000年那会儿,不是兴起了一大批聊天软件AOLYahoo...那个SmartChild就把这些平台横扫了一遍,就让全世界好几亿人都可以跟它对话,不管你问它什么,你甭管它答得怎么样,它总能跟你聊上几句,可以算是ChatGPT的大前辈了。你说这么好玩的东西,那立马就风靡全球,吸引了超过3000万的用户跟它对话聊天,它每天光接收的信息就要超过10亿条。直到2007年,它被一家巨头公司收购了,就是微软。但是这个SmartChild离通过图灵测试还很远,你跟它聊两句就知道它是个机器人了。

人工神经网络Artificial Neural Networks

到了2010年的时候,机器学习里面的这个领域就开始闪光了。你看我们人的大脑,其实是靠超过100亿个神经元,通过网状连接来判断和传递信息的。虽然这每个神经元都很简单,但是它们组合起来就可以判断非常复杂的信息。所以这个人工神经网络其实就是想模拟人脑的这种形式。

输入信息之后,就会经过若干个隐藏神经节点的判断,就跟神经元似的,然后给你输出结果。

其实这个神经网的思想早就有了,但是神经网络需要大量的数据和强大的算力,而这些在之前是不具备的。到了2010年代,神经网络才开始应用起来。人脸识别、声音识别、自动驾驶包括前几年下围棋打败柯洁那个AlphaGo,都是用它训练出来的。

这个神经网络在这些领域都可以大展宏图,但是到了文字领域它发展就不太顺。因为这个机器学习它一般都是用一种叫做循环神经网络RNN来处理文字的。它主要的方式就是按顺序一个词一个词的看,那问题就是它没办法同时进行大量的学习,而且这句子也不能太长,要不然学到后面前面的又忘了。后来,谷歌提出来了一个新的学习框架​​Transformer​

Transformer

Transformer 是一种用于自然语言处理和其他序列到序列学习任务的深度学习模型,由 Vaswani 等人在 2017 年提出。它是一种基于自注意力机制的神经网络,相比于传统的递归神经网络(RNN)或卷积神经网络(CNN),Transformer 能够更好地处理长序列数据。

Transformer 主要由编码器和解码器两部分组成,每个部分包含多个相同的层。编码器将输入序列编码成一组隐藏状态,而解码器将这些隐藏状态作为上下文信息,并生成输出序列。Transformer 中的自注意力机制可以使模型更好地理解序列中不同位置的相关性,从而在处理序列数据时表现出色。

从Eliza到ChatGPT,对话系统发展简史✨_语言模型_05

通过训练,它可以让机器同时学习大量的文字。现在很多自然语言处理模型其实都是建立在它的基础架构之上的。

2015年包括马斯克、彼得.蒂尔在内...几个大佬一起注资了十亿美金成立了一家非盈利组织叫​​OpenAI​​,也就是ChatGPT的母公司,来进行AI方面的研究。但是后来因为马斯克因为他自己的特斯拉也需要大量的投入研究,为了避免特斯拉和OpenAI引起利益冲突后来就跑路了,哥不玩了。

那剩下的大牛们也确实很牛,在谷歌推出Transformer后,他们就立马在这个基础上研究学习,2018年发表了一篇论文介绍了一个新的语言学习模型 - ​​Chat Generative Pre-trained Transformer​​,就是​​GPT​​,之前的语言学习模型,它基本都是需要人去监督,或者人为给它设定一些标签,但是GPT就基本不怎么需要了,你就把一堆数据放进去,它就哗哗一顿给你整明白了。

从17年Transformer出来以后,基于 Transformer 的预训练语言模型发展如火如荼。Transformer可以提取上下文化动态embedding,也可以做文本生成。

于是OpenAI那些人成功拿着Transformer做出了语言模型,那个时候GPT刚出来,惊为天人,在GPT之前,虽然图像领域已经有用ImageNet做的预训练模型了,但是NLP领域是没有像ImageNet那样大的有标签数据集的,因此迟迟没有出现预训练模型。但是GPT用无标签数据,做出来了预训练模型+微调的范式,所以说是惊为天人。

然后呢BERT就出来了,用更大的数据集更大的模型训练了语言模型。并且还在论文中写的“我们做了两个模型,一个bert base,一个bert large,做bert base的原因。就是要和GPT比较。

这话一出来你能忍吗。所以GPT啪就做了一个GPT-2。用更更大的数据集做出来一个更更大的语言模型。

BERT(Bidirectional Encoder Representations from Transformers):BERT 是由 Google 提出的预训练语言模型,通过在大规模无标注数据上进行预训练,可以在各种自然语言处理任务上进行微调,如文本分类、命名实体识别、问答系统等。

GPT(Generative Pre-trained Transformer):GPT 是由 OpenAI 提出的预训练语言模型,通过单向 Transformer 编码器来学习文本序列的表示,然后使用该表示来生成各种任务的文本,如对话系统、文本生成等。

从Eliza到ChatGPT,对话系统发展简史✨_数据_06

从那之后NLP领域的预训练模型就有着越做越大的趋势。各家都开始搞大的预训练模型。

这种机器学习,它主要就拼两件事,一个是模型另一个是参数量。模型定义了机器怎么学习,参数量就需要大量的计算,说白了就是要砸钱。OpenAI对自己的模型是非常有信心的,那下一步就需要钱!每进步一点都需要上升一个数量级的数据去支撑,这些都是需要真金白银去支持的。迫于资金压力,OpenAI在2019年从非盈利组织转成了一个叫收益封顶的盈利组织。就是说任何投资人的投资回报都不能超过100倍,超过100倍的部分投资人就拿不到回报了,就都归OpenAI自己了。这时候微软出手了,注资10亿美元。

所以微软就得到了OpenAI的技术和团队,当然这样的话那OpenAI的研究成果也就别想再公开了

从Eliza到ChatGPT,对话系统发展简史✨_机器学习_07

技术方面已经有了非常强的突破了,万事俱备,只差人和钱。这时ChatGPT登场

ChatGPT

从Eliza到ChatGPT,对话系统发展简史✨_机器学习_08

这个ChatGPT诞生的整个流程:

  1. 收集数据并进行有监督训练。
    数据标注人员提供有关输入提示分布上所需行为的对话,然后,使用有监督学习在此数据上微调预训练的 GPT-3 模型。我们将其称为GPT3.5。
  2. 收集比较数据并训练奖励建模。
    收集一组模型输出之间的比较数据,其中标注人员指出他们更喜欢给定输入的哪个输出。然后,训练一个奖励模型来预测人类首选输出。

奖励建模(RM)。从删除最后一个 unembedding 层的 SFT 模型开始,我们训练一个模型,输入一个提示和回答,输出一个标量奖励。

  1. 强化学习。
    使用PPO在环境中对有监督的微调之后的模型继续进行微调。环境是一个bandit环境,它会呈现一个随机的用户提示,模型要对提示文本进行响应。给定提示和回答,它生成由奖励模型确定的奖励并结束该episode。此外,在每个token处添加来自有监督的微调模型的KL惩罚,以减轻奖励模型的过度优化。价值函数从奖励初始化。我们将这些模型称为“PPO”。

ChatGPT之所以好用就是因为第三步这个人工反馈的强化学习。因为OpenAI后面在训练ChatGPT的时候遇到一个问题,就是它在训练的时候没有一个非常好的反馈机制,就是没有人告诉它你答成什么样是对的什么样是不对的。为了解决这个问题,OpenAI就在训练的时候加入了一个人工反馈的机制,就是你跟我聊天,我告诉你你聊的好还是不好。

加入了这个人工反馈的强化学习之后,它不管是训练的效率还是效果都得到了大大的提升,2022年3月推出了GPT-3.5,之后呢又对对话进行了优化,在2022年11月就推出了ChatGPT,就是我们文章开头看到的那家伙。

ChatGPT的出现确确实实已经颠覆了大多人对聊天机器人的认知,所以在短短的两个月内,ChatGPT的月活跃就突破了一亿人,扩张速度肯定是史上最快,各种数据怎么吹都不为过。

最后再聊聊大家问的最多的一个问题,这个东西发展的这么快,它会不会导致很多人失业呢?它会导致谁失业呢?

就这种技术革新它永远都是一把双刃剑,它可能会创造出来更多的工作,就失业率也不一定降,但是短期内,它肯定会导致一部分人失业。那如何尽可能的不让自己失业呢?

  1. 尽量避免一些重复性或者套路性的工作
  2. cv工程师
  3. 基本的财务报告、设计、法律建议

从Eliza到ChatGPT,对话系统发展简史✨_机器学习_09

标签:Transformer,训练,Eliza,简史,OpenAI,GPT,ChatGPT,模型
From: https://blog.51cto.com/u_15912411/6142083

相关文章

  • ChatGPT 何许人也
    有时候会想,如果chatGPT是人,它会是一个怎样的人呢?下面是我的推测过程。首先,她应该是女人会推测而不会计算你问它:3457*43216=,它回答149261912(这是错的。正确结果是......
  • chatGPT充当前端智能思路助手
    替代:百度、谷歌人工搜索1、我想让你充当前端开发专家。我将提供一些关于Js、Node等前端代码问题的具体信息,而你的工作就是想出为我解决问题的策略。这可能包括建议代码、......
  • 2023/3/21 组会:ChatGPT 对数据增强的影响及 ChatGPT 的鲁棒性,Dense 和 Document 检索
    前两个也许跟上了,后两个完全没跟上,以后再详细读读吧qwq反正组会跟不上才是正常现象。AugGPT:LeveragingChatGPTforTextDataAugmentation摘要、引言、相关工作当......
  • 使用 ChatGPT 模型实现 JavaScript 加密解密技术
    以下是一个使用ChatGPT模型实现混淆加密解密的案例代码。该代码使用JavaScript编写,并且使用了TensorFlow.js库来加载和执行ChatGPT模型。代码的目的是将输入的文本......
  • ChatGPT|一文读懂GPT-4!
    前言大家好,今天早上一早醒来,发现各大科技圈公众号平台开始刷屏OpenAI发布的新模型GPT4.0,看这个版本号就已经知道又是一大波特性的更新。于是立马起来开始学习!GPT-4......
  • 如何使用ChatGPT玩游戏
    如果您正在寻找一种有趣且引人入胜的方式来消磨时间,那么绝对应该查看ChatGPT。您只需使用这个OpenAI平台与机器人聊天,就可以玩很多游戏。我们将介绍您可以使用的十大......
  • OpenStack使用ISO镜像安装虚拟机制作镜像模板(本文底稿原创,由ChatGPT润色)
    在OpenStack云平台中,使用ISO镜像安装虚拟机是非常常见的一种方式。本文将介绍如何在OpenStack中使用ISO镜像创建一个虚拟机,并将其制作成模板。第一步,我们需要将ISO镜像上......
  • springboot 接入 ChatGPT
    介绍lucy-chat是接入OpenAI-ChatGPT大模型人工智能的Java解决方案,大模型人工智能的发展是不可阻挡的趋势,我们环境无法创造工具,但是也要更好的使用工具,该包简化了接......
  • 如何使用ChatGPT赚钱之四
    目前网络上最热门的话题之一是如何使用ChatGPT赚钱。我们的文章讨论了使用AI工具赚钱的13种简单方法。我们将提供一些实际示例,说明如何从AI获得您想要的东西。由Elo......
  • 如何使用ChatGPT赚钱之三
    所有人正在谈论ChatGPT,OpenAI的“GPT”聊天机器人。它目前是免费使用的,可以尝试一下。但是你真的能帮助人们并通过ChatGPT赚钱吗?下面我将分享我如何使用它来赚钱并提供......