前言
你有没有想过——
当你说“今天天气真好”,
AI 读到的,不是“天”“气”“真”“好”这四个字,
而是一串数字:
[1243, 892, 501, 733]
它看不见文字,听不到声音,
它只认识数字。
那问题来了:
人类的语言,是怎么变成这些数字的?
这不是魔法,也不是玄学。
这是大语言模型(LLM)最基础、也最精妙的第一步:
文本编码(Tokenization)。
今天,我们就来彻底拆解:
LLM 是如何把“文字”,变成“数字”,
并让它们在神经网络里“跑起来”的。
🌟 第一步:文字 ≠ 数字,但机器只认数字
计算机的底层,只有0和1。
哪怕你发一条微信、写一篇论文,
最终都会被转成二进制——
但LLM的输入,不是“二进制”,而是整数序列。
为什么?
因为直接把“天”“气”映射成数字(比如“天”=1,“气”=2)
会带来灾难性问题:
| 文字 | 数字 | 问题 |
|---|---|---|
| 天 | 1 | 与“地”=2,但“天地”≠“天”+“地” |
| 地 | 2 | “天气”=1+2=3,但“三”=3 → 语义错乱 |
| 三 | 3 | 模型会误以为“天气”=“三” |
所以,LLM不能用“字典映射”。
它需要一种既能保留语义,又能处理无限词汇的编码方式。
这就是——分词(Tokenization)。
🧩 第二步:分词的智慧 —— BPE:把词“切碎”再重组
LLM 用的不是“一个字一个编号”,也不是“一个词一个编号”,
而是Byte-Pair Encoding(BPE)——一种“聪明的切碎术”。
✅ 举个例子:
假设我们有以下语料:
"low""lowest""newer""wider""wide"
BPE 的工作流程:
- 初始化:把每个词拆成字符,统计字符对频次
- “low” → l, o, w,
- “lowest” → l, o, w, e, s, t,
- ( 表示词尾)
- 找最常出现的字符对 → “o” + “w” 出现2次
→ 合并成新符号:ow - 更新词表:
- “low” → l, ow,
- “lowest” → l, ow, e, s, t,
- 继续找:下一轮,“e” + “s” 出现1次,合并为
es
→ “lowest” → l, ow, es, t, - 重复直到达到目标词表大小(比如50,000个Token)
最终,你的词表可能长这样:
| Token | 含义 |
|---|---|
| l | 字母 l |
| ow | 字母组合 “ow” |
| es | 字母组合 “es” |
| t | 字母 t |
| 词尾 | |
| new | 新词 |
| er | 后缀 “er” |
| wide | 完整词 |
| wider | 完整词 |
✅ 你会发现:
“wider” = “wide” + “er”
“lowest” = “low” + “est” = “ow” + “es” + “t”
语义单元被拆解、复用,效率极高!
🔢 第三步:把句子变成数字序列 —— Tokenizer 的魔法
现在,我们输入一句话:
“The capital of France is Paris.”
Tokenizer 会这样处理:
- 分词(Tokenize):
- “The” →
[452] - “ capital” →
[123](注意空格是token的一部分) - “ of” →
[78] - “ France” →
[912] - “ is” →
[201] - “ Paris.” →
[678](“.” 与 “Paris” 合并)
-
最终输出:
[452, 123, 78, 912, 201, 678]
这就是LLM真正“看到”的输入——
一串整数,没有字母,没有标点,只有编号。
💡 你可以把Tokenizer想象成一个“翻译官”:
把中文/英文 → 翻译成“AI语言”
而AI语言,就是这50,000个Token组成的“词典”。
🧠 第四步:数字如何“变成语义”?—— Embedding层登场
数字本身没有意义。
但LLM有一个神奇的层,叫 Embedding Layer(词嵌入层)。
它的作用是:
给每一个Token,分配一个高维向量(比如4096维),
这个向量,编码了这个词的语义、语法、上下文关系。
假设:
- Token
[452]= “The” → 嵌入向量E[452] = [0.23, -1.12, 0.87, ..., 0.51](共4096个数) - Token
[123]= “capital” →E[123] = [0.41, 0.98, -0.33, ..., 0.19]
那么,输入序列 [452, 123, 78, 912, 201, 678]
就变成了一个6×4096的矩阵:
[ [0.23, -1.12, 0.87, ...], ← "The" [0.41, 0.98, -0.33, ...], ← "capital" [0.11, 0.05, 1.22, ...], ← "of" [0.67, -0.45, 0.77, ...], ← "France" [0.33, 0.21, -0.91, ...], ← "is" [0.89, 0.14, 0.55, ...] ← "Paris."]
这个矩阵,就是LLM的“输入世界”。
✅ 这个向量不是随便给的,而是通过训练学出来的。
“capital”和“city”的向量会很接近,
“France”和“Germany”会靠近欧洲区域,
“is”和“was”会靠近动词区域。
语义,藏在向量的几何空间里。
这就是为什么:
“king - man + woman ≈ queen”
不是巧合,而是向量空间的线性关系。
⚙️ 第五步:数字开始“运算”——从Embedding到Transformer
现在,LLM拿到了一个6×4096的数字矩阵。
接下来,它做的,就是用数学运算,不断重构这些数字。
每一层Transformer,都会做:
-
矩阵乘法
:
Q = X @ Wq(计算查询向量) -
点积相似度
:
scores = Q @ K.T(哪个词和当前词最相关?) -
Softmax
:把分数变成概率(注意力权重)
-
加权求和
:
output = attention_weights @ V(融合上下文) -
残差连接 + 归一化
:让信号稳定传递
-
前馈网络
:
x → W1 → GELU → W2(非线性变换)
每一步,都是纯数学运算:
- 矩阵乘法
- 指数函数
- 加法、除法、激活函数
没有“理解”,没有“意识”,
只有数字在高维空间里跳舞。
但奇妙的是——
当这些数字被反复变换、叠加、融合后,
输出的最后一个向量,
恰好能预测下一个最可能的Token:
输入:“The capital of France is” →
输出:[0.01, 0.02, ..., 0.85, ..., 0.001]
最大值在Token[678]= “Paris.”
→ 所以AI说:“Paris.”
🧪 真实演示:用Python模拟一次Tokenization + Embedding
# 伪代码:模拟LLM的前两步tokenizer = {"The": 452," capital": 123," of": 78," France": 912," is": 201," Paris.": 678}# 输入文本text = "The capital of France is Paris."# Step 1: Tokenizetokens = [452, 123, 78, 912, 201, 678]# Step 2: Embedding (简化版)embedding_dim = 4embedding_table = {452: [0.23, -1.12, 0.87, 0.51],123: [0.41, 0.98, -0.33, 0.19],78: [0.11, 0.05, 1.22, 0.44],912: [0.67, -0.45, 0.77, -0.21],201: [0.33, 0.21, -0.91, 0.66],678: [0.89, 0.14, 0.55, 0.88]}# 转换成矩阵x = [embedding_table[t] for t in tokens]print("输入序列的嵌入向量(6×4):")for row in x:print(row)# 输出:# [0.23, -1.12, 0.87, 0.51]# [0.41, 0.98, -0.33, 0.19]# [0.11, 0.05, 1.22, 0.44]# [0.67, -0.45, 0.77, -0.21]# [0.33, 0.21, -0.91, 0.66]# [0.89, 0.14, 0.55, 0.88]
🌟 你看到的,不是文字,
而是6个4维的数字向量,
它们承载了“首都”“国家”“系动词”等语义关系。
AI,就是靠这些数字,推理世界的。
🧭 为什么这如此重要?
很多人以为LLM“懂语言”,
其实它只是:
- 把文字 → 切成Token(分词)
- 把Token → 映射成向量(Embedding)
- 把向量 → 用数学变换不断融合(Transformer)
- 把最终向量 → 映射回Token(输出层)
- 选概率最高的 → 输出文字
它没有“理解”“意思”“意图”,
但它完美模拟了语言的统计规律。
就像一个精通围棋的AI,
它不理解“胜负”“艺术”,
但它知道:哪一步赢的概率最高。
✅ 总结:LLM的“语言翻译器”三步曲
| 步骤 | 输入 | 输出 | 关键技术 |
|---|---|---|---|
| 1. 分词 | “The capital of France is Paris.” | [452, 123, 78, 912, 201, 678] | BPE(Byte-Pair Encoding) |
| 2. 嵌入 | Token序列 | 6×4096 的数字矩阵 | 学习型词嵌入(Learned Embedding) |
| 3. 运算 | 数字矩阵 | 更高阶的数字矩阵 | Transformer(Attention + FFN) |
🚫 LLM 不认识“字”
✅ LLM 只认识“编号”
💡 它的“语言”,是数学的语言
🌌 最后一句:AI的“语言”,是你看不见的宇宙
你看到的“对话”,是AI输出的文字。
你没看到的,是数万维空间里,数十亿个数字的精密舞蹈。
每一个字的背后,
是成千上万次矩阵乘法,
是数万亿参数的协同演化,
是人类用数学,为语言建模的壮举。
下一次,当你对AI说“帮我写一首诗”,
请记住:
它听到的,不是诗意,
是一串编号,
和一串在高维空间里,
悄悄旋转的向量。
📌 动手实验建议:
用 Hugging Face 的 transformers 试试:
from transformers import AutoTokenizertokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-7b-chat-hf")print(tokenizer.encode("Hello, world!"))# 输出:[1, 15043, 11, 13]
你看到的,就是LLM眼中的“世界”。
最后
为什么要学AI大模型
当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!
DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。

最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
AI大模型系统学习路线
在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。
AI大模型入门到实战的视频教程+项目包
看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

海量AI大模型必读的经典书籍(PDF)
阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。

600+AI大模型报告(实时更新)
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

AI大模型面试真题+答案解析
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下


这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
10万+

被折叠的 条评论
为什么被折叠?



