428 Chapter 12. 基于自注意力的模型 肖桐 朱靖波
12.8 推断
Transformer 解码器生成译文词序列的过程和其它神经机器翻译系统类似,都
是从左往右生成,且下一个单词的预测依赖已经生成的单词。其具体推断过程如
图12.19所示,其中 C
i
是编码-解码注意力的结果,解码器首先根据“<sos>”和 C
1
生成第一个单词“how”,然后根据“how”和 C
2
生成第二个单词“are”,以此类推,
当解码器生成“<eos>”时结束推断。
但是,Transformer 在推断阶段无法对所有位置进行并行化操作,因为对于每一
个目标语言单词都需要对前面所有单词进行注意力操作,因此它推断速度非常慢。可
以采用的加速手段有:Cache(缓存需要重复计算的变量)
[537]
、低精度计算
[538, 539]
、共
享注意力网络等
[540]
。关于 Transformer 模型的推断加速方法将会在第十四章进一步
深入讨论。
h
1
h
2
h
3
e
x
() e
x
() e
x
()
你
好
⟨eos⟩
编码器
e
y
() e
y
() e
y
() e
y
()
s
1
f
1
s
2
f
2
s
3
f
3
s
4
f
4
...
softmax
解码器
softmax softmax softmax
⟨sos⟩
How
are
you
How
[step 1]
are
[step 2]
you
[step 3]
⟨eos⟩
[step 4]
top1 top1 top1 top1
C
1
编码-解码注意力机制:上下文
C
2
C
3
C
4
图 12.19 Transformer 模型的推断过程示例