一、看到第七卷,第一卷就忘了

千机殿坐落在皇城东南角,殿高三层,藏卷十二万册。从各地呈上来的奏报、案卷、方志,堆满了七十二面书架。

老阁主陆观尘今年六十三岁,在千机殿待了整整三十年。他的活儿说起来也不复杂——圣上问了什么事,他就去架上取卷,一卷一卷看过来,最后写一份答策呈上去。

但他有个毛病。

"看到第七卷,第一卷就忘了。"

这是殿里书吏们私下说的。当着老阁主的面,谁也不提。

那天早朝,圣上遣人送来一道问策。不是寻常的"今年粮价几何""边关军马几何",而是一道长达三百字的复问——涉及漕运、刑律、边市、盐铁、天文、水利六个衙门的事务,环环相扣。

老阁主看完问策,沉默了很久。

"取卷。"

书吏从十二面书架上搬下来四十七卷相关案卷,在案头堆成一座小山。老阁主拿起第一卷,从头看起。

二、到第四十一卷,他忘了谁在问

第一卷是漕运衙门的粮船调度案卷。老阁主看了半个时辰,在纸上记下几行要点。

第二卷是刑律衙门的私盐案底。第三卷是边市衙门的马匹交易记录。

他看得认真,但越看越慢。到第十一卷,他开始往前翻——"方才第三卷里那个数目字是多少来着?"

到第二十三卷,他停了笔。纸上的要点已经密密麻麻,但他发现一个更麻烦的问题:第七卷里提到的一件事,跟第十八卷里的某条记录明显矛盾。可等他翻回第七卷去对证,又忘了第十八卷到底写了什么数字。

"陆阁主,"门外的太监来催,"圣上问,答策什么时辰能呈?"

老阁主没答话。

第四十一卷。他放下卷子,看着自己写了四页纸的要点。忽然发现一个更根本的问题:他不记得问策的第六句是什么了。

"把问策的原文再念一遍。"

书吏念了。老阁主闭上眼睛,听完最后一句,第一句已经模糊了。

他把笔搁下。

"这策我答不了。"

"为什么?"

老阁主指着案上摊开的四十七卷案卷:"这些卷子里,每一卷都跟另一卷有关系。漕运的船队走哪条河,要看水利衙门去年修了哪段堤。刑律的盐案判了多少人,要看边市今年放了多少引。但我一次只能看一卷。看到后面,前面就没了。"

"不能多看几卷?"

"看了也串不起来,"老阁主说,"你得同时记住漕运卷的第三段、刑律卷的第十二段、边市卷的第一段——三样东西同时在脑子里,你才看得出那条线。"

他叹了口气:"我的记性只够撑到第七卷。"

三、不是一个人看,是所有人互相看

"不是记性的事。"

一个声音从殿门口传来。

老阁主抬头。站在门口的是个二十多岁的年轻人,一身洗得发白的青衫,手里空着,没带卷也没带笔。

"吏部主事沈知微,"年轻人朝老阁主行了个礼,"刚才在门外听见了阁主的话。恕卑职冒昧——这不是记性够不够的问题,是看卷的法子不对。"

老阁主没生气,只是打量着他:"你有什么法子?"

沈知微走到案前,拿起那三百字的问策。

"阁主,这道问策有六句。您看第一句的时候,眼睛里只有第一句。看第二句,第一句就过去了。等看到第六句,前五句只剩几个模糊的印象。"

"对。所以呢?"

"所以——您不该一个人看。"

沈知微把问策摊在案上,从袖子里取出一支炭笔,在每句话下面画了一道线。六句话,六道线。他叫来了殿里的六个书吏。

"你,只看第一句。看完之后,去架上找跟这句话最相关的案卷。"

"你,只看第二句。"

"你,也只看一句。"

六个书吏各自领了一句话,转身去架上翻卷。一盏茶的工夫,每个人手里都抱了一摞相关案卷回来。

但还没完。

"接下来,"沈知微说,"每个人不光要读自己手上的卷。每个人都要去看——另外五个人手上有什么。"

书吏们面面相觑。

"什么意思?"一个书吏问。

"你是管第一句的,"沈知微指着他说,"你现在要知道:第二句的案卷里,哪些内容跟你的内容有关?第三句的呢?第四句的呢?"

"要一个人记住所有人的?那不是比老阁主更累?"

"不是记住,"沈知微摇头,"是比。比出来的那个东西,你不用记——它就在那里。"

四、一根线和一只砝码

"到底怎么比?"

老阁主放下了茶盏,看着沈知微。他的语气不是质疑,是认真的好奇。

沈知微从案上拿起两卷卷宗。

"阁主您刚才说,您得同时记住三卷才能看见那条线。问题不在记——在比。"

他把第一卷翻开:"这一卷是漕运的粮船调度。"又翻开第二卷:"这一卷是水利的堤防修筑。"

"不是比全文,是比关键。每卷只取最关键的三五个词——'淮河'、'六月'、'粮船'。然后问:两卷之间,相同的词是哪几个?相干的词是哪几个?"

沈知微拿起炭笔,在纸上画了两个圈,中间连了一根线。

"阁主您看——第一卷讲'淮河粮船六月北上',第二卷讲'淮河堤防四月修竣'。这两卷你不用全读,你只要看见'淮河'这个词把两件事拴在一起,你就知道了:船能走,是因为堤修好了。"

老阁主微微点头。

"但这还不够。光知道'有关'不行——你得知道有多关。"

沈知微又在线上加了一个数字。

"'淮河'碰上'淮河',这根线就有分量——好比一条粗绳。但第一卷是'淮河',第二卷只有'江都'——'江都'在淮河边上,但没直说——这根线就细一些、轻一些。"

"那这个轻重怎么定?"

"看重叠的字、近义的词、时间上的远近、地域上的远近。每个人在比的时候,都有一套估量的办法。"

老阁主的手指在案上轻轻敲着:"所以你的意思是——"

"不是一个人看六堆,"沈知微说,"是每个人分别问自己:我这堆里的东西,跟另外五堆里的东西,有什么关系?关系有多重?"

"然后?"

"然后把所有关系汇总。哪条线上的重量最大,答案就在那条线上。"

五、看一张网,得用一张网

书吏们开始按沈知微的法子工作了。

殿里出现了老阁主从未见过的景象。六个书吏不是在各自埋头读卷——他们在不停地走动、比对、在纸上画线。一个人看完自己的案卷,立刻去看旁边那人的摘录,然后在两页纸之间飞快地记下一行字:"三门峡——三门峡,权重八分。"

"为什么看这么快?"老阁主问一个书吏。

"因为不用读全文,"书吏头也不抬,"我只看关键词。我的关键词'淮河'碰上了他案卷里的'淮河',我就知道这两卷有关。他的关键词'四月'碰上了另一人的关键词'六月',他们之间也有关。我不需要知道每卷里写了什么——我只需要知道,它们用哪些共同的词把事拴在一起。"

一炷香之后,沈知微收拢了所有人画的关联线。

一百四十三条线,每根线都标着权重。

他把权重最高的十五条线单独挑出来,铺在案上。十五条线串起了七个案卷,画出一条清晰的路径:淮河堤防四月竣工 → 粮船六月北上 → 边市八月开市 → 盐引九月下发。

所有线索的终点,指向一个结论:今年的盐价会在十一月骤涨。

"不是因为产少了,"老阁主顺着线路往回看,眼睛亮了,"是因为粮船把盐船的运力挤掉了。"

"对。"

"你怎么知道的?"

沈知微笑了一下:"不是我知道的。是他们各自看见了各自那一小块——然后互相看——最后这些小块自己拼成了整张图。"

老阁主沉默了片刻,把那十五条线看了又看。三十年来他第一次觉得,这殿里的案卷不是一盘散沙。它们之间有线,只是以前没有人同时去看。

六、五种眼睛看同一件事

一个月后,边关来使。一道七百字的问策送到千机殿。

这回涉及九个衙门:漕运、刑律、边市、盐铁、天文、水利、户部、兵部、马政。比上一道问策长了一倍,涉及的事务多了两倍。

老阁主没看全文,直接叫来了沈知微。

"九个衙门,"沈知微看完问策,"核心是八个子问题。每个子问题派一个人。"

但这次的难度不是一个级别的——九个衙门的事互相缠绕。同一份案卷可能同时涉及三个子问题,同一个子问题可能需要在六个衙门的案卷里找线索。

"这次光看内容不够了,"沈知微说,"得同时看几种不同的关联。人名的关联、地名的关联、数字的关联、时间的关联、因果的关联——每一种都得有人专门盯着。"

"你分了五种?"

"分和没分不一样,"沈知微说,"同样是'有关联',人名碰人名是一种关联,原因碰结果又是另一种。混在一起比,会互相干扰——人名的关联和数字的关联,是两种完全不同的东西,非要放在一起算权重,谁也看不清楚。分开了比,每一种关联都能冒出自己的形状来。"

他安排了四组人,每组都从五种角度各自画线。书吏们像织布机上的梭子,在两个时辰之内画出了四百多条关联线。每条线标注着关联类型和权重。

最终铺在案上的,是一张网。五种颜色——人名红、地名蓝、数字绿、时间黄、因果黑——从九个衙门的案卷里抽出关键信息,汇成了三条主要的推理路径。三条路都通向同一个结论:边关的战马缺口,根子在去年黄河水患冲垮了陇西草场。

老阁主看着那张网,好一会儿没说话。

"三十年,"他缓缓开口,"我看了三十年卷,从来不知道这些案卷之间有这么多条线。"

"因为以前是你一个人在看,"沈知微说,"一个人只能有一条视线。但这件事——这些案卷——它们之间的关系不是一条线,是一张网。"

他停了停。

"看一张网,得用一张网去看。"

技术解读

Transformer 架构是 Vaswani 等人在 2017 年论文《Attention Is All You Need》中提出的革命性神经网络架构,彻底取代了此前主流的循环神经网络(RNN)和长短时记忆网络(LSTM)。其核心创新是自注意力机制(Self-Attention):模型在处理序列中的每个位置时,不是按顺序逐个处理,而是同时关注序列中的所有其他位置,直接计算任意两个位置之间的相关性权重。这一设计一举解决了 RNN 的两大顽疾——无法并行化(必须逐时间步计算)和长距离依赖衰减("看到第七句就忘了第一句")。

Transformer 随后成为 GPT、BERT、Claude 等所有现代大语言模型的基础架构,"Attention Is All You Need"也成为深度学习史上引用量最高的论文之一。

核心概念回顾

概念 通俗解释
自注意力(Self-Attention) 序列中每个位置同时"看向"所有其他位置,计算与每个位置的关联度
Query(查询向量) 当前词"想找什么"的表示,由当前词的嵌入通过线性变换得到
Key(键向量) 每个词"有什么信息"的表示,用于与 Query 计算匹配度
Value(值向量) 每个词"实际内容"的表示,按注意力权重加权后汇总为输出
注意力权重 Query 和 Key 的点积经过 softmax 归一化后的结果,表示"当前位置该多关注另一个位置"
缩放点积注意力 注意力权重的计算方式:Q 与 K 做点积,除以 sqrt(d_k),再 softmax
多头注意力(Multi-Head) 同时运行多组独立的 Q/K/V 投影,每组关注不同的关系类型,最后拼接
Softmax 归一化 将任意一组原始分数转化为总和为 1 的概率分布,高相关性获得高权重
位置编码(Positional Encoding) 为每个位置注入位置信息,让模型知道"谁在前、谁在后",弥补并行处理的先天缺失
前馈网络(FFN) 对注意力层输出的每个位置独立做非线性变换,增强表示能力

故事中的隐喻对照

故事元素 映射的技术概念 解释
千机殿 Transformer 模型整体 一个并行处理信息、从海量文档中提取答案的智能系统
老阁主陆观尘(一人逐卷阅读) RNN / LSTM 循环神经网络必须按时间步顺序处理,长序列导致前面信息衰减
"看到第七卷,第一卷就忘了" 长距离依赖衰减 / 梯度消失 RNN 在处理长序列时,早期位置的信息在传播中逐渐被稀释
三百字的问策(六句话) 输入序列(token 序列) 大模型接收的文本被切分为 token,每个 token 都需要被理解
六个书吏,每人负责一句话 每个 token 生成自己的 Query 序列中每个位置都有一个 Query,表示"我要找什么信息"
每卷案卷写出关键词 Key 向量 每个位置的 Key 表示"我携带了什么信息可供匹配"
"同时去看另外五个书吏手里有什么" 自注意力的全连接 每个 Q 同时与所有 K 计算点积,而非只看相邻位置
画线标注权重:相同词权重高,近义词权重低 缩放点积注意力 + Softmax Q 与 K 的点积衡量语义匹配度,softmax 归一化为概率权重
"关联线上标数字,表示有多关" 注意力权重分数 0-1 之间的权重值,表示两个位置之间的信息相关性强度
"五种关联分开看:人名、地名、数字、时间、因果" 多头注意力(Multi-Head Attention) 多个注意力头各自从不同语义维度(语法、指代、时序、因果等)捕捉关系
"每两组人专门盯着一种关联" 每个注意力头有独立的 Q/K/V 投影矩阵 不同头学习不同的投影方式,捕获不同类型的关系模式
"四百多条关联线汇总成三条推理路径" 多头拼接 + 前馈网络聚合 多个头的输出拼接后经线性变换,融合多维度信息形成最终表示
"看一张网,得用一张网去看" 全连接自注意力 vs. 序列处理 Transformer 的核心洞察:序列元素间的关系是图结构,需要全局并行处理

为什么这个故事对应 Transformer 自注意力机制?

  1. 从串行到并行的范式转变:老阁主逐卷阅读(RNN 逐时间步处理)→ 沈知微让六个书吏同时互看(每个 token 同时关注所有其他 token)。这就是"Attention Is All You Need"的核心主张——抛弃循环,用注意力覆盖全部位置。

  2. "每个人都去看另外五个人手里有什么":这正是自注意力的全连接本质。每个 Query 与所有 Key 计算点积,而非只与相邻位置。一个词可以"注意"到句子中的任何一个词,无论它们相隔多远——一举解决了长距离依赖问题。

  3. Query / Key / Value 的角色分工:故事中的每个书吏(每个位置)同时扮演三重角色——它有自己的问题(Query:我的关键词在找什么)、自己的标签(Key:我的案卷里有什么关键词)、自己的内容(Value:我的案卷的实际信息)。注意力机制中,同一个输入向量通过三个不同的线性变换得到 Q、K、V,这是 Transformer 最精巧的设计。

  4. 缩放点积 + Softmax = "画线标权重":书吏们通过关键词匹配来标权重——完全相同的词("淮河"碰"淮河")权重高,只是近义的词("淮河"碰"江都")权重低。这正是 Q·K^T / sqrt(d_k) + softmax 的直觉:语义越相关,点积越大,归一化后的注意力权重越高。

  5. 多头注意力的"分维度关注":当问策涉及九个衙门,沈知微安排了五种视角各自独立画线——人名、地名、数字、时间、因果。这正是多头注意力的设计动机——每个头学习不同的投影矩阵,从不同的表示子空间捕捉不同类型的关系,最后拼接得到更丰富的语义表示。

  6. 位置编码的隐含存在:"六月"和"四月"的先后——时间上的差别——被书吏作为独立的关联维度来处理。Transformer 中位置编码正是将时序信息注入原本"位置无关"的并行计算中,让模型知道谁先谁后。故事中书吏虽同时工作,但"时间关联"这种维度保证了他们不会混淆先后。

  7. 从 O(n) 到 O(n²) 的取舍:老阁主三十年只看到了一条线(序列处理一次只沿一个方向传播信息),沈知微的方法在两个时辰内画出了四百条线(全连接自注意力一次计算所有位置对之间的关系)。这就是 Transformer 以 O(n²) 的空间复杂度换取全局信息交互能力的设计取舍——它更贵,但它看见了整张网。

后记:陆观尘在千机殿看了三十年卷宗,他并不笨——他只是被"一次看一卷"的习惯困住了。沈知微没有发明任何新东西:书吏还是那些书吏,案卷还是那些案卷。他只是把一个"一个人顺着看"的工序,拆成了"所有人互相对着看"的工序。Transformer 的思想何其相似——它没有比 RNN 更多的信息,它只是让每一个词同时望向每一个词,让关系之间不再有隔阂。千机殿里那十二年没人答出的复问,不是信息不够——是信息之间缺了一张网。