深入理解大模型底层:分词器、词向量与词向量矩阵

📅 2026/7/2 2:22:20
深入理解大模型底层:分词器、词向量与词向量矩阵
导读当你向大模型提问时文字经历了一场精密的变身切碎、编号、翻译成向量、注入位置信息才被模型真正看见。本文拆解这条从文本到语义的完整链路。在自然语言处理NLP和大语言模型LLM的输入流水线中分词器Tokenizer、**词向量Word Embedding和词向量矩阵Embedding Matrix**是三个环环相扣的核心概念。概念与核心职责当用户输入一句文本例如”我爱 LLM”时大模型并不能直接理解这些字符。它必须经过一个从文本 → 离散数字 → 高维连续向量的转换过程1.1 分词器Tokenizer角色切分者与编号员。职责将人类的自然语言文本按照预先训练好的词表Vocabulary切分成一个个最小单元Token并查表将其转化为对应的整数 IDInput IDs。本质基于统计和字符串规则的处理处于模型外部本身不包含语义理解能力。1.2 好分词器的评判标准如何定义一个好的分词器Tokenizer在 LLM 生态中评判一个分词器的优劣有三大核心标准**① 压缩率Compression Ratio**用越少的 Token 表达越多的文本越好。对于中文来说如果 100 个汉字被切成了 300 个 Token这就是一个糟糕的分词器如果能压缩在 100120 个 Token 之间就是优秀的。**② 词表大小的平衡Vocab Size Balance**词表不是越大越好。词表太大如几十万模型的输入输出层Embedding 和 LM Head会变得极其臃肿白白浪费大量显存和算力。词表太小如几千切词又会太碎。好的分词器能在压缩率和词表大小之间找到完美的甜点目前的甜点区大约在 万万 之间。③ 未知词UNK与鲁棒性好的分词器应该具备彻底消灭[UNK]Unknown无法识别的词的能力。无论用户输入什么火星文、特殊符号、甚至代码逻辑它都能通过保底方案如字节级切分将其完整表达出来确保零 UNK。1.3 词向量Word Embedding角色翻译官。职责将分词器输出的整数 ID映射为一个包含丰富语义信息的密集高维浮点数数组向量。本质模型真正能读懂的”数字语言”。在词向量空间里语义相近的词如”猫”和”狗”其向量距离也会非常接近。1.4 词向量矩阵Embedding Matrix角色大模型中的”终极词典”。职责作为神经网络的第一层通常是nn.Embedding它存储了词表里所有 Token 的初始语义向量。本质一个巨大的二维查找表Lookup Table。1.5 词向量的训练来源从噪声到语义初始状态下词向量矩阵中的每一个值都是随机初始化的小噪声——模型对语义一无所知。在预训练过程中每个 Token 的向量在大规模语料中通过反向传播被反复调整。核心驱动逻辑是分布语义假说Distributional Hypothesis**“你旁边常出现谁你的语义就像谁”**。具体来说模型在预测下一个 Token 时如果预测错了梯度就会回传到 Embedding 层小幅修正对应的向量。经过数百亿 Tokens 的训练共现统计规律被压缩到 维的高维空间中——语义相近的词向量在空间中彼此靠近形成有意义的几何结构。核心数学关系与维度结构词向量矩阵的形状由**词表大小vocab_size和单个 Token 转换后的向量维度代码层常称为hidden_size**唯一决定实例拆解以主流大模型为例模型名称词表大小vocab_size词向量维度词向量矩阵的总参数量LLaMA 3亿DeepSeek-V3亿完整流水线工作流Workflow以输入文本”我爱 LLM”为例看看它在底层是如何流转的用户输入: “我爱 LLM”│▼【 分词器 Tokenizer 】│ 1. 依据静态词表及算法规则切分: [“我”, “爱”, “LLM”]│ 2. 对照静态词表查 ID 映射: “我”→101, “爱”→520, “LLM”→999▼整数 ID 序列 (Input IDs): [101, 520, 999] (形状: [batch_size, sequence_length])│▼【 词向量矩阵 Embedding Matrix 】 (形状: [vocab_size, d_model])││ 利用索引 [101, 520, 999] 像查字典一样提取矩阵中对应的行:│ - 行号 101 → [ 0.25, -0.11, ..., 0.84 ] (维度: d_model)│ - 行号 520 → [ -0.02, 0.61, ..., -0.33 ] (维度: d_model)│ - 行号 999 → [ 0.73, -0.45, ..., 0.12 ] (维度: d_model)▼最终词向量 (Embeddings): 形状 [batch_size, sequence_length, d_model]│▼【 位置编码 Positional Encoding 】│ 由于 Transformer 本身是置换不变的permutation-invariant│ 必须通过位置编码注入词语的顺序信息。│ 主流方案: RoPE旋转位置编码LLaMA、DeepSeek 等、ALiBi 等▼携带位置信息的 Embedding 序列: 形状不变 [batch_size, sequence_length, d_model]│▼送入 Transformer 的多头注意力机制Attention 层进行深度计算总结与核心区别特性分词器Tokenizer词向量Embedding词向量矩阵Matrix存在形态独立的 Python 工具类动态生成的高维张量Tensor神经网络的第一层权重矩阵数据格式字符串 →整数 ID维浮点数向量的二维表格是否包含语义❌ 否只管切分并编号✅ 是捕捉词与词之间的亲疏关系✅ 是存储所有词的初始语义所处阶段模型外部的数据预处理模型内部的特征流转模型内部的静态基石输出端LM Head语言模型头有输入就有输出。在 Transformer 的最后一层之后模型还需要将隐状态映射回词表才能生成文本——这就是LM Head的职责。5.1 角色与职责角色解码器将最终隐状态翻译回词表概率。结构一个nn.Linear(d_model, vocab_size)线性层形状与 Embedding Matrix[vocab_size, d_model]互为转置关系。输出每个位置一个长度为vocab_size的概率分布经 Softmax代表下一个 Token 是词表中每一个词的可能性。5.2 权重复用Weight Tying一个有趣且高效的细节很多 LLM包括 LLaMA 系列对 Embedding Matrix 和 LM Head共享同一份权重。为什么可行★Embedding 负责把 Token ID 翻译成语义向量LM Head 负责把语义向量翻译回 Token ID 概率——这是互逆的两个过程共享权重既减少了参数量省掉一个 亿参数的大矩阵又迫使模型学出更紧凑的语义表示。实现上就是一层nn.Embedding(vocab_size, d_model)和一层nn.Linear(d_model, vocab_size, biasFalse)共用同一个权重矩阵。流水线回顾至此从输入到输出的完整链路闭合文本 → Tokenizer → Embedding Matrix → 位置编码 → Transformer → LM Head → 下一个 Token 概率学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】