大模型 Token 究竟是啥:图解大模型Token

人工智能
前几天,一个朋友问我:“大模型中的 Token 究竟是什么?”这确实是一个很有代表性的问题。许多人听说过 Token 这个概念,但未必真正理解它的作用和意义。思考之后,我决定写篇文章,详细解释这个话题。

前几天,一个朋友问我:“大模型中的 Token 究竟是什么?”

这确实是一个很有代表性的问题。许多人听说过 Token 这个概念,但未必真正理解它的作用和意义。思考之后,我决定写篇文章,详细解释这个话题。

图片图片

我说:像 DeepSeek 和 ChatGPT 这样的超大语言模型,都有一个“刀法精湛”的小弟——分词器(Tokenizer)

图片图片

大模型收到一段文字

图片图片

会让分词器把它切成很多个小块

图片图片

这切出来的每一个小块就叫做一个 Token

图片图片

比如这段话(我喜欢唱、跳、Rap和篮球),在大模型里可能会被切成这个样子。

图片图片

单个汉字,可能是一个 Token

图片图片

两个汉字构成的词语,也可能是一个 Token

图片图片

三个字构成的常见短语,也可能是一个 Token

图片图片

一个标点符号,也可能是一个 Token

图片图片

一个单词,或者是几个字母组成的一个词缀,也可能是一个 Token

图片图片

大模型在输出文字的时候,也是一个 Token 一个 Token 的往外蹦,所以看起来可能有点像在打字一样。

图片图片

朋友听完以后,好像更疑惑了:

图片图片

于是,我决定换一个方式,给他通俗解释一下。

大模型的Token究竟是啥,以及为什么会是这样。

首先,请大家快速读一下这几个字:

图片图片

是不是有点没有认出来,或者是需要愣两秒才可以认出来?

但是如果这些字出现在词语或者成语里,你瞬间就可以念出来。

图片图片

那之所以会这样,是因为我们的大脑在日常生活中喜欢把这些有含义的词语或者短语,优先作为一个整体来对待。

图片图片

不到万不得已,不会去一个字一个字的抠。

图片图片

这就导致我们对这些词语还挺熟悉单看这些字(旯妁圳侈邯)的时候,反而会觉得有点陌生

而大脑🧠之所以要这么做,是因为这样可以节省脑力,咱们的大脑还是非常懂得偷懒的。

图片图片

比如 “今天天气不错” 这句话,如果一个字一个字的去处理,一共需要有6个部分

图片图片

但是如果划分成3个常见有意义的词

图片图片

就只需要处理3个部分之间的关系,从而提高效率节省脑力

既然人脑可以这么做,那人工智能也可以这么做。

图片图片

所以就有了分词器,专门帮大模型把大段的文字,拆解成大小合适的一个个 Token

图片

不同的分词器,它的分词方法和结果不一样。

图片

分得越合理,大模型就越轻松。这就好比餐厅里负责切菜的切配工,它的刀功越好,主厨做起菜来当然就越省事。

图片

分词器究竟是怎么分的词呢?

其中一种方法大概是这样,分词器统计了大量文字以后,发现 “苹果” 这两个字,经常一起出现

图片图片

就把它们打包成一个 Token,给它一个数字编号,比如 19416

图片图片

然后丢到一个大的词汇表里。

图片图片

这样下次再看到 “苹果” 这两个字的时候,就可以直接认出这个组合就可以了。

然后它可能又发现 “鸡” 这个字经常出现,并且可以搭配不同的其他字

图片图片

于是它就把 “鸡” 这个字,打包成一个 Token,给它配一个数字编号,比如 76074

图片图片

并且丢到词汇表里。

图片图片

它又发现 “ing” 这三个字母经常一起出现

图片图片

于是又把 “ing” 这三个字母打包成一个 Token,给它配一个数字编号,比如 288

图片图片

并且收录到词汇表里。

图片图片

它又发现 “逗号” 经常出现。

图片图片

于是又把 “逗号” 也打包作为一个 Token,给它配一个数字编号,比如 14

图片图片

收录到词汇表里。

图片图片

经过大量统计收集,分词器就可以得到一个庞大的Token表

图片图片

可能有5万个10万个,甚至更多Token,可以囊括我们日常见到的各种符号等等。

图片图片

这样一来,大模型在输入输出的时候,都只需要面对一堆数字编号就可以了。

图片图片

再由分词器按照Token表,转换成人类可以看懂文字符号

图片图片

这样一分工,工作效率就非常高。

图片图片

有这么一个网站 Tiktokenizer:https://tiktokenizer.vercel.app

图片图片

输入一段话,它就可以告诉你,这段话是由几个Token构成的,分别是什么,以及这几个Token的编号分别是多少

图片图片

我来演示一下,这个网站有很多模型可以选择,像 GPT-4oDeepSeekLLaMA 等等。

图片图片

我选的是 DeepSeek,我输入 “哈哈”,显示是一个 Token,编号是 11433

图片图片

“哈哈哈”,也是一个 Token,编号是 40886

图片图片

4个 “哈”,还是一个 Token,编号是 59327

图片图片

但是5个 “哈”,就变成了两个Token,编号分别是 1143340886

图片图片

说明大家平常用两个 “哈” 或者三个的更多。

再来,“一心一意” 是三个 Token。

图片图片

“鸡蛋” 是一个 Token。

图片图片

但是 “鸭蛋” 是两个 Token。

图片图片

“关羽” 是一个 Token。

图片图片

“张飞” 是两个 Token。

图片图片

“孙悟空” 是一个 Token。

图片图片

“沙悟净” 是三个 Token。

图片图片

另外,正如前面提到的,不同模型的分词器可能会有不同的切分结果。比如,“苹果” 中的 “” 字,在 DeepSeek 中被拆分成两个 Token。

图片图片

但是在 Qwen 模型里却是一个 Token。

图片图片

所以回过头来看,Token 到底是什么?

它就是构建大模型世界的一块块积木。

图片图片

大模型之所以能理解和生成文本,就是通过计算这些 Token 之间的关系,来预测下一个最可能出现的 Token。

图片图片

这就是为什么几乎所有大模型公司都按照 Token 数量计费,因为 Token 数量直接对应背后的计算成本。

图片图片

Token” 这个词不仅用于人工智能领域,在其他领域也经常出现。其实,它们只是恰好都叫这个名字而已。图片

就像同样都是 “车模”汽车模型车展模特,虽然用词相同,但含义却截然不同

图片图片

FAQ

1. 苹为啥会是2个Token?

因为“苹” 字单独出现的概率太低,无法独立成为一个 Token。

2. 为什么张飞算两个 Token?

“张” 和 “飞” 一起出现的频率不够高,或者“ 张” 字和 “飞” 字的搭配不够稳定,经常与其他字组合,因此被拆分为两个 Token。

Token 在大模型方面最好的翻译是 '词元' 非常的信雅达。

责任编辑:武晓燕 来源: 程序员NEO
相关推荐

2024-10-18 14:43:31

2023-10-20 10:09:44

人工智能

2023-10-06 20:30:33

大模型LLMtoken

2020-06-11 09:18:34

动静分离架构架构设计开发

2023-11-01 09:50:09

大模型vivo

2014-08-05 09:43:59

超级手机病毒XXshengqi

2020-04-02 16:21:45

区块链比特币数字货币

2019-01-03 14:45:07

CPUMCUFPGA

2022-02-22 08:48:49

AgentClient主机

2009-08-04 17:27:18

Actor模型

2023-10-18 09:42:09

OpenAIGPU手机

2019-04-26 13:55:02

Istio微服务架构

2011-02-28 09:51:43

内省

2011-02-16 16:13:40

Debian

2019-08-27 08:36:34

HiveSpark数据库

2019-05-30 16:27:34

2025-02-25 14:07:25

2019-06-04 14:15:08

JavaScript V8前端

2019-07-22 15:29:53

JavaScriptGitHub语言

2010-08-24 09:19:59

点赞
收藏

51CTO技术栈公众号