从机器翻译到 Transformer

左右滑动查看完整图解 ↔

放大阅读图解 ↗

本讲目录

49页课堂主线

一句译文里的决定

语言分析怎样参与翻译

从单位到向量

沿句子更新状态

完整地生成一句译文

需要时回头读取

重新组织完整 Transformer

从任务数据到预训练

让图像提供缺少的颜色

让同一计算少搬数据

回到研究选择

完整资源推导(可选)

本页说明

学习材料

缓存到 a,blue 仍需逐层计算

T50 · 缓存到 a,blue 仍需逐层计算

同一图文条件下继续生成:a 已经选出 blue,下一步把 blue 送回。因果计算使旧位置不受后来位置影响,因此可以追问每层哪些结果能复用。

状态 b0

旧缓存截至a;上一行已选择blue,本步把blue作为新输入,book尚未知。

状态 b1

由于causal mask,追加blue不改旧表示;每层保留各自历史K/V,blue仍逐层产生Q/K/V。

状态 b2

blue当前query读取合法历史及自身,经后续计算和词表选book;不复算旧位置的完整表示。

状态 b3

下一步输入book,缓存加入已处理blue;历史增长使存储增长,图像或前缀改变时不能复用旧缓存。

公式与算例详情

缓存复用以参数、前缀、位置与推理状态一致为条件。每层保存该层旧位置的 K/V;新 token 仍逐层计算自己的 Q/K/V,再把本层新 K/V 加入缓存。图片或前缀变化时,不能直接沿用旧条件的缓存。

KV payload 近似为 2×L×B×T×Hkv×dh×s:2 为 K 与 V,L 为层数,B 为批次,T 为位置数,Hkv 为 KV 头数,dh 为每头维度,s 为每元素字节。L=32、B=1、T=4096、Hkv=8、dh=128、s=2 时为 536870912 字节,即 512 MiB,只计 KV,不含参数、FFN 激活及其他缓存。完整账本见 resource-ledger。

继续学习

路径 C:材料放得下,不代表采用了当前事实 · LAB03:路径C · 材料放得下,不代表采用了当前事实

给长前缀列一张有单位的资源账本 · LAB03:G · 旧 K/V 哪些可以沿用,哪些必须作废?

历史推导与原实验身份:R54 · R55 · R56 · R57。旧切分、代词、权重与测量保留原任务条件,不能替换成本轮九单位新句。