01 解码器 Decoder
Transformers 是一种编码器-解码器(Encoder-Decoder)架构。输入的数据经过编码(转换)成数学表征(某种形式的数字,通常是向量)。然后,它被传输到另一个被称为解码器的处理单元,在解码器中将数字转换回所需的输出。 在语言模型中,就是生成一个单词作为最终的输出结果。
解码器的首要任务是根据目标序列(我们想要给出的答案)创建值矩阵。它会接收整个目标序列,将其转换为嵌入向量(Embeddings),并像编码器(encoder)一样添加位置编码。然后,它将嵌入向量传递给一个带掩码的多头注意力层,该层就会创建值矩阵。这个矩阵将帮助模型决定用户的Prompt和预期目标如何共同发挥作用。
在解释 Transformers 的工作原理时存在一种悖论,因为我们需要理解各个组成部分才能理解最终结果(end result)是如何产生的,但我们同时也需要理解最终结果是如何产生的才能理解各个组成部分。在解释Transformer的训练过程时,我们将超越当前的理解,从未来的角度进行解释,以便更好地理解Transformer的训练方式:
首先,在编码器中,用户的Prompt被转换为嵌入向量,然后我们在其中添加位置编码。编码器组(原始论文中为6个)处理数据并生成文本的数字表征。接下来,在解码器中,我们将期望的输出(我们希望模型回应的内容