大模型的token究竟是啥?

像DeepSeek和GPT这样的大模型都有一个"刀法精湛"的小弟,叫分词器

当大模型接触到一段文字,会让分词器把它切成很多小块,这样切出来的小块就叫一个token

比如:我喜欢唱,跳,rap和篮球可能会被大模型分成这样:

我喜欢 唱 , 跳 , R ap 和 篮球

单个的汉字可能是一个token,两个汉字也可能是一个token,三个字构成的常见短语也可能是一个token,一个标点符也可能是一个token,大模型输出的时候也是一个token,一个token往外蹦的,所以看起来好像是在打字一样.

那咋分的啊?为什么?

快速念一下这几个字:

是不是没有认出来,或者愣了几秒才认出来,但是如果这鞋子出现在成语或者词语中你瞬间就可以念出来

犄角旮旯

媒妁之言

深圳

奢侈

邯郸学步

因为我们的答案在生活中喜欢把这些优先作为一个整体来对待,不到万不得已不会一个字一个字的扣

这就导致我们对词语很熟悉但是对于单个字却很陌生,大脑之所以要这样做是因为要节省脑力,比如今天天气不错,如果一个字一个字那么有六个部分,但是如果划分成常见有意义的词只需要三个部分:今天 天气 不错

从而提高效率,节省脑力,既然人脑可以这样做,那么人工智能也可以这样做,所以有了分词器,专门帮大模型把大段的文字拆解成一个个token,不同的分词器,它的分词方法和结果当然不一样,分的越合理,大模型处理就越轻松

这就好比餐厅里负责切菜的切配工,刀工越好,主厨做起来当然就会越省事,那分词器究竟如何分的词呢?

,其中一个方法大概是这样:分词器统计了大量文字以后,发现[苹果]经常一起出现,那么就会把他们打包成一个token,给她一个数字编号,然后丢到一个大的词汇表里,下次这样再看到苹果这两个字的时候,直接认出,经过大量的手机,分词器就可以得到一个庞大的token表,这样token(编号) ==> 大模型 ==> token(编号)

分词器会将文字符号转化为编号然后交给大模型处理,大模型处理完再由分词器将token编号转化为文字符号,这样一分工效率极高.

有这样一个网站: https://tiktokenizer.vercel.app/ ,你输出一段文字:他会告诉你有多少个token,编号是多少

所以,token就是大模型世界里面的一块块积木,大模型之所以能够理解和生成文字,就是靠计算这些token直接的关系,来推算下一个token最有可能是哪一个,这也就是为什么这么多大模型公司都是按照token来算钱,因为token的数量对应了背后的计算量,最后token这一次在人工智能领域之外的其他领域也有这个称呼,但是只是碰巧罢了.就好像"车模"有两个含义叭.