跳到主要内容

向左看、向下传 — Transformer 如何决定了提示词的一切

这一章讲一件事: 模型内部到底长什么样,以及为什么这个构造让 「提示词里先放什么、后放什么」成了提示工程的第一变量(最先要拧的那个旋钮)。 读完你会拿到一个判断任何任务能不能交给它的口诀。

1. 这一章讲什么

前两章说的是「它做什么」,这一章说「它怎么做到的」——但只讲到对写提示词有用的深度。 原书声明得很干脆:这是本讲怎么用的书,矩阵(把数排成表格做乘法)乘法留给别家;

激活函数(信号往下一个单元传时要过的一道门槛)也不讲 (书推荐的深读材料是经典图解 The Illustrated Transformer)1

主走查还是那句儿歌:「One, Two,」→「 Buckle」。 这一次我们跟它钻进模型内部,看这四个标记各自顶着一个「小脑」, 是怎么一步步把 [ Buck] 拱出来的。辅走查是作者亲手做的一个实验: 同一段话、同一个问题,问题放在开头和放在结尾,答案差了整整一倍

2. 顶层全景:一千个一模一样的小脑

剥开最后一层皮,里面不是一个大脑,而是几千个「小脑」: 每个标记上坐一个,结构完全相同,互为克隆2

每个小脑开局只知道两件事:我坐在哪个标记上、这个位置是全文第几号。 然后它原地思考固定的步数——每一步叫一层,GPT-3 有 96 层,更新的模型普遍过百3

思考期间,它能收到左边小脑递来的笔记;思考完,它干两件事: 把笔记递给右边的小脑;顺便猜一猜「我右边那个标记是什么」。

[One] [,] [ Two] [,] ← 四个标记,各坐一个小脑
脑1 →→ 脑2 →→ 脑3 →→ 脑4 →→ 猜:[ Buck] ← 只有最右这个的猜测被采用
└ 每轮思考:收左边的笔记 → 想 → 递右边(共 96 轮)

猜中后:给 [ Buck] 安置一个新小脑,四轮起步,再猜下一个 → [le]

图说:主走查全景。前面几个小脑的猜测全都作废——
它们右边的标记早就在提示词里了,猜什么不重要;
重要的是它们递出去的笔记。

注意一个省油设计:提示词里那些小脑的笔记算完就存着—— 缓存——把算过的结果存下来、下次直接取用——之后每吐一个新标记, 旧笔记不用重算,只为新标记补一个新小脑4

3. 核心原理

3.1 笔记怎么递:注意力是一场问答游戏

几千个小脑,谁的笔记该给谁?这套交通规则就是注意力—— 第 01 章说过它是 2015 年发明的「软搜索」,这里看它具体怎么玩。

它像一场问答游戏,四步走5:

  1. 每个小脑报上几个问题。 坐在 [my] 上的小脑想知道「我」指谁, 就挂出问题:「谁在说话?」
  2. 每个小脑报上几条答案。 坐在 [Susan] 上的小脑, 从之前的笔记里得知这是自我介绍的最后一句,就挂上: 「现在说话的人是 Susan。」
  3. 系统自动配对。 「谁在说话?」和「现在说话的人是 Susan」严丝合缝。
  4. 答案递回提问者。 [my] 上的小脑收到答案,它对「my」的理解里 从此掺进了「Susan」。

当然,小脑们不说人话——问题和答案都是向量——一长串数字, 是模型内部表示「意思」的通用货币,每个模型在训练中自己发明这套「数字语言」6

主走查在这里过一站: [ Two] 上那个小脑挂的问题大概是 「我在这个数数序列(一字排开的一串)里的什么位置?」,[One] 那边递来「这是从 1 开始的列举」—— 于是它递向右边的笔记里,「接下来很可能是某个押韵的接龙」的分量越来越重, 到最右边小脑的第 96 层,[ Buck] 的分数压过了 [ Three]

3.2 两条铁律:只向左看,只向上传

这场游戏有两条门禁。合起来,它们决定了提示工程的一半规矩。

第一条:遮罩(masking)——只准左边的小脑回答问题。 [my] 提问时,它右边的小脑哪怕知道答案也不许吭声; 而且小脑永远不会被告知「你的答案被没被用上」——右边无法影响左边。 人们说的「单向 Transformer」,单向就单向在这儿7

第二条:只向上传。 第 80 层的小脑,只能从第 79 层及以下的笔记里取答案。 换句话说,第 i 层的一条「思考链」最多 i 步深; 高层的新发现,没有任何通道回灌给低层再加工8

信息流向:
高层 ← 只能从下一层收笔记

低层 ← 只能从左边收笔记

[标记1] [标记2] [标记3] … ← 永远不许从右边收

图说:backward-anddumbward——向左看(backward)、向下传(dumbward)。

这两条带来一个非常实用的不对称:读提示词可以并行——许多份计算同时推进, 因为第 N 个标记的小脑只依赖它左边的笔记,大家互不等待; 写补全却只能串行,因为下一个标记的小脑,得等上一个标记被最终选定才能开工。 所以模型读长提示词比写长补全快得多——书里给的口径是快大约一个数量级9。 (用训练好的模型做预测,行话叫推理——和「训练」相对,训练调参数,推理只用不调。)

3.3 唯一的回灌通道:把想法写成字

上一节那条「高层发现回不了低层」有一个例外,而且这个例外值半本书:

小脑想完 96 层,产出的是一个标记;这个标记被接到文末, 成为下一个小脑第 1 层的输入。 也就是说,最高层的想法,可以经由「写出来」回到最低层。

书里引了句俏皮话来形容:「我怎么知道我在想什么?等我听见自己说了什么才知道。」 这个「想出声的才有机会被再想一遍」的结构事实,就是思维链—— 让模型把一步步思考写进输出、再基于这些文字继续作答的技巧——的全部根据。 它在第 10 章会大放异彩,这里只要记住:它的草稿纸就是它已经写出来的字10

3.4 辅走查:同一个问题,放错位置,答案差一倍

作者拿自己这章草稿做了个实验,这是全书证明「顺序第一」最硬的一个证据11

他问 ChatGPT:「上面那一段有多少个词?」(正确答案是 173。) 把问题放在段落后面喂给它——它答:348。 错得离谱:对那一段来说太多,对全文来说又太少。

错在哪?回到小脑模型:处理那一段文字时,问题还没出现。 小脑们读那一段的时候,不知道「词数」会是考点, 注意力全花在语义(词和句的意思)、语气、修辞上——没人盯词数。 等读到问题,想回头,对不起:第一、二条铁律,不许回头。

人不一样:人可以带着问题再读一遍,心里还能开个计数器。 它不行,它只读一遍

然后作者把同一个问题挪到段落前面再问——它答:173,基本对了。 (书里补了句公道话:计数对它本来就难,但「先知道要数什么」显然天壤之别。)11

由此,书里给出一条判断任何任务可行性的口诀,值得抄在墙上:

问你自己:一个把相关常识都背下来的人类专家, 能不能不回头、不修改、不记笔记,一口气续完这段? 能,这活模型就能干;不能,你就得替它想办法。12

4. 作者的判断与证据

有硬证据的:

  • 词数实验是作者亲手做的,348 与 173 两个数字都来自他的实际提问记录11;
  • 「读比写快约一个数量级」是作者给的工程口径,并且用遮罩-三角结构解释了成因9;
  • 小脑模型本身是对真实架构的教学化改写——作者明说不讲矩阵, 但保留了对提示工程有影响的一切:克隆结构、层数、注意力、遮罩、缓存1

作者明说的边界:

  • 「GPT-3 有 96 层」是公开数字;「更新的模型超过 100 层」, 原文用的是趋势语气(「tend to have over 100」),不是实测清单3;
  • 「出声思考是高层回灌低层的唯一通道」是从结构推出的论断, 作者把它直接接到第 8 章的思维链上——是推论,但有论文佐证,第 10 章见10

判断(我们的,不是书里的): 这一章给提示工程提供了三条「 structural law(结构定律)」: 顺序敏感(先问题后资料)、出声思考(草稿纸=已写文字)、读快写慢(长输出又贵又慢)。 后面章节里大量技巧都是这三条的推论——三明治写法、refocus、思维链、流式截断, 读到时候可以回来对号。 如果错,会错在: 如果未来架构放开遮罩(允许双向看)或允许高层回灌, 「顺序第一」会被削弱;但 2024 年的主流生成模型(接着上文往外写的这类)全是单向的,书里也注明 「这在最初的 Transformer 上不是这样,如今已成文本生成的常态」7

5. 边界与局限

  • 小脑模型是地图,不是领土。 真实实现里是矩阵运算,没有小脑也没有喊话; 但这张地图预测对了所有提示工程关心的现象(顺序敏感、读快写慢、草稿纸效应)。 想看领土,书指的路是 The Illustrated Transformer1
  • 本章讲的是生成式(从左往右往外写)Transformer 的常态。 编码器类模型(如做嵌入的那些) 不受遮罩限制——第 07 章讲的嵌入模型就允许双向看,这是它和 LLM 的结构性差别之一。
  • 层数、缓存等细节随代际变化快。 96 层、过百层是 2024 年的口径,下一代会变; 不变的是「只向左看、只向上传」这两条。

6. 可带走的

主走查一行回顾:四个标记各坐一个小脑 → 96 层里靠问答游戏互递笔记 → 最右小脑猜出 [ Buck](其余猜测作废)→ 新小脑上岗,笔记靠缓存复用 → 猜出 [le]——全程信息只向左看、只向上传。

  1. 它是几千个克隆小脑的阵列,不是一个统一大脑;
  2. 注意力 = 提问、供答、自动配对、递回——配对用数字向量,不用人话;
  3. 只向左看、只向上传——顺序因此成为提示工程第一变量;
  4. 先给问题,再给资料——它只读一遍,读的时候就得知道要找什么(348 vs 173);
  5. 读快写慢,差一个数量级——长补全又慢又贵,能短则短;
  6. 它的草稿纸是已经写出来的字——这是思维链的全部根据(第 10 章展开);
  7. 任务可行性口诀: 背完常识的人类专家,能不能不回头、不修改、不记笔记一口气续完?
  8. 缓存让旧笔记不重算——所以提示词前缀稳定能省时省钱(第 08 章组装的隐藏约束)。

7. 原文地图

主题原书章原文位置
小脑模型、克隆、层数Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:596(搜「thousands of minibrains」) · :648(搜「tend to have over 100」)
注意力问答游戏Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:673(搜「Who is talking?」) · :679(搜「vectors of numbers」)
遮罩、信息流向Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:682(搜「from the left to the right」) · :686(搜「masking」)
三角并行、读快写慢Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:697(搜「triangle」) · :718(搜「order of magnitude faster」)
backward-anddumbward、出声思考Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:721(搜「backward-anddumbward」) · :740(搜「heard what I」)
词数实验Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:747(搜「348 words」) · :760(搜「claiming 173」)
人类专家口诀Chapter 2text/05-ch02-chapter-2-understanding-llms.txt:767(搜「in a single go without」)

Footnotes

  1. 出处:「Chapter 2. Understanding LLMs」第 17-23 段(text/05-ch02-chapter-2-understanding-llms.txt:21,搜「Illustrated Transformer」)。原文:「this is a book about using LLMs, not about LLMs themselves」。 2 3

  2. 出处:「Chapter 2. Understanding LLMs」第 594-611 段(text/05-ch02-chapter-2-understanding-llms.txt:596,搜「thousands of minibrains」)与(:611,搜「clones of each other」)。

  3. 出处:「Chapter 2. Understanding LLMs」脚注 12(text/05-ch02-chapter-2-understanding-llms.txt:649,搜「tend to have over 100」)。原文:「real-world LLMs usually have tens of layers. GPT-3 has 96, and newer models (like GPT-4) tend to have over 100」。 2

  4. 出处:「Chapter 2. Understanding LLMs」第 624-629 段(text/05-ch02-chapter-2-understanding-llms.txt:628,搜「cache and repeat」)。

  5. 出处:「Chapter 2. Understanding LLMs」第 654-680 段(text/05-ch02-chapter-2-understanding-llms.txt:673,搜「Who is talking?」)。四步原文是编号列表,[my][Susan] 是书里的例子。

  6. 出处:「Chapter 2. Understanding LLMs」第 677-680 段(text/05-ch02-chapter-2-understanding-llms.txt:679,搜「vectors of numbers」)。原文:这套数字语言「is something the LLM 『invents』 during training」。

  7. 出处:「Chapter 2. Understanding LLMs」第 685-691 段与脚注 14(text/05-ch02-chapter-2-understanding-llms.txt:686,搜「masking」)。脚注 14:「This wasn't the case in the original transformer architecture, but it has become the norm for text-generating LLMs.」 2

  8. 出处:「Chapter 2. Understanding LLMs」第 721 段(text/05-ch02-chapter-2-understanding-llms.txt:721,搜「dumbward」)。原文:「any 『chain of reasoning』 in layer i can only be i reasoning steps deep」。

  9. 出处:「Chapter 2. Understanding LLMs」第 692-719 段(text/05-ch02-chapter-2-understanding-llms.txt:697,搜「triangle」)与(:718,搜「order of magnitude faster」)。原文:「prompt tokens are about an order of magnitude faster」。 2

  10. 出处:「Chapter 2. Understanding LLMs」第 735-741 段(text/05-ch02-chapter-2-understanding-llms.txt:740,搜「heard what I」)。原文:「This thinking aloud is the only way the model can let information flow from higher layers to lower layers」,并当场指明这是 chain-of-thought prompting 的基础。 2

  11. 出处:「Chapter 2. Understanding LLMs」第 742-762 段(text/05-ch02-chapter-2-understanding-llms.txt:747,搜「348 words」)与(:760,搜「claiming 173」)。原文:「when I asked the word count question at the beginning instead…well, ChatGPT still didn't get the answer right because counting is hard for LLMs. But at least it came much closer, claiming 173」。 2 3

  12. 出处:「Chapter 2. Understanding LLMs」第 764-768 段(text/05-ch02-chapter-2-understanding-llms.txt:767,搜「in a single go without」)。完整问句:「Could a human expert who knows all the relevant general knowledge by heart complete the prompt in a in a single go without, editing, or note-taking?」