大模型到底是怎么“思考“的?看懂 Token Space 与 Latent Space,你才真的理解了 LLM
很多人解释大模型张口就是一句它在预测下一个 token。这话没错但只说了最外面那层——就像说汽车在前进确实在前进可你不知道发动机里发生了什么。真正有意思的事情藏在这句话内部模型先把人类写的文字切成 token再把 token 抬升到一个连续的高维空间里做计算最后把计算结果投影回 token 输出。那个高维空间就是这两年机制可解释性激活引导latent reasoning都在围着转的latent space。要真正看懂今天的 LLM你必须同时看懂这两个空间以及它们之间那条来回穿梭的路径。从一句话到一个回答模型经历了什么我们先把一次最普通的生成过程拆开。用户输入的是文字但模型不直接处理文字——它先经过 tokenizer把文本切成一串 token再换成 token ID。接下来embedding matrix把每个离散编号变成一组连续向量。可以理解成每个 token 在模型内部都拿到一个初始坐标。但这只是入口。Transformer 每一层都会继续加工这些向量attention 从上下文里读取和搬运信息MLP 负责非线性加工。一层一层下去模型得到hidden state——它读完上下文之后的内部表示。最后一步hidden state 投影回整个词表对每个候选 token 打分得到logits。再经过 temperature、top-k、top-p 这些解码策略才采出下一个 token。整条路径文本 → token → embedding → hidden state → logits → 下一个 token。token space 与 latent space 的分工就藏在这里。一个离散接口一个连续内场token space 是离散的负责输入、训练标签、输出和评测——任何能被人类读到、被工具调用、被日志记录的东西都活在这一层。latent space 是连续的负责上下文理解、语义压缩、概念表征以及发生在层与层之间的中间计算。这两个空间不是替代关系而是同一个系统的两个阶段。模型用 token 接收和输出离散符号用 latent state 做连续计算再通过 logits 把连续结果翻译回 token 概率。顺带澄清一个常见误解token space 不只发生在 tokenizer也发生在输出端。模型从来不直接吐出一句话而是每一步都在整个词表上分配概率——所以同一个模型、同一个 prompt换一组解码参数结果就可能完全不同。这个区分对分析模型行为很关键模型不知道可能是 latent representation 里没有正确编码知道但没说可能是解码或安全策略卡住了输出说法不稳定可能是 logits 分布本来就接近采样噪声大。三种现象根因完全不同。tokenizer 会改变模型看到的世界下面这件事一开始会让人不太适应tokenizer 不只是个无害的预处理步骤它会改变模型接收到的信息结构。英文有空格词边界清楚中文没有天然空格。一句我喜欢机器学习tokenizer 可能切成我 / 喜欢 / 机器 / 学习也可能切成我 / 喜欢 / 机器学习。两种切法模型进入 latent space 的初始信号就不一样。书籍PDF及配套代码可点赞文章后添加小助手获取2025 年关于中文 tokenization 的研究把话说得很直白当 token 切分和中文语义部件、部首结构不对齐时主流大模型的内部表征会系统性受损。类似的后缀错位问题也出现在欧洲语言里。token 边界从来不是工程细节——它会直接影响 latent space 里的语义几何。把这个现象放进更严格的场景你会更吃惊。多选题评测看起来不能更简单了——A、B、C、D 选一个。但Mind the Gap这类研究发现仅仅是Answer:后面那个前导空格和答案字母合不合并成同一个 token就能让准确率波动高达 11%甚至改变模型排名。你以为模型在比较选项语义它其实同时被 token 边界、leading space、答案标签是 single-token 还是 multi-token 这些因素影响。数字也一样。人类看到1234567和1,234,567知道是同一个数模型看到的 token 序列可能完全不同。Tokenization Counts指出不同的数字切分会显著影响算术表现某些右对齐分组能改善大数计算常规切法则带来系统性错误。tokenizer 的未来把切分也变成模型的一部分未来方向不是简单的越细越好或越粗越好。一条最有代表性的路线是Byte Latent TransformerBLT。传统 BPE 是先训练一个固定词表再照着切。BLT 不一样——它直接在 byte 层面工作根据 next-byte entropy下一字节的不确定性动态把字节组成 patch简单片段合成更大块复杂片段保留更细颗粒。通俗说固定 tokenizer 是提前把文本切好BLT 是让模型自己决定该在哪里细看。论文在 8B 参数、4T bytes 规模上展示了 byte-level 模型追上传统 tokenizer-based LLM 的可行性——它的价值不只是摆脱 tokenizer而是把切分粒度变成模型计算的一部分。另外两条路线一句话带过SuperBPE允许 token 跨空格形成 superword减少 token 数T-Free用三字符 triplet 替代传统 token embedding在多语言上有潜力。它们指向同一个判断tokenization 的本质是把语言信号压缩成最适合模型学习的离散代码。走进 latent space一张超高维地图讲完 token 这一侧转向 latent space。这个概念最容易被讲玄。有人会说成模型的思想意识——这种说法不准确。更朴素的定义是latent space 就是模型内部用来表示信息的连续向量空间。一个 hidden state 可能是几千维向量人类直接看不懂但里面同时压缩了语义、风格、任务、上下文关系以及下一步的输出倾向。而且 latent space 不是单一房间embedding 层、residual stream残差流、attention 输出、MLP 激活、KV cache——它们都是模型内部不同位置上的连续表示。所以当论文说在 latent space 里找到一个方向值得追问是哪一层哪个 token 位置在残差流里还是在某个 attention head 里把 latent space 想象成一张超高维地图相近的点代表语义或功能相似某个方向代表属性变化某条路径对应模型从输入理解走向输出决策的过程。研究里经常去找诚实方向礼貌方向有害方向——Representation Engineering表征工程把这件事变成明确目标能不能从模型内部表示里读出某种概念并适度干预。但要小心不是所有概念都能被一个简单方向完美表示。现有研究确实找到了不少可线性读出的概念比如空间、时间、情感——这支持一个判断latent space 不是黑箱噪声它有结构、有方向、有几何关系。但单个坐标轴通常不等于一个人类概念。不能说第 17 维就是诚实第 302 维就是数学。更稳健的提法是概念往往是分布式模式激活往往是多个特征的混合。当多个特征挤进同一组神经元superposition 与 SAE书籍PDF及配套代码可点赞文章后添加小助手获取这就引出了机制可解释性里的核心问题superposition叠加。直观说模型想表示的特征非常多、可用维度有限而且很多特征是稀疏出现的——模型于是把多个很少同时出现的特征压进同一组维度。这会带来polysemanticity多义性同一个神经元、同一种激活模式在不同上下文里可能对应几个毫不相关的概念。一个神经元 一个概念这种朴素理解在大模型里基本不成立。SAESparse Autoencoder稀疏自编码器正是为这个问题设计的拆解工具把混在一起的隐藏状态拆成更容易解释的特征组合。普通 hidden state 像一锅混合颜料SAE 试图把它分回更独立的基色——在 LLM 上可能对应实体、语言、代码模式或抽象概念。Anthropic 在 2024 年的Mapping the Mind of a Large Language Model中报告他们从 Claude 3 Sonnet 的中间层提取出数百万个可解释特征对部分特征做干预能改变模型行为。但 SAE 的目标不是让模型变强而是让我们看清模型内部激活了哪些概念——它更像 latent space 的显微镜而不是最可靠的方向盘。往前再走一步是circuit tracing——SAE 问模型里有哪些可解释特征circuit tracing 进一步问这些特征如何一步步导致某个输出。这是 latent space 研究从找概念过渡到找概念之间的计算关系。latent reasoning推理可以不写在草稿纸上下一个更前沿、也更容易被过度解读的方向是latent reasoning——把中间推理状态留在 latent space 里而不是写成文字。传统 Chain-of-ThoughtCoT是在 token space 里推理模型把每一步推理写成自然语言。优点是人类可读、容易监督代价是 token 成本高、自然语言带宽有限、中间步骤一旦写出就难修改而且 CoT 是否真实反映模型内部推理本身就是个研究问题。latent reasoning 的想法是模型未必非要把每一步想法都写成人类语言。它可以在隐藏状态里保留中间推理只输出最终答案。形象地说CoT 像在草稿纸上逐字写推理latent reasoning 更像在脑内同时试几条路线只把结论说出来。代表工作之一是Coconut它把 LLM 的最后隐藏状态当作continuous thought——不解码成文字而是直接作为下一步输入向量喂回模型。论文认为这种连续思考可以同时保留多个推理方向避免过早绑定到某条自然语言路径在某些逻辑任务上表现出类似 BFS 的行为。另一个工作Soft Thinking可作为补充不立刻采样一个离散 token而是用 token 概率分布加权 embedding形成连续的abstract concept token——先保留多个候选想法的混合向量而不是急着选一个词。论文称相对标准 CoTSoft Thinking 的 pass1 最多提升 2.48 个百分点token 使用最多减少 22.4%。这里要克制latent reasoning不等于一定更聪明或更高效。少生成可见 token可能只是把计算转移到了 hidden steps 里。公平比较必须看总 FLOPs、wall-clock latency、latent 步数以及 benchmark 是不是天然偏向自然语言 CoT。未来更可能是 token-latent hybrid讲到这里可以给一个相对靠谱的判断token 不会被淘汰latent space 也不会取代一切两者会分工。人类交互、最终回答、工具调用、程序代码、安全审计——仍然需要 token因为 token 是可读、可监督、可评测、可记录的接口。而中间推理压缩、多路径搜索、语义规划、跨语言表示、多模态融合——更适合 latent space。它带宽更高也可能更接近模型内部真实的计算机制。一个合理的未来形态token 输入 → 在 latent space 里规划和推理形成 concept-level state → 必要时调用工具和记忆 → 回到 token 输出。这条路也带来开放问题。tokenizer 不会消失BLT 说明 tokenizer-free 是可行方向SuperBPE 又说明更强的 tokenizer 仍能带来收益——更准确的判断是固定 BPE 不再是唯一合理默认。latent CoT 也很难审计自然语言 CoT 至少可读latent state 则需要 decoder、probe、SAE、causal intervention 一整套工具组合而这些工具本身也会出错——不能把翻译出来的 latent thought直接当成真实机制。未来比较模型不应该只问准确率谁更高。还要问用了多少可见 token多少隐藏计算中间状态能不能解释和审计失败时能不能定位原因回到那四句话书籍PDF及配套代码可点赞文章后添加小助手获取把整篇文章压成四句话1. LLM 不直接处理文字而是处理 token——token 是模型眼里的文字小块和离散编号。2. token 转成向量后模型在 latent space 中做连续计算。latent 不是神秘意识而是模型内部的隐藏表示。3.tokenization 影响模型看到什么latent representation 影响模型理解什么——输入切分、内部表示、输出解码三者一起塑造模型行为。4. 下一代模型很可能是token-latent hybrid输入输出仍是 token中间推理、语义压缩和规划越来越多发生在 latent space