第一章 第4节 提过一句:模型处理的单位不是「词」,而是 token。
这个词在后面会反复出现:上下文窗口按 token 算,用量按 token 算,账单也按 token 算。这一节把它讲清楚。
[个人思考:这两篇文章写的不够好,但是可以参考视频来写,做成图文版本的]
一、token 是什么
模型不直接读文字,它先把文字切成一小块一小块,每一块对应一个编号,然后处理这串编号。这一小块,就是 token。负责切的那个程序,叫分词器(tokenizer)。
切法大致是这样的(不同模型的分词器不一样,下面只是示意):
| 原文 | 可能被切成 | token 数 |
|---|---|---|
hello |
hello |
1 |
unbelievable |
un / believ / able |
3 |
中国的首都是 |
中国 / 的 / 首都 / 是 |
4 左右 |
console.log |
console / . / log |
3 |
规律是:常见的词,一个 token 就能装下;少见的词、生僻字,会被拆成好几块。 代码里的符号、缩进、换行,也都要占 token。
