0

0

关于ChatGPT八个技术问题的猜想

王林

王林

发布时间:2023-04-11 16:46:03

|

908人浏览过

|

来源于51CTO.COM

转载

看到 ChatGPT 的华丽诞生,心情很复杂,既高兴、惊喜,也感到恐慌。高兴和惊喜的是没有预料到这么快就见证了自然语言处理(NLP)技术的重大突破,体验到通用技术的无限魅力。恐慌的是 ChatGPT 几乎可以高质量地完成 NLP 中的大多数任务,逐渐认识到很多 NLP 的研究方向遇到了极大挑战。

总体而言,ChatGPT 最令人非常惊艳的是它的通用性,相比于 GPT-3 需要通过设计非常精巧的提示来实现效果并不太好的各种 NLP 能力,ChatGPT 已经让用户感受不到提示的存在。

作为一个对话系统,ChatGPT 让用户自然提问便可实现从理解到生成的各种任务,而且性能在开放领域几乎都达到了当前最佳水平,很多任务超越了针对特定任务单独设计的模型,并且在代码编程领域表现卓越。

具体而言,自然语言理解能力(尤其是用户意图理解能力)十分突出,无论是问答、聊天、分类、摘要、翻译等任务,尽管回复不一定完全正确,但是几乎都能够领会用户意图,理解能力远超预期。

相比于理解能力,ChatGPT 的生成能力更加强大,可以针对各种问题生成具有一定逻辑且多样化的长文本。总的来说,ChatGPT 表现出的更多是惊艳,是通向 AGI 的初步阶段,一些技术瓶颈解决后会更加强大。

对于 ChatGPT 表现案例的总结已经非常多了,这里主要总结一下自己对 ChatGPT 技术问题的一些思考,算是与 ChatGPT 断断续续交互两个多月的一个简单总结。由于无法了解 ChatGPT 的具体实现技术和细节,所以几乎都是主观猜想,肯定有很多不对的地方,欢迎一起探讨。

1. ChatGPT 的通用性为何做得如此之好?

只要使用过 ChatGPT,我们就会发现它不是一个传统意义上的人机对话系统,实际是一个以自然语言为交互方式的通用语言处理平台。

2020 年的 GPT-3 虽然拥有了通用能力的雏形,但是需要精心设计提示语来触发相应功能,而 ChatGPT 允许用户采用非常自然的提问就可以准确识别意图完成各种功能。传统方法往往先进行用户意图识别,再针对不同意图调用相应功能的处理模块,例如通过用户数据识别出摘要或翻译意图,再调用文本摘要或机器翻译模型。

传统方法在开放域的意图识别准确率不够理想,而且不同功能模块各自为战无法共享信息,难以形成强大的 NLP 通用平台。ChatGPT 突破了各自为战的模式,不再区分不同功能,统一认为是对话过程中的一种特定需求。那么,ChatGPT 的通用性为何做得如此之好呢?一直在思考这个问题,由于没有条件实验证实,所以仅能猜想。

根据 Google 的 Instruction Tuning 研究工作 FLAN,当模型达到一定规模(e.g. 68B)且 Instruction 任务的类型达到一定数目(e.g. 40),模型就涌现出对新意图的识别能力。OpenAI 从其开放的 API 中收集了全球用户各种任务类型的对话数据,根据意图分类和标注,然后在 175B 参数 GPT-3.5 上进行 Instruction Tuning,自然就涌现出了通用的意图识别能力。

2. 为什么面向对话的微调没有遭遇灾难性遗忘问题?

灾难性遗忘问题一直是深度学习中的一个挑战,经常因为在某个任务上训练后就丧失了在其他任务上的性能。例如,一个 30 亿参数的基础模型,先在自动问答数据上进行微调,然后在多轮对话数据上进行微调,结果会发现模型的问答能力大幅度下降。ChatGPT 似乎不存在这个问题,其在基础模型 GPT-3.5 上进行了两次微调,第一次依据人工标注的对话数据进行微调,第二次根据人类反馈的强化学习进行微调,微调使用的数据很少,尤其是人类反馈的打分排序数据更少,微调后竟然仍然表现出强大的通用能力,而并没有完全过拟合到对话任务。

这是个非常有趣的现象,也是我们没有条件验证的现象。猜测可能有两方面的原因,一方面是 ChatGPT 使用的对话微调数据实际可能包含了非常全面的 NLP 各种任务,正如 InstructGPT 中对用户使用 API 的问题分类可以发现,很多都不是简单的对话,还有分类、问答、摘要、翻译、代码生成等等,因此,ChatGPT 实际是对若干任务同时进行了微调;另一方面,可能当基础模型足够大之后,在较小数据上的微调不会对模型产生很大影响,可能仅在基础模型参数空间非常小的邻域中优化,所以不会显著影响基础模型的通用能力。

3. ChatGPT 的大范围上下文连续对话能力是如何做到的?

使用 ChatGPT 时就会发现它一个让人十分惊讶的能力,即使和 ChatGPT 交互了十多轮,它仍然还记得第一轮的信息,而且能够根据用户意图比较准确地识别省略、指代等细粒度语言现象。这些对我们人来说似乎不算问题,但是在 NLP 的研究历史中,省略、指代等问题一直是一个难以逾越的挑战。此外,在传统对话系统中,对话轮次多了之后,话题的一致性难以保障。

但是,ChatGPT 几乎不存在这个问题,即使轮次再多,似乎都可以保持对话主题的一致性和专注度。猜测这个能力可能有三方面的来源。首先,高质量的多轮对话数据是基础和关键,正如 Google 的 LaMDA,OpenAI 也采用人工标注的方式构造了大量高质量多轮对话数据,在此之上进行的微调将会激发模型的多轮对话能力。

其次,基于人类反馈的强化学习因为提升了模型回复的拟人性,也会间接增强模型多轮对话的一致性能力。最后,模型对 8192 个语言单元(Token)的显式建模能力使其几乎可以记忆普通人一整天的对话数据,在一次对话交流中很难超出这个长度,因此,所有对话历史都已经被有效记忆,从而可以显著提升连续多轮对话的能力。

4. ChatGPT 的交互修正能力是如何炼成的?

交互修正能力是智能的一种高级体现,对我们来人说稀松平常的事情却是机器的痛点。在交流过程中,被指出问题后我们会立刻意识到问题所在并及时准确地修正相关信息。对于机器而言,意识到问题、识别问题范围并更正对应信息的每一步都不是一件容易的事情。ChatGPT 出现之前尚未看到过具有较强交互修正能力的通用模型。

与 ChatGPT 交互后就会发现,无论是用户更改自己之前的说法还是指出 ChatGPT 的回复中存在的问题,ChatGPT 都能够捕捉到修改意图,并准确识别出需要修改的部分,最后能够做出正确的修正。

目前为止,没有发现任何模型相关的因素与交互修正能力直接相关,也不相信 ChatGPT 具有实时学习的能力,一方面是重启对话后 ChatGPT 可能还会犯相同错误,另一方面是基础大模型的优化学习从来都是从高频数据中总结频繁模式,一次对话无论如何也难以更新基础模型。

相信更多的是基础语言大模型的一种历史信息处理技巧,不太确定的因素可能包括:

  1. OpenAI 人工构建的对话数据中包含一些交互修正的案例,微调后拥有了这样的能力;
  2. 人工反馈的强化学习使得模型输出更加符合人类偏好,从而在信息修正这类对话中表现得更加遵循人类的修正意图;
  3. 可能大模型达到一定规模(e.g. 60B)之后,原始训练数据中的交互修正案例就被学到了,模型交互修正的能力自然就涌现出来了。

5. ChatGPT 的逻辑推理能力是如何学到的?

当我们询问 ChatGPT 一些逻辑推理相关的问题时,它并不是直接给出答案,而是展示出详细的逻辑推理步骤,最后给出推理结果。虽然鸡兔同笼等很多案例表明 ChatGPT 并没有学会推理本质,而仅仅学会了推理的表面逻辑,但是展示的推理步骤和框架基本是正确的。

一个语言模型能够学习到基本的逻辑推理模式已经极大超越了预期,其推理能力溯源是非常有趣的一个问题。相关对比研究发现,当模型足够大,并且程序代码与文本数据混合训练时,程序代码的完整逻辑链就会迁移泛化到语言大模型,从而大模型就拥有了一定的推理能力。

这种推理能力的习得有点神奇,但是也能理解,可能代码注释是从逻辑代码到语言大模型推理能力迁移泛化的桥梁。多语言能力应该也是类似的道理。ChatGPT 的训练数据绝大部分是英文,中文数据占比极少,然而我们发现 ChatGPT 的中文能力虽然比不上英文,但是也非常强大。训练数据中的一些中英对照的平行数据可能就是英文能力迁移到中文能力的桥梁。

6. ChatGPT 是否针对不同下游任务采用不同的解码策略?

ChatGPT 有许多惊艳的表现,其中一个是它可以针对同一个问题生成多种不同的回复,显得很睿智。

比如,我们不满意 ChatGPT 的回答,可以点击 “重新生成” 按钮,它立刻会生成另一种回复,若还是不满意可以继续让其重新生成。这一点在 NLP 领域并不神秘,对于语言模型来说是它的一个基本能力,也就是采样解码。

一个文本片段的后面可能接不同的词语,语言模型会计算每个词语出现的概率,如果解码策略选择概率最大的词语输出,那么每次结果都是确定的,就无法生成多样性回复。如果按照词汇输出的概率分布进行采样,例如,“策略” 的概率是 0.5,“算法” 的概率是 0.3,然后采样解码输出 “策略” 的可能性就是 50%,输出 “算法” 的可能性就是 30%,从而保证了输出的多样性。因为采样过程是按照概率分布进行的,即使输出结果多样,但是每一次都是选择概率较大的结果,所以多种结果看起来都相对比较合理。对比不同类型的任务时,我们会发现 ChatGPT 的回复多样性针对不同下游任务差别比较大。

针对 “如何”、“为什么” 等 “How”、“Why” 型任务时,重新生成的回复与之前的回复无论是表达方式还是具体内容具有较大差异,针对机器翻译、数学应用题等 “What” 型任务时,不同回复之间的差异非常细微,有时几乎没有变化。如果都是依据概率分布的采样解码,为何不同回复之间的差异如此之小。

猜测一种理想情况可能是 “What” 型任务基础大模型学习到的概率分布非常尖锐(Sharp),例如学到的 “策略” 概率为 0.8,“算法” 概率为 0.1,所以大多数时候采样到相同的结果,也就是前面例子中 80% 的可能性都会采样到 “策略”;“How”、“Why” 型任务基础大模型学习到的概率分布比较平滑(Smooth),例如 “策略” 概率为 0.4,“算法” 概率为 0.3,所以不同时候可以采样到差异性较大的结果。

如果 ChatGPT 能够学习到任务相关的非常理想的概率分布,那确实非常厉害,基于采样的解码策略就可以适用于所有任务。通常,关于机器翻译、数学计算、事实性问答等答案比较确定或者 100% 确定的任务,一般采用基于贪婪解码,也就是每次输出概率最高的词语。如果希望输出相同语义的多样性输出,大多采用基于柱搜索的解码方法,但较少采用基于采样的解码策略。

从与 ChatGPT 的交互看,所有任务它似乎都采用了基于采样的解码方法,真是暴力美学。

7. ChatGPT 能否解决事实可靠性问题?

答案缺乏可靠性是目前 ChatGPT 面临的最大挑战。特别是针对事实性和知识性相关的问答,ChatGPT 有时候会一本正经地胡编乱造,生成虚假信息。即使让它给出来源和出处或者参考文献,ChatGPT 通常也会生成一个不存在的网址或者从未发表过的文献。

不过,ChatGPT 通常会给用户一种比较好的感觉,也就是很多事实和知识它似乎都知道。实际上,ChatGPT 就是一个语言大模型,语言大模型本质就是一种深度神经网络,深度神经网络本质就是一种统计模型,就是从高频数据中习得相关模式。很多常见的知识或事实,在训练数据中出现频率高,上下文之间的模式比较固定,预测的词语概率分布就比较尖锐,熵比较小,大模型容易记住,并在解码过程中输出正确的事实或知识。

但是,有很多事件和知识即使在非常庞大的训练数据中也很少出现,大模型便无法学习到相关模式,上下文之间的模式比较松散,词语预测的概率分布比较平滑,熵比较大,大模型在推理过程中容易产生不确定性的随机输出。

这是包括 ChatGPT 在内所有生成式模型的固有问题。如果仍然延续 GPT 系列架构,基础模型不做改变,从理论上讲是难以解决 ChatGPT 回复的事实可靠性问题。和搜索引擎的结合目前看是非常务实的一种方案,搜索引擎负责搜索可靠的事实信息来源,ChatGPT 负责总结和归纳。

如果希望 ChatGPT 解决事实回答的可靠性问题,可能需要进一步提升模型的拒识能力,也就是过滤掉模型确定无法回答的那些问题,同时还需要事实验证模块来验证 ChatGPT 回复的正确性。希望下一代 GPT 能够在这个问题上取得突破。

8. ChatGPT 能否实现实时信息的学习?

ChatGPT 的交互修正能力使得它看起来似乎拥有了实时的自主学习能力。

正如上述讨论,ChatGPT 可以依据用户提供的修改意图或者更正信息,立刻修正相关回复,表现出实时学习的能力。实则不然,学习能力体现的是学到的知识是普适的,可以运用在其他时间和其他场合,但是 ChatGPT 并没有展现出这个能力。ChatGPT 只是在当前的对话中能够根据用户反馈进行了修正,当我们重启一个对话,测试相同的问题时,ChatGPT 还会犯相同或类似的错误。

一个疑问是为何 ChatGPT 不将修改后正确的信息存储到模型中呢?这里有两方面的问题。首先,用户反馈的信息并不一定是正确的,有时候故意引导 ChatGPT 做出不合理的回答,只是因为 ChatGPT 在基于人类反馈的强化学习中加深了对用户的依赖程度,所以 ChatGPT 在同一个对话过程中会非常相信用户的反馈。其次,即使用户反馈的信息是正确的,但因为可能出现频率不高,基础大模型不能根据低频数据更新参数,否则大模型就会对某些长尾数据进行过拟合从而失去通用性。

所以,让 ChatGPT 实时进行学习非常困难,一种简单直观的方案就是每经过一段时间就利用新的数据微调 ChatGPT。或者采用触发机制,当多个用户提交相同或相似反馈时触发模型的参数更新,从而增强模型的动态学习能力。

本文作者张家俊是中国科学院自动化研究所研究员,原文链接:

​https://zhuanlan.zhihu.com/p/606478660​

无线网络修复工具(电脑wifi修复工具) 3.8.5官方版
无线网络修复工具(电脑wifi修复工具) 3.8.5官方版

无线网络修复工具是一款联想出品的小工具,旨在诊断并修复计算机的无线网络问题。它全面检查硬件故障、驱动程序错误、无线开关设置、连接设置和路由器配置。 该工具支持 Windows XP、Win7 和 Win10 系统。请注意,在运行该工具之前,应拔出电脑的网线,以确保准确诊断和修复。 使用此工具,用户可以轻松找出并解决 WiFi 问题,无需手动排查故障。它提供了一键式解决方案,即使对于非技术用户也易于使用。

下载

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6194

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

819

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1069

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1358

2024.03.01

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

411

2023.08.14

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

28

2026.01.27

ChatGPT注册
ChatGPT注册

ChatGPT注册方法:1、访问OpenAI的官方网站,进入注册页面;2、完成注册后收到一份邮件,打开后点击验证账号;3、选择一个适合您需求的订阅计划;4、获得访问ChatGPT的权限即可。

538

2023.09.12

国内免费ChatGPT大全
国内免费ChatGPT大全

ChatGPT是一种基于深度学习技术的自然语言处理模型,由OpenAI开发。它是GPT的一个变体,专门设计用于生成上下文相关的文本回复。ChatGPT被训练成一个聊天机器人,可以与用户进行对话交互。更多关于ChatGPT的文章详情请查看本专题,希望对大家能有所帮助。

585

2023.10.25

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

0

2026.01.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
10分钟--Midjourney创作自己的漫画
10分钟--Midjourney创作自己的漫画

共1课时 | 0.1万人学习

Midjourney 关键词系列整合
Midjourney 关键词系列整合

共13课时 | 0.9万人学习

AI绘画教程
AI绘画教程

共2课时 | 0.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号