前几天,一个朋友问我:“大模型中的 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-4o、DeepSeek、LLaMA 等等。
我选的是 DeepSeek,我输入 “哈哈”,显示是一个 Token,编号是 11433:
“哈哈哈”,也是一个 Token,编号是 40886:
4个 “哈”,还是一个 Token,编号是 59327:
但是5个 “哈”,就变成了两个Token,编号分别是 11433, 40886:
说明大家平常用两个 “哈” 或者三个的更多。
再来,“一心一意” 是三个 Token。
“鸡蛋” 是一个 Token。
但是 “鸭蛋” 是两个 Token。
“关羽” 是一个 Token。
“张飞” 是两个 Token。
“孙悟空” 是一个 Token。
“沙悟净” 是三个 Token。
另外,正如前面提到的,不同模型的分词器可能会有不同的切分结果。比如,“苹果” 中的 “苹” 字,在 DeepSeek 中被拆分成两个 Token。
但是在 Qwen
模型里却是一个 Token。
所以回过头来看,Token 到底是什么?
它就是构建大模型世界的一块块积木。
大模型之所以能理解和生成文本,就是通过计算这些 Token 之间的关系,来预测下一个最可能出现的 Token。
这就是为什么几乎所有大模型公司都按照 Token 数量计费,因为 Token 数量直接对应背后的计算成本。
“Token” 这个词不仅用于人工智能领域,在其他领域也经常出现。其实,它们只是恰好都叫这个名字而已。
就像同样都是 “车模”,汽车模型和车展模特,虽然用词相同,但含义却截然不同。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。