Token 与 Embedding:大模型理解语言的起点

前言

很多人刚开始接触大模型时,关注点都在对话、生成、推理这些"上层能力"上。但真正想要理解大模型是怎么工作的,有两个概念绕不过去:Token(分词)Embedding(嵌入向量)。它们是文本进入大模型的第一道门,也是模型"看懂"人类语言的基础。这篇文章从初学者的视角,把这两个概念讲清楚。

一、学习大模型,从哪里开始?

如果让我推荐一条学习路径,我会分成三层:

第一层:搞懂 AI 是什么。 先建立整体认知,不急着写代码。吴恩达的《AI For Everyone》《Generative AI For Everyone》系列课程很适合入门,用通俗的语言讲清楚 AI 能做什么、不能做什么。如果想深入原理,Karpathy(前 Tesla AI 总监、OpenAI GPT 核心作者)有一个三小时的大模型入门课程,把 Transformer、Attention 这些核心概念讲得非常透彻。

第二层:动手用起来。 把日常重复性工作交给 AI 处理。比如用 Cursor、Codex 辅助写代码,用 NotebookLM(Google 出品的 RAG 工具)做知识管理,用 Obsidian 搭建自己的第二大脑。在用的过程中,你会自然产生"它到底是怎么做到的"这种好奇心。

第三层:做一个完整的作品。 用 Vibe Coding 的方式做一个网站、小程序,或者开发一个 Agent。把知识用起来,才是真正学到了。

二、Token:大模型计价的"最小单位"

大模型处理文本,不是按字、按词来算的,而是按 Token

你可能听过这样的说法:一个英文单词大约等于 0.3 个 Token,一个中文字符大约等于 0.6 个 Token,百万 Token 的成本在几块钱人民币左右------这里的"Token",就是大模型计价和工作的最小单位。

为什么必须分词?

这个问题很关键:明明输入的是文字 Prompt,为什么不能直接处理文本?

答案很简单:神经网络的底层运算机制决定了它只能处理数字 。计算机的神经网络本质上是在做大量的矩阵运算和向量计算,它看不懂中文、英文这些字符,只能看懂数字。所以,在文本进入模型之前,必须先把文字转换为一串数字 ID------这个转换过程就是分词(Tokenization),转换出来的每个数字 ID 就是一个 Token。

整个流程可以概括为:

复制代码
原始文本 → 分词器 → Token ID 序列 → 模型处理

举个例子,用 GPT 官方的 cl100k_base 分词器(这个分词器有大约 10 万个 Token 的词汇表),把一段文本编码:

  • 输入:"Hello, tiktoken! 你好,世界!"
  • 编码后得到一串整数 ID,比如 [9906, 11, 12345, 0, 33142, ...]
  • 这些 ID 就是模型能"看懂"的语言

反过来,模型输出的 Token ID 也可以解码回人类可读的文本------编码和解码使用的是同一套映射规则。

Token 不是单词

一个常见的误区是把 Token 等同于单词。实际上,Token 的分割规则由分词器决定,它可能把一个单词拆成多个 Token(比如 "tokenization" 可能被拆成 "token" + "ization"),也可能把几个常见字符合并成一个 Token。分词器的核心目标是在"词汇表大小"和"语义表达能力"之间取得平衡------切得太细(比如按字符切),语义信息太弱;切得太粗(比如按整句切),词汇表又会爆炸。

三、Embedding:让 Token 带上语义

Token ID 只是一个离散的编号,它本身不包含任何语义信息。"215" 这个数字和 "33142" 这个数字之间没有距离概念------它们只是两个不同的标签。

但神经网络需要理解"意思"。比如"苹果"和"香蕉",语义上比"苹果"和"汽车"更接近。怎么让数字也能表达这种关系呢?

这就是 Embedding(嵌入向量) 的作用。它的流程是:

yaml 复制代码
Token ID → Embedding → 高维向量(如 1024 维的浮点数数组)

Embedding 把每个 Token 映射到一个高维空间中的向量。在这个空间里,语义相近的词,它们的向量在方向上也比较接近。向量中的每个维度取值范围通常在 -1 到 1 之间,共同构成了这个词的"语义坐标"。

验证语义相似度:余弦相似度

怎么验证两个向量是否语义相近?最常用的方法是余弦相似度(Cosine Similarity),它衡量的是两个向量在方向上的接近程度,取值范围是 -1 到 1,越接近 1 表示越相似。

举个例子,我用 Embedding 模型(1024 维)把三段文本向量化后计算相似度:

  • 文本 A:"Andrej Karpathy LLM Tokenization 分词原理"
  • 文本 B:"卡帕西讲解大模型 BPE 字词分词"
  • 文本 C:"今天想好好睡觉"

A 和 B 虽然一个是英文一个是中文,但讲的都是 "Karpathy 讲分词" 这件事,它们的余弦相似度会比较高。而 A 和 C 没任何语义关联,相似度就会很低。

这就是 Embedding 的威力------它用数学的方式表达了语义的远近。RAG(检索增强生成)、语义搜索、文本聚类这些应用,底层都依赖 Embedding。

四、Token 和 Embedding 的关系:一个完整的 pipeline

把 Token 和 Embedding 串起来,就是大模型处理文本的完整前置流程:

yaml 复制代码
Prompt(文本输入)
  → Tokenizer(分词编码器)→ Token ID
  → Embedding(向量化)→ 1024 维语义向量
  → Transformer(大模型核心计算)
  → 输出 Token ID
  → Tokenizer(解码器)→ 文本输出

Token 解决的是"文本怎么变成数字"的问题,Embedding 解决的是"数字怎么带上语义"的问题。两者加在一起,才让神经网络能够真正"理解"人类语言。

五、总结

理解 Token 和 Embedding,是大模型学习路上的第一道坎。搞懂了它们,后面的 Transformer、Attention、微调这些概念才会有根基。

  • Token 是桥梁:把人类可读的文本,转换成计算机可计算的数字 ID。分词器的好坏直接影响模型对语言的理解能力。
  • Embedding 是灵魂:让离散的 Token ID 获得连续的、包含语义信息的高维向量表示。语义相近的词,向量也相近。
  • 两者协作:Tokenizer 负责"翻译",Embedding 负责"理解"。没有 Token,文本进不去模型;没有 Embedding,模型只能看到编号,看不到意思。

如果说大模型是一座大厦,那 Token 和 Embedding 就是地基。地基打牢了,往上盖楼才稳。

相关推荐
七牛开发者1 小时前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
超级代码小牛2 小时前
通用 Coding Agent 越强,垂直 Agent 越不该拼模型
agent
To_OC2 小时前
跑通一遍 Tool Call 后,我终于搞懂大模型是怎么调用工具的
人工智能·aigc·agent
Mintimate3 小时前
用 EdgeOne Makers 构建与托管 Agent:从 RAG 检索到智能助手
人工智能·agent
Darling噜啦啦3 小时前
Tool Use 底层原理:当"缸中大脑"遇上物理世界——LLM 工具调用的认知哲学与技术实现
llm·agent
itwetouch3 小时前
10分钟速览superpower+gstack实践
agent·claude·skills·superpower·gstack
不大耳朵图图4 小时前
OpenClaw 架构拆解与工程化实战:那只龙虾到底在本地跑了什么
agent
码哥字节6 小时前
用了三个月 Superpowers,我才明白 204K Star 背后真正解决的是什么问题
agent·claude
得物技术6 小时前
从表单到 Agent:得物社区活动搭建的 AI 实践之路
人工智能·架构·agent