现在一看到AI相关的文章,有个词总绕不开,它就是token,要么是谁谁谁说自己每天用了多少token,要么是各个模型厂商出的各种token plan。前两天还有朋友问我,什么是token。
咱也是现学现卖,在一年前,我刚开始玩AI,也不知道啥是token,其实从按量付费和实时计算的角度来说,我们可以简单粗暴的把token看成的流量,比如说我最近一个月用了80多亿的token,其实就相当于我用了80多G的流量,这样我们就能从实际场景理解它了。
那么,为什么要有token这样一个东西呢?
这就要回到大模型底层的原理来说,token翻译成中文一般叫词元,比如说一句话有几个词组成,每个词就是组成句子的最小单位。token其实就是输出内容的最小组成单位,比如说“什么是token”这句话,通常会被拆成三个token,分别是“什么”、“是”、“token”。
AI每次在输出的时候,其实就是预测下一个token是什么,也就是预测下一个词是啥,它得根据上下文来联想。
比如我们问它“中国的首都是哪?”
AI 不会一下子就想出北京这两个词,那么它会像成语接龙一样,一个一个词的往外去蹦。
它第一次预测,可能就是北字,第二次预测又在前一次的基础上,也就是在“中国的首都是北”,然后预测出了“京”,第三次预测,它认为这时候句子结束了,出现是“。”这种句号的概率最大,于是预测的是句号,这样连起来,就组成了“中国的首都是北京。”这样的回答,AI每秒都在做这样的猜词填空游戏,它只能一个词一个词处理,这就好比人吃牛排,得切成小块才能嚼。
那么问题来了,聪明的你可能会问,为什么非得拆成一个个token,直接处理整个句子不行吗?
AI的工作原理就是根据概率预测下一次,如果是整个句子,它很难进行匹配关联,比如说,中国的首都是北京,美国的首都是华盛顿,这两句话它很难直接关联起来,但把它拆成一个一个词,那么在向量空间里面,通过“首都”就能很好的关联上,一个是中国的首都,一个是美国的首都。
这就像拼图的卡扣,只能通过一个个token严丝合缝的对上,这就是token的底层意义,是AI建立世界知识的最小拼图。

