Transformer 是什么?注意力机制与模型架构的区别
用句子中的代词关系解释注意力,区分编码器、解码器和已训练权重,并说明架构名称为何不足以判断模型的实际能力。
先理解这个概念
Transformer是一类以注意力机制为核心的神经网络架构,能结合序列中不同位置的信息计算表示。原始研究用于序列转换,采用编码器与解码器;后来的模型也可以只使用其中一类结构。Transformer指计算结构,不是某个已训练模型的别名,也不保证所有采用它的产品具有相同功能或准确性。
注意力按当前表示关联其他位置
例如句子写着小王把书交给小李,随后说他开始阅读。处理代词时,需要结合前文,而不是只看单独一个字。注意力通过学习到的计算关联位置,但不能把这种权重直接解释为人类理解,也不能保证消除句子本身的歧义。
原始Transformer还包含前馈网络等组件,并利用位置信息处理顺序。不能把注意力简化为人工圈出几个关键词。模型对哪些信息敏感,与训练和具体结构都有关系,某个注意力图也不足以证明最终答案的完整因果解释。
编码器与解码器适合的任务形式不同
编码器常用于形成输入表示,解码器常用于逐步生成输出,编码器与解码器组合可用于翻译等序列任务。这是结构层面的概括,实际用途还取决于训练目标。不能只看模型属于哪一家族,就断定它支持聊天或图像输入。
自回归生成通常根据已给出的上下文和之前生成的内容预测后续词元,不能在生成当前词元时直接使用尚未产生的答案。训练中的遮罩与运行时的生成过程应分别理解,不能把并行训练误写成一次同时生成全部回答。
架构与检查点需要配套核对
架构定义每层怎样计算,检查点保存训练得到的权重。同一架构可能有多个数据来源和不同任务版本,输出表现会有差别。下载模型时需要匹配配置和分词器,不能把任意一份权重放进同名结构就默认兼容。
使用者应回到具体输入和输出要求验证。例如检查一段含歧义代词的文本,模型是否承认不确定,而不是观察它能否说出注意力这个术语。本文核对论文与教学资料,没有运行架构比较,也不以网络名称推断产品排名。
核对来源
以下资料用于核对概念和方法。文中的示例与测试范围分别注明,实际使用时请核对所用工具的版本。