用大白话讲清楚,大模型里的Next Token Prediction究竟是什么?

写在最前

大家或许多少有所耳闻,如今大数据驱动的机器学习(尤其是基于神经网络的)模型,是需要经过「训练」得到的。

这个「训练」过程,通俗来讲很像是学生做题 ,而大模型(LLM)的训练更是分了好几个不同的阶段。

接下来用尽可能通俗的白话来介绍名为「预训练」的第一阶段。

NTP(Next Token Prediction)

先引入一个简单的概念:token

你可以暂时粗略地理解为中文里的下一个汉字,或英文里的下一个单词,值得注意的是标点符号也算在内。

而大模型的预训练阶段其实一直在重复着同一个任务,那就是在已知某个句子的前n个token的情况下,预测下一个token。

这也是为何这个训练任务被称之为「Next Token Prediction」(以下简称NTP)。

举个例子:

刘德华是香港著名的_

如果让我们来判断下一个token最适合填什么,比较常见的选择可能会是:「歌(手)」,「演(员)」,「艺(人)」等等。

假设填入的是「艺」,那么我们将得到:

刘德华是香港著名的艺_

这时候继续往下填的话,大概率会是「人」。

乍一看是不是很像在做完形填空题,没错,NTP其实就是一种特殊的「完形填空」。

特殊的「完形填空」

稍稍回忆下中学时做过的英语完形填空,大概是长这个样子的:

... The professor was very __ 8 __ and decided to study it further. ...

(8) A. glad B. surprised C. worried D. happy

我们根据空位的「上下文」(可能是所在句子、段落甚至整篇文章),从给定候选项中选择一个最恰当的答案。

而再回过头来看NTP任务的设定,其特殊就在于填空时我们总是只能看到「左边的上文」,也就是前面说了什么,而没有任何「下文」的约束。

此外也没有限定候选项,这个看似很小的差别却恰恰引发了巨大的变化,并且奠定了大模型多样化生成能力的基础。

首先,由于没有了下文和候选项的约束,预测结果的多样性会大大提高,哪怕是同一个上文也可以有多种 next token 的结果,有点像单选变多选的感觉。

其次,没有下文的束缚之后 ,next token的预测可以无止境地进行下去,只要每次将新预测的token和上文拼接起来做下一次预测即可。

这在专业术语里我们称之为「自回归」,这个特性其实并没有直接体现在训练中,而是在应用阶段,后文会再提到。

现在「出题方式」确定了,那么预训练的「题库」从何而来呢?

其实稍稍想想就会发现题目随处可得,因为一切文字的记录都可以生成 NTP 的「完形填空」。

只需要取一段文本并在任意位置截断,断点左侧作为上文,断点右侧第一个字作为答案,其余内容扔掉,我们就得到了一道填空题(训练数据):

哈利·波特是一部脍炙人口的魔幻小说系列作品,主角是一个名叫哈利·波特的年|巫师,他在11岁的时候才发现自己是巫师。

按照这样的方式,任何文本数据不论类型、语种,都能够生成大量的训练数据。

OpenAI几乎爬取了互联网上能够获取的全部文本语料,可想而知由此构建的「题库」是多么庞大。

刷,我刷,我刷刷刷

接下来,大模型就开始了漫长的「刷题」之路:预测对了得分,错了扣分。

(如果了解损失函数概念的话,就会知道上面这个加减分的比喻其实并不准确,这里纯粹是为了便于理解)。

随着模型预先初始化时的参数量不同,这个过程耗时几周到几个月不等(取决于硬件条件和数据量)。

完成之后,我们便得到了第一阶段训练的成果——一个具备了超强文本生成能力的基础大模型。

你可以把这个阶段的它认为是一个十分会「接话」的「话唠」,只要给出任意的上文,它都可以进行下一个token的预测。

而配合上面提到的「自回归」方法,理论上我们可以让它一直预测生成下去。

加上每次的预测它其实都可以给出多个最可能的next token,那么如果我们每轮都在多个候选的基础上继续,就可以发散出许多丰富多样的生成结果。

下面是一个直观的图示(画图太费劲,这里就偷懒从论文里扒了个英文的图来借用了🤣)。

量变引发的质变

巨量的「题库」是大模型生成能力习得的关键之一,另一个关键是模型的参数量(大家不妨简单地类比为脑神经元的数量)。

当这二者都具备一定的规模时模型才能涌现出卓越的能力,这也是大模型之「大」的由来。

至于这个现象的原因,就要涉及到大模型的「Scaling Law」理论,这里就不展开了,后面有机会再介绍。

今天的大模型小讲堂就到这里啦,觉得有收获的话,不妨点赞收藏加个关注吧,让更多的人能「秒懂AI」。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵懂AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值