大语言模型的『翻译秘笈』:一文读懂 Tokens 和 Embeddings
揭秘大语言模型如何『理解』人类语言:Tokens负责『识字』,Embeddings负责『理解含义』
你有没有和 ChatGPT 聊过天?也许是让它写一封邮件,帮你总结一篇文章,或者编个笑话。它像一个聪明的朋友,总能快速理解你的话并给出有趣的回应。
但你有没有好奇过,它是怎么”理解”你说的话的?毕竟对它来说,文字既不是声音,也不是画面,而是……一串串的数字!
这背后,其实藏着两个关键的魔法工具:Tokens(分词)和 Embeddings(词向量)。
✂️ 语言模型的第一步:把话”切块”——Token 是什么?
当你对大语言模型说:”我爱编程”,它并不会直接处理这句话,而是先把它切成小块,也就是 Tokens。
比如:
| 原句 | 分词后 |
|---|---|
| I love programming. | [‘I’, ‘ love’, ‘ programming’, ‘.’] |
有时候,为了更高效,这些”块”甚至可以比单词更小。例如,”programming”可能会被切成:
1
['pro', 'gram', 'ming']
这就像我们在背单词时把一个长单词拆成几个小音节来记,更容易理解。
每个 Token 都会被分配一个唯一的编号,比如:
1
['I', ' love', ' programming', '.'] → [72, 104, 3562, 4]
这一步就像把语言”编码”为模型能理解的”数字”。
🔍 下一步:让模型”感受”这些词的含义——Embedding 是什么?
仅靠数字编号还不够,大语言模型还需要知道这些词”是什么意思“。这时候,Embeddings 就登场了。
简单来说,Embedding 是一个多维的向量,就像给每个词画了一幅抽象的画像。比如:
1
love → [0.32, -0.15, 0.78, 0.05, -0.23, ...]
这串数字背后包含了”爱”的情感色彩、语义位置和常见用法。
而且,相似的词,它们的 Embedding 向量也会靠得很近。比如”love”和”affection(喜爱)”在向量空间中就像是邻居。这就是模型能”理解”我们语义的原因。
💡 类比一下:Embedding 就像是把人类语言翻译成模型能”感受”的语言。
🧠 整个流程长这样:一句话如何变成模型的理解?
我们来走一遍从输入到输出的完整流程:
你输入一句话: “I love programming.”
1. Tokenization 分词
1
['I', ' love', ' programming', '.']
2. 转换为 Token ID
1
[72, 104, 3562, 4]
3. 查找 Embedding 向量
1
2
3
4
'I' → [0.01, 0.23, -0.45, ...]
'love' → [0.32, -0.15, 0.78, ...]
'programming' → [0.56, -0.31, 0.09, ...]
'.' → [-0.12, 0.11, 0.03, ...]
4. 送入模型神经网络处理
模型会结合每个词的向量,理解整个句子的含义(比如”爱编程”是一种积极的情绪 + 具体的技能领域)。
5. 生成回应
比如:
“It’s a great skill to have.”
🧩 总结一下:Tokens 和 Embeddings 有多重要?
可以这样理解:
| 概念 | 作用 | 比喻 |
|---|---|---|
| Tokens | 把复杂的句子拆成一个个能理解的小单元 | 大脑的”识字”方式 |
| Embeddings | 用向量捕捉每个词的语义、情感和关系 | “感受含义”的通道 |
没有这两个工具,大语言模型就像个只会看代码却不懂语义的程序员——看得懂每个字母,却拼不出句子的含义。
正是有了 Tokens 和 Embeddings 的加持,模型才能像我们一样”理解”语言,甚至生成自然、有逻辑的回应。
📚 延伸阅读
如果你想更深入理解大语言模型的工作原理,推荐阅读: