前沿重器[31] | 理性聊聊ChatGPT

news/2024/3/29 4:11:34/文章来源:https://blog.csdn.net/baidu_25854831/article/details/128297101

前沿重器

栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经是20年的事了!)

2022年的文章合集,累积起来有60w字,在这:CS的陋室60w字原创算法经验分享-2022版。

往期回顾

  • 前沿重器[26] | 预训练模型的领域适配问题

  • 前沿重器[27] | 从遗忘问题到预训练轻量化微调

  • 前沿重器[28] | 前沿的向量召回都是怎么做的

  • 前沿重器[29] | ERNIE-Search:向交互式学习的表征式语义匹配代表作

  • 前沿重器[30] | 聊综述-预训练模型在信息检索中的应用

最近的ChatGPT可谓是非常火,但是目前看的信息来看都更像是一些外宣类的文章,对于一些技术的讲解和解读,却是比较少的,这对于在做技术的我们来说其实挺尴尬,为了让大家更好地理解这个模型,给大家讲一些ChatGPT的技术细节以及我的理解和分析,而不是看热闹就完了。

懒人目录:

  • 简单说说原理。

  • 有关里面的细节讨论。

  • 优点和缺点。

  • 他真就那么强吗?

简单说说原理

先叠甲,我本身不是做对话生成的,对这块比较陌生,再者对prompt也不是很擅长,所以聊的可能会有不对,大家轻喷。

说实话,现在知乎百度搜的内容,基本都是新闻和一些简述,很硬核的文章是真的难找,这里给大家一些推荐吧,这些事我看的比较好的材料,大家可以参考:

  • ChatGPT会取代搜索引擎吗?https://zhuanlan.zhihu.com/p/589533490,张俊林前辈的大作。

  • InstructGPT与Instruction Tuning: 管中窥豹ChatGPT,https://zhuanlan.zhihu.com/p/589734619。

  • ChatGPT内核:InstructGPT,基于反馈指令的PPO强化学习.https://zhuanlan.zhihu.com/p/589747432

  • ChatGPT/InstructGPT详解:https://zhuanlan.zhihu.com/p/590311003

剩下还有不少,我都会放在最后的参考里。

有这些资料,基本能够理解这个chatgpt的基本原理和技术点了。

这里我还是简单聊一下,主要思路是根据张俊林前辈的来会更好理解一些吧,主要是3个阶段。

  • 通过人工标注等方式,使用监督学习的模式对GPT3模型(对这个是chatGPT模型的base)进行初步训练(有监督微调,SFT),从而得到一个初步能够理解语言的模型,尤其是prompt的模式。

  • 训练回报模型,或者说打分模型,这是一个强化学习专用的概念(缺课的去补补哈),这个打分模型是用来给“提示-答案”这个组合打分的,使用的数据和阶段1类似,用模型生成的可选项,进行人工标注,最后构造pair wise的learning to rank任务训练得到。

  • 第三阶段则是使用强化学习,即阶段2的回报模型reward来对模型进行训练。模型生成结果,reward进行打分,然后reward能够往前传递,这里有提到一个概念就是PPO(Proximal Policy Optimization[5]),是强化学习的一种策略,详情可看(Proximal policy optimization algorithms)。

可见,2阶段的回报模型是3阶段优化的关键,当且仅当这个回报模型足够的好,后续训出来的模型才是可靠的。

有关里面细节的讨论

强化学习

首先是强化学习,这点其实是我自己比较想聊的,毕竟在知乎,就是不久前其实就有不少的声音在说强化学习并不适合在NLP任务上使用,但在这里,强化学习似乎存在一定的,甚至比较大程度的贡献,说打脸应该没什么毛病,至少这个实验验证来看还是能用的,至于用得好不好,比其他策略好还是差,可能有待进一步实验。

在部分观点看来,强化学习的贡献似乎不是一个关键因素[1],强化学习强调的是用这个回报函数构造强化学习来进行调优,然而换个看起来比较下位的策略,就是基于这个回报函数,构造训练数据来直接finetuning模型,可能也能取得更好的效果,其实本质是调整为更为朴素的反向传播,可能也能取得类似的效果。

没试验过,不好说结论,但好像多少是有些道理的,具体可能要做消融之类的才能够充分验证吧。

过度训练的偏移

在阶段3的训练过程中,可能会逐步偏离两个出发点的核心,分别是阶段1的有监督微调和阶段2的汇报模型背后的分布,对于前者,此处是对训练目标增加了一个通用的语言模型指标,一定程度保证模型的通用型,而后者,则是采用KL散度惩罚项的方式,惩罚那些模型生成的和汇报模型数据分布不一致的部分[4]。

有关数据集的问题

数据应该是这篇文章,乃至背后的内核InstructGPT,其成功很大程度依赖一个关键因素,那就是数据,这个数据构造里面也是大有说法。

首先是阶段1,即有监督学习的数据,其实是人工标注的,标注的内容是,根据内容编写prompt来得到的,具体包括以下几种情况:

  • 简单任务:标注者给出一个简单的提示,并且还要确保提示的多样性。

  • Few-shot任务:单个指示,有多个query-response对。

  • 用户相关的:从接口中获取用例(实际对话的例子),标注者通过用例编写提示。

而在阶段2,其实就是要训练一个可靠的回报函数,这批数据的产生来源是模型,模型会生成一批候选样本,标注者会对他们进行排序,这个排序的背后其实就是打分了。

阶段3没有进行人工标注,是直接用GPT-3API的用户数据,对应不同的任务的数据,包含生成、问答等。

我们可能会猜想数据和任务的设计可能会很复杂,然而现在看来,好像比想象要简单一些,标注任务其实是简单的,然而对标注人员的挑战其实不小,例如对prompt的编写。

有关优缺点的讨论

挺多文章都有聊过这套模型和方案的优缺点,我这里汇总一下吧,基本上是参考了[4]和[7]的,带了一些自己的见解。

首先是优点:

  • 相比他们的base,即GPT3,具有更强的泛化和生成能力,最终预测的结果会有更真实,这点毋庸置疑了,大家都有去试这个东西,多少有些感受。

  • 我想大家也有发现,模型似乎有更强的coding能力,对一些简单的任务,他是能生成可用可执行的代码的,这个点似乎在GPT3上也有体现,据说是因为本身这类数据也有在训练数据里。

有关安全性这点,有些文章会提到它的安全性有提升,但是在实际体验上,模型似乎还是会因为诱导,说一些妈见打或者是容易被封的言论的,这个特别指出,我自己是不太想把这个放在优点里吧。

至于缺点,其实还挺多的,这有待各位大神进一步深入研究。

  • 首先还是大模型的问题,这个是大模型共有的问题,长期关注我的朋友都有发现,这个问题仍然是大问题,要解。相似相关的论点其实在车万翔老师的文章里也有提到[7],这其实会衍生很多问题,这点有时间我也会展开聊一下,此处先不赘述。

  • 在通用任务上的能力会下降。这个可能是意料之中的事,毕竟他把任务专注到了特定的内容上了,别的领域或者任务就可能会出现效果下降的情况,前面有提到在损失函数上加上惩罚,这个能一定程度上有优化吧,但这其实还是专注任务和通用性之间的权衡罢了。

  • 安全性问题仍旧存在,这点还是不好控制。

  • 模型对prompt的过度敏感,这个可能和数据量有关吧,这个本身人工标注生成就有限,模型的训练只能依赖这个,很难避免,后续更好的方式还有待提出吧。

  • 对长结果、详细结果的倾向性。

  • 生成模型老生常谈的“一本正经的胡说八道”的问题,这个背后的原因很大程度和知识的原因有关,毕竟模型现在已经具备输出流畅结果的能力了,但和诺问题和知识挂钩,例如鲁迅的生卒年之类的问题,如果接触不到,自然就回答不了或者回答不对,此时模型会很直接的随便写个时间了。

  • 这里其实人工标注的依赖比较明显,毕竟其实NLP场景,尤其是对话系统,其实很少有什么好的用户反馈路径,导致我们无法闭环获取可供训练的可靠数据。类似搜索、推荐可能还有点击数据,偶尔可能会吐槽一下数据质量问题,但是对话系统,很多时候是真的没有。

他真有那么强吗

鉴于现在全网在吹,各种热度(em...包括我也在蹭),但是我还是想泼点冷水吧。我分几个角度来聊。

这只是一次模型的外宣罢了

GPT其实吃过一次亏的,众所周知,GPT其实发布在BERT之前,BERT却取得了很大的热度,与之类似的还有ELMO这种里程碑式的技术被淹没,正面的例子也有prompt之前无人问,在综述出来后天下知,除了本身的效果原因,很大程度原因我自己更希望归结于一个优秀的外宣,其内核InstructGPT的发布时间是3月份,很多博客的原理解读其实都是围绕这篇论文来讲的,然而却在12月份火了起来,很大程度上和这个API接口的发布有关,他被搭建成一个可供用户交互的产品被发布出来,用的人多觉得有趣,而且很多人其实对这个领域不了解,用这个感觉很流畅就开始觉得很厉害了。

很多人可能试了几个就觉得牛,但其实本质上牛的点可能不见得是InstructGPT牛导致的:

  • 流畅性这点,生成领域的不多说,现有技术基本能达到,差距可能只有在大的数据集下用统计指标测才可以分出高下。

  • 试了几个就说牛,只能说是比较外行了。。。抛开统计指标谈效果没什么意义对吧。

  • 有关coding的问题,考据到GPT3似乎就已经一定程度具备了,只是大家没有试罢了,具体效果不知道多好就不知道了。

所以我首先想说的,这个东西之所以火,很大程度是因为这次成功的产品化和成功的外宣,当然,背后的技术也撑得起这次的外宣,从而形成了团队、模型、产品的多方面成功。而作为技术人而言,也可能不只是技术人,想做的更有深度的话,在尝试完之后就该开始思考内部的技术细节以及我们能不能逼近和超越或者在他们基础上做一些什么别的事情。

再叠个甲,我没说技术不行,但是只把火或者是出头归结于技术,是肯定局限了的。

闭环问题

rumor最近发了一篇有关ChatGPT的闭环问题的文章(只有我一个人对ChatGPT感到蕉绿吗?),诚然对话系统的一个很痛的问题,就是闭环问题,对话系统在很多场景是真的没法闭环,哪怕是一些客服系统有“满意or不满意”之类的让用户填的东西,但是用户多半不填,量太少撑不住,所以归结起来我们很难得到闭环数据,先别说质量问题了。

然而ChatGPT做到了吗,我的观点是,前进了一步但是还不算做到。前进一步,是真的在用了生成,结合回报函数来进行迭代优化,但未算做到是因为他仍旧依赖了人工标注数据,这个数量可能在这个问题下比较少,但是泛用性约束在此,而且是在比较关键的1和2阶段,而且还不只是标注那么简单,而是去写prompt,这对标注人员能力要求似乎还更高了,再者,他这只是针对一个任务,而在多任务下,通用任务下,他的效果其实反而有所降低,这点其实在前面的文章里有提到。

也可能是我对闭环的要求比较高吧,一个反馈信息可以盘活整个系统,但是偏偏这个反馈,对话系统还是无法从根本上绕开标注这个用来做反馈优化的步骤。

端到端or非端到端

工业界会更倾向于非端到端的模式来做,原因很多,这个我最近的文章正好就在聊这个(心法利器[78] | 端到端任务的拆解设计),主要是出于可控性、可维护性、安全性等原因吧,例如chatapi因为很多原因,大家对安全性的容忍度很高,但是到了很多实际产品中,安全性的问题可以被上升到很大程度,所以一定需要加以控制,而这种控制模型不见得能做得很好,所以很多时候我们会搭建一个生成模块后,会辅以一个安全模块来监控。

一本正经的胡说八道

这个问题其实是生成领域里经常谈到的问题了,对于一些模型不知道的知识,模型在回答策略上更倾向于说一些通顺但逻辑上不对的话,不像人有更为丰富的对话策略(例如搪塞、反问或者直接拒绝回答),这里有好多衍生点:

  • 让模型尽可能可以多获取或者多学习丰富的知识,但是学无止境,现阶段技术可能无法做得到。

  • 模型可能需要具备更新知识的能力。

  • 模型需要有意识地识别出什么问题能回答,回答的对不对等,其实有这个意识就已经是一个大突破了。

  • 生成模型在对话策略的选择上,可以更为丰富,这点其实也是为什么非端到端的形式能成为主流的原因,因为策略上是可控的。

chatGPT会有替代传统搜索吗

我觉得要分开看,这要把他区分为把chatgpt当做产品看,还是当做技术看。

如果是当做产品看,这个产品无疑是替代不了搜索的,一个很简单的道理,搜索需要多样性,这给一个答案的样子,很难满足很多多样化的搜索需求。这个本质更像是一个对话产品,一个功能相对丰富但是形态比较简单的对话产品,他只有文本回复,而没有更加多模态的回复(当然期待一手GPT4能做更多事情了),例如商品搜索、音乐搜索,这些事目前的他也做不到,所以说替代真的为时尚早。

至于当做技术来看,我自己是觉得,会成为一种比较新颖的方式吧,在一些问答之类的场景下,他能给出精准而又详细的回复,是可以当做是检索结果之一的,最终的筛选排序,可以进行综合判断,例如置信度高才出来,否则不出,其实也是不错的。而更深层次,这里的数据处理方式、训练策略等,这些东西可能会被借鉴,最终用在搜索里吧。

chatGPT会替代程序员吗

不会吧不会吧,不会真有人觉得程序员的工作只有写代码吧。

按照我的经验,对于一个熟练的程序员,写代码本身其实是时间最少也是最后的工作,难点在于,要写什么代码,写在哪以及怎么写,这也就是前期的技术方案确定,这件事对目前的AI来说还太难了,他可能可以帮你实现一个冒泡排序,但是他绝对不能告诉你该在哪里写,为什么要写。

对于现在的AI,顶多只是个生成器罢了,而且,最近也有消息流出Stack Overflow禁止 ChatGPT,上面说的一本正经的胡说八道的问题在程序员这个领域会被放大的,因为他说的话我们也无法完全判别对错,只有去尝试才会知道,踩坑了就真的坑。

怎么说呢,我们手里有技术,不该把这事当做一个危机,而应该是一个机会吧。

参考

[1] ChatGPT会取代搜索引擎吗?https://zhuanlan.zhihu.com/p/589533490
[2] InstructGPT与Instruction Tuning: 管中窥豹ChatGPT,https://zhuanlan.zhihu.com/p/589734619
[3] ChatGPT内核:InstructGPT,基于反馈指令的PPO强化学习.https://zhuanlan.zhihu.com/p/589747432
[4] ChatGPT/InstructGPT详解:https://zhuanlan.zhihu.com/p/590311003
[5] Proximal policy optimization algorithms
[6] 哈工大车万翔:自然语言处理范式正在变迁:https://mp.weixin.qq.com/s/FoY888g9nv5mw2kz4IWY5A
[7] 只有我一个人对ChatGPT感到蕉绿吗?https://mp.weixin.qq.com/s/vKiy2zEPWa9FL4BFJpUgcQ
[8] Training language models to follow instructions with human feedback:https://arxiv.org/abs/2203.02155

b516f7e4bd463d54fec34dc524ec9243.png

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

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

相关文章

最强的数据增强--ChatGPT?

在许多自然语言处理(NLP)任务中,文本数据增强是克服样本量有限挑战的有效策略。 目前的文本数据增强方法要么不能保证生成数据的正确标记(缺乏可信度),要么不能保证生成数据的足够多样性(缺乏完整性),要么两者兼有。 ChatGPT在具有无与伦比…

chatgpt_academic学术优化(配置使用教学-保姆级)

一、Anaconda 下载及安装 1.官网下载链接 :www.anaconda.com/ 2.安装 (1)下载完成后,双击exe进行安装 (2)安装完成后,点击Anaconda Navigator,然后点击 CMD.exe Prompt &#xff0…

未来以来,可能是最好ChatGPT学习社群来了!

最近ChatGPT大火,但是大部分人都停留在入门级阶段。但有一点是毫无疑问的,ChatGPT带动的这波浪潮将会彻底改变我们的生活。我最近也一直在研究如何将ChatGPT与大数据结合起来,有进展会与大家分享。今天分享的这个社群也是自己抱有极高期望&am…

用ChatGPT创建虚拟小镇,或许《西部世界》已经成为现实

我们也许真的可以创造一个世界! 你们有没有想过有一天电影《西部世界》可能成为现实,又或许它已经成为现实了。当我们以后玩的游戏不在是程序员的精心设计,而是它们自己的“情绪变化”,那这个世界又会是怎样?可能有一天…

手把手教你使用Python调用 ChatGPT!我不容许你还不知道这么好的东西!

前段时间OpenAI 开放了两个新模型的api接口,专门为聊天而生的 gpt-3.5-turbo 和 gpt-3.5-turbo-0301。 ChatGPT is powered by gpt-3.5-turbo, OpenAI’s most advanced language model. 从上面这句话,我们可以知道现在 chat.openai.com 官网就是由 gpt-…

ChatGPT是如何教你视频去重的

​ 对于很多自媒体和视频剪辑从业者来说,视频去重是家常便饭了,去重有各种各样的方法和教程,但到底平台是如何识别去重的,哪些去重有效,又该选择怎样的去重方式,小编今天为替大家问了问万能的chatgpt&…

Alpaca-Lora (羊驼-Lora): 轻量级 ChatGPT 的开源实现(对标 Standford Alpaca)

Alpaca-Lora (羊驼-Lora): 轻量级 ChatGPT 的开源实现(对标 Standford Alpaca) 文章目录Alpaca-Lora (羊驼-Lora): 轻量级 ChatGPT 的开源实现(对标 Standford Alpaca)总览前言(与正文可能无关,可以忽略&am…

教你体验目前最火AI - 在craft AI assistant 使用chatGPT

atGPT大火之后,很多人都想体验一把,今天为大家推荐一种免费方式,体验chatGPT同款内核的AI助手。 craft AI assistant Craft 推出的 AI 助手产品 Craft AI Assistant,并且现在就可以使用。根据 Craft 官方介绍,Craft …

ChatGPT非常火,我用它自动编写Python爬虫脚本。结果出乎意料。

前言 都知道最近ChatGPT聊天机器人爆火,我也想方设法注册了账号,据说后面要收费了。 ChatGPT是一种基于大语言模型的生成式AI,换句话说它可以自动生成类似人类语言的文本,把梳理好的有逻辑的答案呈现在你面前,这完全不…

浅谈chatGPT——新必应(bing)版本

年前chatGPT大火的时候,跟风注册了一个账号,在信息检索方面第一直觉就是:这才是我想要的搜索引擎,没有广告,搜索结果总结的很全面到位。然没高兴几天,就发现使用不了了。无论科学上网也好,还是卸…

ChatGPT:从问题解答到赚钱

文 / 韩彬我们往前翻动一下互联网的记忆,不用太久远,停留在2017-2018年就可以了,当时全网讨论最火热的词语叫“娱乐至死”,研究最深的话题叫“阶级跃迁”,批评最多的是某款手游、某短视频平台,说它们杀死了…

十分钟学会QQ集成ChatGPT

前言与环境准备 QQ里面的机器人已经火了很久了,但是每次都是使用的别人的机器人,所以就想看一下网上有没有可以自己实现一个机器人的,查了一些文章然后就发现了chatgpt-mirai-qq-bot,所以就做了一个属于自己的QQ机器人&#xff0…

ChatGPT的主要应用场景例子

ChatGPT是一种基于深度学习技术的大型语言模型,它可以根据用户提供的输入信息,生成自然语言文本或响应。这种技术可以应用于很多领域,下面将详细介绍ChatGPT在以下几个方面的应用:以下是使用过程中的一些应用场景对话记录&#xf…

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

作者:张家俊教授单位:中国科学院自动化研究所原文:https://zhuanlan.zhihu.com/p/606478660看到ChatGPT的华丽诞生,心情很复杂,既高兴、惊喜,也感到恐慌,高兴和惊喜的是没有预料到这么快就见证了…

【IDEA集成ChatGPT,开发事半功倍,插件分享】

最近经常在用chatgpt协助编码,一些明确功能的方法或者小需求几乎可以完全依靠chatgpt来完成,发现一个idea中好用的插件,分享下 插件名称就叫ChatGPT,安装后需要一些配置,详细说明如下 1. 使用作者搭建好的代理服务器访问GPT 安装后找到设置Tools -> OpenAI 如图,选择Ope…

中科院ChatGPT Academic开源安装使用过程中的网络代理问题

关于中科院ChatGPT Academic中小白会遇到的问题(windows版)ChatGPT Academic 的项目开源下载安装(这里主要以windows为主)接下来就是大家会经常遇到问题的地方(网络配置和API的输入)这里就是针对小白的与代…

从ChatGPT到ChatCAD:基于大型语言模型的医学图像交互式计算机辅助诊断

基本信息 1. 标题:ChatCAD: Interactive Computer-Aided Diagnosis on Medical Image using Large Language Models. 2. 期刊:arXiv 3. IF/JCR/分区:无 4. DOI:arXiv:2302.07257 5. 作者:沈定刚教授团队 1. 导读…

国内首个ChatGPT镜像系统?辅助写代码真方便

hatGPT 美国OpenAI研发的聊天机器人程序,于2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚…

ChatGPT专业应用:生成新闻稿

正文共 949 字,阅读大约需要 4 分钟 媒体工作者必备技巧,您将在4分钟后获得以下超能力: 生成新闻稿 Beezy评级 :A级 *经过寻找和一段时间的学习,一部分人能掌握。主要提升效率并增强自身技能。 推荐人 | Kim 编辑者…

一点就通——ChatGPT翻译润色的最新简明使用方案

prompt使用推荐 1.翻译prompt 翻译主要有两种,第一种是我们的老朋友厦门大学潘王雨昂(个人主页:pwya.github.io)所编写使用的prompt,第二种是我自己改造的。 1.我希望你能担任英语翻译、拼写校对和修辞改进的角色。…