「ChatGPT」爆火背后的大语言模型到底是什么?
坐马桶上就能看完的简单科普:
第一步:什么是transformer
看字面意思,搞翻译的,给你一个句子,提取关键信息((self-)attention),然后根据关键信息再生成一段文本.这不就是我们翻译干的活么?
第二步:什么是自回归模型
我们来做句子补充
某天导师对你大吼一声,小子,起来,还睡呢.给你一句话,小明走出了学校,_______补充后面的句子.
第一句,小明走出了学校,碰到了______. 好,补充了第一个词,下一个
第二句,小明走出了学校,碰到了小王,______. 好,补充了第二个词,下一个
第三句,小明走出了学校,碰到了小王,然后被小王_____. 好,补充了第三个词,下一个
第四句,小明走出了学校,碰到了小王,然后被小王狠狠打了一顿. 好,句子完整了
自回归模型就是这样,把上一个的输出作为下一个的输入,循环迭代,由此往复,那你可能会问了,那要如何补充呢?
和你写作文写诗歌一样,只要你看的文章足够足够的多,你自然能够自己也会写,正所谓“熟读唐诗三百首,不会作诗也会吟。”说的也就是这个道理,你看大家怎么写,你照着写不就行了.
第三步:什么是GPT模型
GPT(Generative Pre-Training) 预训练模型,本质上还是transformer.所以可以四舍五入一下:
GPT-1 非常大的transformer模型
GPT-2 非常非常大的transformer模型,划重点(zero-shot)
GPT-3 超级无敌大的transformer模型,划重点(one/few-shot)
shot是啥,说白点叫提示
比如说,
输入—-你走在大街上,突然被一个人甩了一巴掌,你怎么办?
提示—-揍他啊.
上面就是一个问题-答案的处理模板
下次通过语义类似的比对:
输入—你走在大街上,突然被一个人揍了一拳,你怎么办?
因为之前有了类似的提示,所以模型会输出—-当然是揍他啊.
如果我们收集无比多的方案,我们可能会得到下面的统计结果:
输出可选项
1.揍他啊.(80%的人选择)
2.忍了.(19%的人的选择)
3.给他100块钱(1%的人的选择)
为了让回答不是每次都是揍他啊,这会让我们的模型看上去有点傻,所以我们可以设置一个随机数,让模型的回答更像人,也就是说,大部分回答会揍他,小部分可能会忍了,油猫饼的情况会再给他100块钱.
当然,这个参数可以设置,比如:
temperature(越大回答越离谱)
top k,top p(为了封印模型自我放飞的灵魂,让回答不至于太离谱设置的参数)
第四步:啥是ChatGPT
基于GPT-3模型(砸了非常非常非常多马内收集了无比多样本集成了几乎夸张的参数量)制作的一款应用级语言对话模型,有多大呢,这么说,家里没矿,连训练的电费都付不起.
你可能会问了,就这?大力出奇迹?没别的了?
是的,毕竟机器学习的白皮书,又叫<<money is all you need>>