跳到主内容
快讯直播
AI智模界
AI 词典

前缀语言模型(Prefix LM):一半双向,一半因果

一句话定义

前缀语言模型(Prefix LM)把一条序列切成“前缀(prefix)”和“续写(continuation)”两段:前缀内部每个位置都能看见前缀里的所有位置,这叫双向注意力(bidirectional attention);续写部分只能看见自己左边已经出现的内容,这叫因果注意力(causal attention)。同一个模型、同一套参数,只靠一张注意力掩码(attention mask)区分这两种行为。

打个比方

像语文考试的“材料作文”。发下来的阅读材料你可以来回翻、前后对照着看,这就是前缀的双向注意力;但你动笔写作文时,只能一句接一句往下写,不能先跳到结尾再回头补中间,这就是续写的因果注意力。整张卷子是同一个人在做,只是“读”和“写”的规则不同。

它和纯 Decoder-only 不是一回事

最常见的误解是:“现在的大模型不都是 decoder-only 吗?那前缀不就是提示词?”关键差别在掩码。

  • 纯 Decoder-only:整条序列(包括提示词)一律因果。提示词里第 3 个词看不见第 5 个词,哪怕它们都属于“已经给定”的输入。
  • 前缀 LM:前缀区域整体放开双向。前缀里第 3 个词能看见第 5 个词——因为这段是“给定条件”,不需要防作弊。

一个训练上的惯例:损失(loss)通常只算在续写部分,前缀部分不计入,因为它已经是给定的。

架构前缀部分的注意力生成部分的注意力结构
Decoder-only(GPT 式)因果因果单栈
Encoder-Decoder(T5、BART 式)双向(独立编码器)因果 + 交叉注意力双栈
Prefix LM双向因果单栈,一张掩码

对从业者的实际意义

第一,注意力掩码是一个可以设计的自由变量,不是天经地义。想让条件信息编码得更充分,就放宽前缀的可见性;想让训练和推理完全一致,就收紧。

第二,前缀双向对“给一大段材料再让我处理”的任务天然友好:检索到的文档、任务说明、源代码上下文、表格,这些内容彼此之间的关联能被编码进去,而不必挤在一条严格的从左到右通道里。

第三,代价主要在工程侧。主流工具链、KV cache 复用、现成权重都是围绕 decoder-only 长起来的,前缀的双向部分不能像因果部分那样简单地增量缓存。所以它更多是特定架构与训练目标上的选择,而不是默认选项。

对普通人来说,判断标准很朴素:如果一个模型“读完材料再回答”明显更稳,说明它在条件编码上是下了功夫的;选型时看任务形态,别只看参数量。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。