猜下一个词的机器,LLM
大型语言模型,简称 LLM。它会写文章、会翻译,还能帮你写代码,简直像魔法吧? 可往里一看,却出乎意料地简单。LLM 做的事其实只有一件。它看着前面出现的词,猜出下一个该来的词。把这些猜测一个词一个词地接起来,就成了长句子,成了答案。真的就这些吗? 我们一起来看看。
猜下一个该来的词
想想用手机打字的时候。
你敲一个词,键盘
就悄悄提示下一个可能来的词。
LLM 其实做的就是这件事。
只是它做得好得惊人。
它把前面出现的词通读一遍,
挑出下一个最像样的词。
接上那一个词,
再挑出再下一个词。
点词来接着写句子。每点一次,下一个词的候选就带着概率出现。一个词一个词地接,句子就长起来。
神奇吧。
明明只是挑了下一个词,
转眼就成了说得通的句子。
秘诀在每个候选旁边的数字。
那个数字就是概率。
它是一个分数,表示某个词
接下来出现的可能性有多大。
LLM 从中挑出高的那个词。
概率到底是什么,下面来看。
凭概率挑一个
概率并不难。
对每一个可能来的词,
它都打个分,说有多像样。
分越高,就越像样。
比如天空很晴朗后面,
刺眼这样的词分就高,
漆黑分就低。
LLM 通常挑分高的那个词。
再把挑中的词接到句子上。
在每一步,点概率最高的词把它选出来。选中的词加进句子,再到下一步去选。候选是预先定好的,所以每次点都一样。
每挑一个词,
句子就长一格。
然后它再读一遍变长的句子,
重新给出下一个词的候选。
挑、接、再挑。
把这个小动作反复无数遍,
就成了段落,成了长长的答案。
LLM 写东西不是整段冒出来的,
而是像这样一步一步垒起来的。
看着前文就变了
可下一个词的概率不是固定的。
看前面来了什么词,
转眼之间就大不一样。
我饿了后面,吃的话题,
船到港口后面,大海的话题
就变得像样了。
同样是船这个词,前文不同,
下一个词就完全变了。
这种挑着看前文的本事,就是注意力。
点一下换掉前面的词。哪怕在同一个位置,前文一变,下一个词的概率条就整个洗了牌。这说明注意力在回看前文。
只换了前面一个词,
下一个词的概率就整个翻了过来。
LLM 显得聪明的秘诀就在这儿。
它通览整段前文,
挑出贴合当下情形的下一个词。
所以同样的问题,
看你先铺了什么样的语境,
答案会大不相同。
把语境读好,其实就是本事。
一件事里长出多种本事
这里发生了惊人的事。
我们只是让它善于猜下一个词,
没人要求的本事却跟着来了。
长文之后接摘要的走向,
它就像样地续写出摘要句;
中文之后接英文的走向,
它就续写出译文;
题目之后接代码的走向,
它连写代码都办得到。
这种自己冒出来的本事,就叫涌现。
点一下切换本事。摘要、翻译、写代码,全都出自同一个猜下一个词。只是前面铺的走向不同,机器干的活只有一件。
只换了按钮,活儿看着就不一样了吧。
可往里一看,全都一样。
看前面的走向,猜下一个词。
用海量文字把这一件事磨好,
好几种本事就像赠品一样跟来了。
不过有一点务必记住。
LLM 并不知道真相,
它只是挑出最像样的下一个词。
所以它会一脸笃定地出错。
来理一理
归成一句话,是这样。
LLM 看着前面的语境,
用概率猜下一个词。
给每个候选打分,挑出高的,
一个词一个词地接,造出长文。
前面的词一变,概率也跟着变,
这样挑着回看前文,就是注意力。
把这一件事做好,
摘要、翻译、写代码就涌现了出来。
只是别忘了,它挑的是像样,不是真相。
依次点要点回顾一下。(猜下一个词 -> 凭概率一个词一个词地接 -> 看前文就变,注意力 -> 多种本事涌现)
现在你看清 LLM 到底是什么了吧。
不是魔法,而是用概率
猜下一个词的机器。
把一件简单的事做到极大的规模,
意想不到的本事就开花了。
其实,现在正和你聊天的
我这样的模型,就是这样一台机器。
可只顾追着像样跑,
它有时会一脸笃定地出错。
下回咱们接着看这些局限和责任。