ChatGPT是什么? ChatGPT是OpenAI于2022年11月30日发布的一款强大、好玩、支持人机交互、基于生成式语言模型的人工智能对话系统,当你向ChatGPT输入一段文字,它会返回较完整有条理的回答。 OpenAI只提供了描述ChatGPT的blog,并无对应的论文与源码,但官方提供 ChatGPT 的blog摘要中提到其兄弟 InstructGPT 模型,如下摘要截图所示 而 InstructGPT 有论文可参考(见附录),可通过 InstructGPT 的原理一窥ChatGPT“修炼”方法,事实上,ChatGPT blog中方法描述与InstructGPT非常接近(~98%),如下(a)为 ChatGPT,(b)为 InstructGPT (a) ChatGPT (b) InstructGPT 以InstructGPT展开介绍,可能与真实ChatGPT有些出入,从严考虑,这里提供也仅是ChatGPT可能的炼成机制,以下通过浅显语言从以下四个阶段描述ChatGPT修炼过程。 第一阶段:学习文字接龙 ChatGPT在这个阶段对文字接龙的学习是不需要人工标注数据,可通过网络收集大量语料作为GPT学习材料,例如收集到'跟人类对话'语料,可学习到'跟'的后面接'人'、'跟人'后面接'类'、'跟人类'后面接'对'等,类似训练后,当输入一个不完整句子'你好'时,GPT把'美'做为一个可能的输出字。 可是'你好'后面可接词汇很多,例如'你好吗?'、'你好高'、'你好靓'等,因此GPT真实的输出是一个概率分布,从分布中随机抽取一个文字作为输出,导致GPT每次输出结果都不一样,当然概率较高的更容易被输出。 仅学会文字接龙都是很有用的,例如输入'台湾最高山是哪座?',GPT接龙输出'玉',再输入'台湾最高山是哪座?玉',GPT接龙输出'山',最终得到'玉山'这一正确答案。 但是,GPT在网络上学习了海量数据,不仅会遇到'台湾最高山是哪座?玉山',也会遇到'台湾最高山是哪座?(1)玉山 (2)天门山 (3)五指山'等各式各样句子,如下 这导致GPT实际中并没有那么好用,那么就需要人类老师去引导GPT产生有用的输出。 第二阶段:人类老师引导文字接龙方向 '台湾最高的山是哪座?玉山' '如何学习深度学习?学习深度学习可以按照以下步骤。。。' '请把这句话翻译为法文。。。' 第三阶段:模仿人类老师喜好 当GPT对'台湾最高的山是哪座?'输出'玉山'、'谁来告诉我'等不同答案时,第二阶段中人类老师提供的标准答案会告知GPT'玉山'这个答案最好,其对应输出概率大于其它答案。在第三阶段中,通过训练一个能输出分数的Teacher Model模型,当输入'台湾最高的山是哪座?玉山'输出分数大于'台湾最高的山是哪座?谁来告诉我呀',便起到模仿人类老师喜好的效果。 综合前面三个阶段,将GPT输出可能答案直接'喂给'已经训练好的Teacher Model模型,Teacher Model对不同答案打出不同的分数,这个分数就是强化学习中的'Reward',综合全流程,通过强化学习训练方式,调整参数,得到最大的Reward即可代表人类满意的回答。 ChatGPT不擅长回答一些没用、特殊、小众、关于未来等相关问题,这些问题在训练资料中几乎没出现过,在人类标准答案中一般也不具典型性,那么ChatGPT回答问题便会出错,如下 显然'is a sibling models to ...' 应该改为 ' is a sibling model to ...'。 总之,ChatGPT是一款非常非常优秀的用于人机对话的人工智系统,它的知识来自于对海量数据和人类偏好的学习,但偶尔也会遇到超出学习范围的问题导致回答出错,应当辨证使用该工具。 附录 https://chat./chat https://platform./overview https://www./watch?v=e0aKI2GGZNg https:///getNumber https:///pdf/2203.02155.pdf(InstructGPT 论文) https:///blog/chatgpt/ https://cdn./research-covers/language-unsupervised/language_understanding_paper.pdf(GPT论文) |
|
来自: mynotebook > 《待分类》