【AI】为什么没有encoder,LLM也能理解上下文?
详细的解释如下:让我们回到两种架构处理输入的根本区别上:当任务的复杂性体现在**“输入和输出之间存在高度的结构性差异,需要对输入进行全局重构才能开始生成”**时,Encoder的优势就显现出来了。以下是一些具体的例子:高质量的机器翻译 :长文档的抽象式摘要 (Abstractive Summarization) :代码转换 (Code Transpilation) :你可能会问,既然Encoder
·
详细的解释如下:
让我们回到两种架构处理输入的根本区别上:
- Encoder (编码器) : 它的自注意力是 完全双向 的。在处理输入文本中的任何一个词时,它都能无限制地、同时地看到这个词前面和后面的所有词。它像一个站在山顶的人,可以俯瞰整个输入文本的全貌,从而构建一个对输入的、最全局、最整体的理解。
- Decoder-Only (纯解码器) : 它的自注意力是**单向(因果)**的。在处理输入文本(Prompt)时,它虽然也能“读”完整个Prompt,但其内在机制是“顺序”的。在处理第 i 个词时,它只能关注从第1个到第 i 个词。它像一个在山路上行走的人,只能回头看走过的路,而不能瞬间看到整条山路的全貌。
什么时候Encoder的引入会更好?
当任务的复杂性体现在**“输入和输出之间存在高度的结构性差异,需要对输入进行全局重构才能开始生成”**时,Encoder的优势就显现出来了。
以下是一些具体的例子:
-
高质量的机器翻译 :
- 复杂性 : 德语的动词经常放在句子末尾,而英语则不然。要准确地将一句复杂的德语翻译成英语,模型几乎必须先完整地读完并理解整个德语句子,找到主谓宾和各种从句,在脑海里形成一个完整的逻辑图,然后才能开始构建符合英语语法的句子。
- Encoder优势 : Encoder可以完美地胜任这个“读完并理解”的步骤,形成一个不受特定语言语序束缚的“意义表示”。Decoder则可以专注于如何用目标语言把这个“意义”表达出来。
- Decoder-Only的挑战 : 纯解码器模型在处理这种长距离依赖和语序重排时,虽然也能做,但更像是“边看边猜边翻译”,理论上出错的风险更高。
-
长文档的抽象式摘要 (Abstractive Summarization) :
- 复杂性 : 写一份好的摘要,不是简单地摘抄原文的重点句。你需要读完整篇报告,理解第一章的论点、第三章的数据和第五章的结论,然后把它们捏合在一起,用 你自己的话 重新写一段总结。
- Encoder优势 : Encoder可以通读全文,构建一个关于整篇文章核心思想的全局视图。Decoder拿到这个全局视图后,就可以像一个真正的编辑一样,围绕这个核心思想进行创作。
- Decoder-Only的挑战 : 纯解码器在处理非常长的文档时,可能会更倾向于总结文章开头或结尾部分的内容,因为它对上下文的感知是顺序的,可能会“忘记”中间的重要细节。
-
代码转换 (Code Transpilation) :
- 复杂性 : 将一个复杂的Python函数转换成等效的JavaScript函数。这需要理解Python代码的整体逻辑、变量作用域、类继承关系等,然后才能生成结构正确的JavaScript代码。
- Encoder优势 : Encoder可以先“静态分析”整个Python代码块,形成一个抽象语法树(AST)的“感觉”,理解其完整的功能。Decoder再根据这个功能蓝图去写JS代码。
那么,为什么现在Decoder-Only还这么火?
你可能会问,既然Encoder这么好,为什么现在的GPT-4等顶尖模型都是Decoder-Only?
这正是“理论”与“工程现实”的精彩碰撞:
- 规模改变一切 (Scale Trumps All) : 事实证明,当模型参数和训练数据量达到惊人的规模时,Decoder-Only模型用其庞大的“参数化知识”和超长的上下文窗口,在很大程度上 弥补了 其单向注意力的理论短板。它虽然是“顺序”处理,但由于见过的模式实在太多,它已经能在一个很长的序列里“记住”和“关联”遥远的信息,表现得 好像 有了全局理解。
- 任务的统一性 : Decoder-Only架构用“文字接龙”这一个极其简单的任务,统一了几乎所有NLP任务。这种简洁性在工程上是巨大的优势,使得研究者可以把所有精力都投入到优化这一种架构上。
- 指令微调 (Instruction Tuning) : 通过在大量“指令-回答”数据上进行微调,我们教会了Decoder-Only模型如何“遵循指令”。当你给它一个翻译指令时,它学会了先“读”完你的源语言部分,再开始“写”目标语言部分,在行为上模拟了Encoder-Decoder的流程。
结论
- 理论上 : 对于输入和输出结构差异巨大、需要深度全局理解的 复杂转换任务 ,Encoder-Decoder架构是 更匹配、更优雅 的设计。
- 实践中 : Decoder-Only架构凭借 暴力的规模、简洁的结构和巧妙的训练 ,在很多这类任务上也取得了SOTA(State-of-the-Art)的效果,可以说是“工程上的实用主义胜利”。
所以,如果未来有一个任务,其对输入的理解要求极其苛刻,以至于现有规模的Decoder-Only模型也难以胜任,那么重新引入Encoder,或者设计新的融合架构,将是一个非常重要的研究方向。对于那些需要对极其复杂的输入进行整体、双向理解才能生成正确输出的任务,引入一个专门的Encoder会提供一个更优、更鲁棒的解决方案。
参考资料:
https://kexue.fm/archives/9529
更多推荐


所有评论(0)