【面试题】Transformer相比RNN的优势?
一句话金句: 算得快(并行)、记得远(全局)。
通俗解释:
主要优势就两点,彻底解决了RNN的核心痛点:
-
并行化计算(算得快):
- RNN 像单线程工厂流水线,必须等第一个词处理完,才能处理第二个词,无法并行,训练极慢。
- Transformer 像现代化工厂的流水线,所有词同时摆上流水线一起处理,能完全利用GPU进行并行计算,训练速度极快。
-
长距离依赖(记得远):
- RNN 像传话游戏,一句话从第一个人传到最后一个人,信息很容易走样或丢失。它难以记住很远之前的信息。
- Transformer 的自注意力机制让每个词都能和序列中任何位置的词直接“对话”。无论隔多远,模型第一步就能直接建立句首和句尾词的联系,记忆能力非常强。
【补充思考:局限性】
当然,Transformer也有缺点。它的自注意力机制计算量会随着序列长度平方级增长(O(n²)),因此在处理超长文本(如长文档、高分辨率图像)时非常耗内存和算力。而RNN的计算复杂度是线性的(O(n)),在推理效率上有其优势。