2016年9月,Google宣布将生产环境的翻译系统从基于短语的统计机器翻译全面切换到神经机器翻译。这个决定背后,是近二十年序列建模技术的积累与突破。从IBM的统计翻译模型,到Sutskever等人的LSTM Seq2Seq,再到Bahdanau的注意力机制,最终汇聚成Transformer这一改变NLP格局的架构。理解这段演进历程,不仅能帮助我们把握技术脉络,更能看清现代大语言模型处理序列任务的设计哲学。
统计时代的基石:从词对齐到短语翻译
在神经网络统治NLP之前,机器翻译的主流范式是统计机器翻译(Statistical Machine Translation, SMT)。这套方法的核心思想异常朴素:给定源语言句子$s$,找到最可能的目标语言翻译$t$:
$$t^* = \arg\max_t P(t|s)$$根据贝叶斯定理,这个条件概率可以分解为:
$$P(t|s) = \frac{P(s|t) \cdot P(t)}{P(s)} \propto P(s|t) \cdot P(t)$$这里$P(s|t)$被称为翻译模型(Translation Model),负责衡量源句子和目标句子之间的对应关系;$P(t)$被称为语言模型(Language Model),负责衡量目标句子本身的流畅程度。这个分解的精妙之处在于,它将翻译问题拆解成了两个相对独立的子问题。
1990年代初,IBM提出的系列模型(IBM Model 1-5)奠定了统计翻译的理论基础。这些模型的核心任务是解决词对齐(Word Alignment)问题——找出源语言中的每个词对应目标语言中的哪个词。IBM Model 1最简单,假设所有词对齐位置等概率,完全不考虑词序;IBM Model 2引入了位置变形的概念,使得对齐更倾向于对角线分布;后续的模型逐步增加了生育率(Fertility,一个源词生成多少个目标词)等复杂特征。
graph LR
A[源语言句子] --> B[词对齐]
B --> C[翻译模型 P(s|t)]
A --> D[语言模型 P(t)]
C --> E[解码器搜索]
D --> E
E --> F[目标语言句子]
style A fill:#e1f5fe
style F fill:#c8e6c9
然而,词级别的翻译模型面临一个根本性困境:很多语言现象无法用一对一的词映射来解释。比如英语的"computer science"在中文是"计算机科学",两个英语词对应一个中文词;德语的复合词"Donaudampfschifffahrtsgesellschaftskapitän"(多瑙河轮船公司船长)是一个词,但翻译成英语需要多个词。
2003年左右,基于短语的统计机器翻译(Phrase-based SMT)成为主流。这套方法不再以词为单位,而是以短语为单位进行翻译。短语表(Phrase Table)从双语平行语料中自动学习,记录了源语言短语到目标语言短语的对应关系及其概率。解码时,系统需要同时考虑短语翻译概率、语言模型得分、以及短语之间的扭曲度(Distortion,衡量短语顺序变化程度)。
graph TB
subgraph 统计机器翻译解码流程
A[源语言句子<br/>The cat sat on the mat] --> B[短语分割]
B --> C1[短语1: The cat]
B --> C2[短语2: sat on]
B --> C3[短语3: the mat]
C1 --> D1[短语表查询]
C2 --> D2[短语表查询]
C3 --> D3[短语表查询]
D1 --> E[候选翻译组合]
D2 --> E
D3 --> E
E --> F[语言模型评分]
F --> G[最佳翻译<br/>这只猫坐在垫子上]
end
style A fill:#e3f2fd
style G fill:#c8e6c9
统计机器翻译的黄金时代持续了约十五年,Google翻译的前身就是典型的SMT系统。但SMT存在几个难以克服的结构性问题:
首先,短语表的覆盖度永远不足。无论训练数据多大,总有新的短语组合出现,系统只能回退到词级别的翻译,导致输出不连贯。
其次,长距离调序极其困难。当源语言和目标语言的语序差异较大时(比如英语是SVO,日语是SOV),SMT系统的翻译质量急剧下降,因为扭曲度模型难以准确建模复杂的顺序变化。
第三,特征工程极其繁琐。一个典型的SMT系统包含几十种特征:短语翻译概率、词汇化重排序概率、语言模型得分、词惩罚、短语惩罚……每种特征都需要精心调参,特征之间的权重需要通过MERT(Minimum Error Rate Training)等算法在开发集上优化。
这些问题并非工程细节可以修补,而是范式的根本局限。SMT本质上是在做模式匹配和组合优化,它没有真正的"理解"能力——系统不知道"bank"在"river bank"和"bank account"中的含义差异,它只是根据上下文选择更可能的短语翻译。
神经网络的逆袭:Encoder-Decoder架构的诞生
2014年,两篇里程碑式的论文几乎同时发表,宣告了神经机器翻译(Neural Machine Translation, NMT)时代的到来。Sutskever等人的《Sequence to Sequence Learning with Neural Networks》和Cho等人的《Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation》提出了相似的架构思想:用一个循环神经网络编码源序列,再用另一个循环神经网络解码生成目标序列。
这种Encoder-Decoder架构的优雅之处在于端到端学习。整个翻译过程被建模为一个神经网络,从原始文本输入到翻译结果输出,中间不需要任何人工设计的特征。模型通过反向传播自动学习如何编码源语言信息、如何解码生成目标语言。
graph LR
subgraph Encoder
E1[h₁] --> E2[h₂] --> E3[h₃] --> E4[h₄]
W1[x₁] --> E1
W2[x₂] --> E2
W3[x₃] --> E3
W4[x₄] --> E4
end
subgraph Decoder
D1[s₁] --> D2[s₂] --> D3[s₃]
D1 --> Y1[y₁]
D2 --> Y2[y₂]
D3 --> Y3[y₃]
end
E4 -->|上下文向量 c| D1
style E4 fill:#ffecb3
style D1 fill:#c8e6c9
编码器逐词读取源语言句子,每一步更新其隐藏状态。当读完整个句子后,编码器的最终隐藏状态被压缩成一个固定长度的向量,这个向量被视为源句子的"语义表示"。解码器从这个语义向量出发,逐词生成目标语言句子,每一步的输出依赖于前一步的输出和当前的隐藏状态。
用数学语言描述,编码过程是:
$$h_t = f(h_{t-1}, x_t)$$$$c = h_T$$其中$x_t$是第$t$个源词的嵌入向量,$h_t$是编码器的隐藏状态,$c$是最终的上下文向量。解码过程则是:
$$P(y_t | y_{Sutskever等人在论文中使用多层LSTM(Long Short-Term Memory)作为编码器和解码器。LSTM通过门控机制解决了传统RNN的梯度消失问题,能够更好地捕捉长距离依赖。
graph TB
subgraph LSTM单元结构
X[x<sub>t</sub>] --> CONCAT[拼接]
H[h<sub>t-1</sub>] --> CONCAT
CONCAT --> F[遗忘门 σ]
CONCAT --> I[输入门 σ]
CONCAT --> O[输出门 σ]
CONCAT --> C_TILD[候选值 tanh]
F --> MUL1[×]
C_PREV[c<sub>t-1</sub>] --> MUL1
I --> MUL2[×]
C_TILD --> MUL2
MUL1 --> ADD[+]
MUL2 --> ADD
ADD --> C_NEW[c<sub>t</sub>]
C_NEW --> TANH[tanh]
O --> MUL3[×]
TANH --> MUL3
MUL3 --> H_NEW[h<sub>t</sub>]
end
style F fill:#ffcdd2
style I fill:#c8e6c9
style O fill:#bbdefb
LSTM的门控机制允许网络选择性地遗忘旧信息、接收新信息、输出相关信息。遗忘门$f_t$决定从细胞状态中丢弃哪些信息:
$$f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)$$输入门$i_t$决定哪些新信息将被存储:
$$i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)$$$$\tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C)$$细胞状态更新:
$$C_t = f_t * C_{t-1} + i_t * \tilde{C}_t$$输出门$o_t$决定输出哪些信息:
$$o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)$$$$h_t = o_t * \tanh(C_t)$$实验中,他们在WMT'14英语到法语的翻译任务上取得了与当时最优SMT系统相当的成绩——这在当时是震撼性的,因为整个NMT模型只需要几百万参数,而SMT系统需要从海量数据中抽取数十亿级别的短语对。
但原始的Encoder-Decoder架构存在一个致命缺陷:固定长度的上下文向量成为信息瓶颈。无论源句子多长——10个词还是100个词——所有信息都必须压缩进同一个固定大小的向量中。这就像要求一个人读完一整本书后,用一个句子概括全书内容,然后凭记忆重写整本书。
Cho等人在原始论文中就注意到了这个问题。他们发现,随着源句子长度增加,NMT的翻译质量急剧下降。当句子长度超过15-20个词时,LSTM-based NMT的BLEU分数已经明显低于SMT系统。这个现象被称为"长句瓶颈"或"信息压缩瓶颈"。
注意力机制:让模型学会"回头看"
2015年,Bahdanau等人在《Neural Machine Translation by Jointly Learning to Align and Translate》论文中提出了革命性的解决方案:注意力机制。
核心思想非常直观:解码器在生成每个目标词时,不应该只依赖一个固定的上下文向量,而应该"回头看"源句子的不同部分,动态地选择与当前生成最相关的信息。
具体来说,Bahdanau注意力机制将编码器从单向RNN改为双向RNN。对于源句子的每个位置$i$,编码器产生一个前向隐藏状态$\overrightarrow{h_i}$和一个后向隐藏状态$\overleftarrow{h_i}$,拼接后得到该位置的综合表示:
$$h_i = [\overrightarrow{h_i}; \overleftarrow{h_i}]$$解码时,对于每个时间步$t$,模型计算目标位置$t$与所有源位置$i$之间的对齐分数:
$$e_{ti} = a(s_{t-1}, h_i)$$其中$a$是一个前馈神经网络(这也是"加性注意力"名称的由来)。对齐分数经过softmax归一化后得到注意力权重:
$$\alpha_{ti} = \frac{\exp(e_{ti})}{\sum_{j=1}^{T_x} \exp(e_{tj})}$$最终的上下文向量是所有编码器隐藏状态的加权和:
$$c_t = \sum_{i=1}^{T_x} \alpha_{ti} h_i$$graph TB
subgraph 编码器
H1[h₁] --> H2[h₂] --> H3[h₃] --> H4[h₄]
end
subgraph 注意力计算
A1[α₁] --> C[c₁]
A2[α₂] --> C
A3[α₃] --> C
A4[α₄] --> C
end
subgraph 解码器
S[s₁] --> Y[y₁]
end
H1 -.-> A1
H2 -.-> A2
H3 -.-> A3
H4 -.-> A4
C --> S
style C fill:#ffecb3
style S fill:#c8e6c9
这个设计的精妙之处在于,注意力权重$\alpha_{ti}$充当了软对齐(Soft Alignment)的角色。模型学会了在翻译每个目标词时,应该关注源句子的哪些部分。比如,在翻译英语"I love you"为法语"Je t’aime"时,当解码器生成"aime"这个词,注意力权重会高度集中在源句子的"love"位置。
Bahdanau注意力机制一举解决了长句瓶颈问题。实验显示,加入注意力后,NMT在长度超过30个词的句子上,BLEU分数不再随长度增加而下降,反而保持了稳定。更重要的是,注意力权重提供了一种可视化的方式来理解模型的决策过程——这为神经网络的可解释性研究开辟了新方向。
2015年至2017年间,注意力机制成为NMT研究的焦点。各种变体层出不穷:Luong等人提出了乘性注意力(Multiplicative Attention),计算效率更高;Cheng等人提出了自注意力(Self-Attention)用于文本表示学习;Vaswani等人则更进一步,提出了完全基于注意力的Transformer架构。
Transformer:抛弃循环,拥抱注意力
2017年,Google团队在《Attention Is All You Need》论文中提出了Transformer架构。这篇论文的影响力远超机器翻译领域,它奠定了现代大语言模型的架构基础。
Transformer的核心创新是彻底抛弃了循环结构,完全依赖注意力机制来建模序列依赖关系。这个设计选择背后有几个关键考量:
并行化优势。RNN的顺序特性导致训练无法并行——必须等$t-1$时刻计算完成后才能计算$t$时刻。而Transformer的自注意力允许所有位置同时计算,大大提升了训练效率。在相同计算预算下,Transformer可以在更大数据集上训练,这是大模型崛起的技术前提。
长距离依赖。RNN中,位置$i$和位置$j$之间的依赖路径长度为$|i-j|$,梯度需要经过这么多步反向传播,容易消失或爆炸。而在Transformer的自注意力中,任意两个位置之间的依赖路径长度仅为1——每个位置可以直接"看到"所有其他位置,不存在信息传递的衰减问题。
灵活的注意力模式。RNN的隐藏状态按顺序传递,信息流动是固定的。而Transformer的多头注意力允许模型学习不同的注意力模式,不同的"头"可以关注不同类型的依赖关系——有的头关注语法关系,有的头关注语义关联。
Transformer的编码器由$N$个相同的层堆叠而成(原始论文中$N=6$),每层包含两个子层:多头自注意力和前馈网络。解码器类似,但插入了一个额外的编码器-解码器注意力层,用于在生成时"查看"编码器的输出。
自注意力的计算过程如下。给定输入序列$X \in \mathbb{R}^{n \times d}$,通过三个线性变换得到查询(Query)、键(Key)、值(Value)矩阵:
$$Q = XW^Q, \quad K = XW^K, \quad V = XW^V$$注意力分数通过缩放点积计算:
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$其中$d_k$是键向量的维度,除以$\sqrt{d_k}$是为了防止点积值过大导致softmax梯度消失。
多头注意力将$d$维的查询、键、值投影到$h$个不同的子空间,分别计算注意力后拼接:
$$\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h)W^O$$其中$\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)$。
graph TB
subgraph Transformer编码器
Input[输入嵌入 + 位置编码] --> MHA[多头自注意力]
MHA --> Add1[残差连接 + 层归一化]
Add1 --> FFN[前馈网络]
FFN --> Add2[残差连接 + 层归一化]
end
subgraph 多头注意力
Q[Query] --> Dot[缩放点积]
K[Key] --> Dot
Dot --> Softmax
Softmax --> Weighted[加权求和]
V[Value] --> Weighted
end
subgraph 注意力头并行
H1[Head 1]
H2[Head 2]
H3[...]
H4[Head h]
end
style MHA fill:#e1f5fe
style FFN fill:#fff3e0
在WMT'14英语到德语的翻译任务上,Transformer取得了28.4 BLEU的成绩,比当时的最佳结果(包括集成模型)提高了超过2个BLEU点。更重要的是,Transformer的训练速度是当时最优模型的数倍,这使得更大规模的模型训练成为可能。
Transformer的成功不仅仅是架构创新,它代表了一种设计哲学的转变:从精心设计的循环结构转向更简单、更通用的注意力机制。这种"少即是多"的设计哲学,后来被证明对大语言模型的规模化至关重要——模型越大,Transformer架构的优势越明显。
训练与推理:从Teacher Forcing到Beam Search
Seq2Seq模型的训练和推理涉及一系列关键技术,这些技术的选择对模型性能有着深远影响。
Teacher Forcing是Seq2Seq训练的标准方法。在训练时,解码器的每一步输入不是模型自己上一步的预测结果,而是真实的参考词。这种方法显著加速了训练收敛,因为模型不需要在错误的预测基础上学习纠正。但Teacher Forcing带来了一个系统性问题——训练和推理的不一致(Exposure Bias)。
graph TB
subgraph Teacher Forcing 训练
TF_SRC[源序列] --> TF_ENC[编码器]
TF_ENC --> TF_CTX[上下文]
TF_CTX --> TF_DEC[解码器]
TF_REF[参考答案] -.->|强制输入| TF_DEC
TF_DEC --> TF_OUT[输出]
end
subgraph 自由运行 推理
FR_SRC[源序列] --> FR_ENC[编码器]
FR_ENC --> FR_CTX[上下文]
FR_CTX --> FR_DEC[解码器]
FR_DEC --> FR_PRED[预测]
FR_PRED -.->|自身输出作为输入| FR_DEC
FR_DEC --> FR_OUT[输出]
end
style TF_REF fill:#c8e6c9
style FR_PRED fill:#ffcdd2
在推理时,模型没有参考答案,只能基于自己的预测继续生成。如果某一步预测错误,后续所有预测都会受到影响,错误会累积放大。这就是为什么训练良好的模型有时会生成荒谬的续写——训练时它从未见过自己的错误输出。
为了缓解Exposure Bias,研究者提出了多种方案。Scheduled Sampling在训练过程中逐步用模型预测替代真实参考,让模型逐渐适应推理时的情况。Professor Forcing通过对抗训练使模型的隐藏状态分布在训练和推理模式下保持一致。不过,这些方法在大模型时代被更好的方案取代——大规模预训练加指令微调的组合,通过海量数据覆盖更多的输出模式。
Beam Search是推理阶段的核心解码策略。贪婪搜索每一步选择概率最高的词,简单但容易陷入局部最优。Beam Search维护$k$个候选序列(beam size通常为4-5),每一步扩展所有候选,保留累计概率最高的$k$个。
graph TB
subgraph Beam Search 示例 (beam_size=2)
START[<START>] --> B1_1[The: 0.6]
START --> B1_2[A: 0.3]
B1_1 --> B2_1[cat: 0.4]
B1_1 --> B2_2[dog: 0.3]
B1_2 --> B2_3[cat: 0.5]
B1_2 --> B2_4[dog: 0.2]
B2_1 --> B3_1[sat: 0.5<br/>累计: 0.12]
B2_3 --> B3_2[sat: 0.6<br/>累计: 0.09]
B3_1 --> FINAL[The cat sat<br/>最佳候选]
end
style START fill:#e3f2fd
style FINAL fill:#c8e6c9
Beam Search的数学表述如下。设$Y$为已生成的部分序列,$y$为下一步候选词,则:
$$\text{score}(Y \oplus y) = \log P(y|Y) + \text{score}(Y)$$使用对数概率而非原始概率是为了避免数值下溢。最终选择累计得分最高的完整序列作为输出。
Beam Search虽然比贪婪搜索效果好,但也存在已知问题。首先,Beam Search倾向于生成短序列——越长的序列累计概率越低。实践中通常需要引入长度归一化来校正这个偏差:
$$\text{score}_{\text{normalized}}(Y) = \frac{\text{score}(Y)}{|Y|^\alpha}$$其中$\alpha$是一个超参数,通常在0.6-0.7之间。
其次,Beam Search容易产生重复。在开放式生成任务中,模型有时会陷入重复循环,不断输出相同的短语。后来的解决方案包括重复惩罚(Repetition Penalty)和n-gram阻塞(n-gram Blocking)。
现代Seq2Seq:预训练与大模型时代
Transformer架构的成功催生了预训练语言模型的爆发。在Seq2Seq任务上,两个代表性架构是BART和T5。
BART(Bidirectional and Auto-Regressive Transformers)采用标准的Transformer Encoder-Decoder架构,预训练目标是去噪自编码:对输入文本施加各种噪声(遮盖、删除、句子打乱等),训练模型重建原文。这种设计使BART特别适合文本生成任务,如摘要、翻译、对话。
T5(Text-to-Text Transfer Transformer)则更进一步,将所有NLP任务统一为文本到文本的格式。无论是翻译、分类、摘要还是问答,都表示为"input: [任务描述] [输入文本]“到"output: [期望输出]“的映射。这种统一的框架极大简化了多任务学习和迁移学习的流程。
graph LR
subgraph T5统一框架
T1[翻译任务<br/>translate English to German:<br/>Hello] --> T5_MODEL[T5模型]
T2[摘要任务<br/>summarize:<br/>长文本...] --> T5_MODEL
T3[分类任务<br/>sentiment:<br/>I love this] --> T5_MODEL
T4[问答任务<br/>question:<br/>What is...] --> T5_MODEL
T5_MODEL --> O1[Hallo]
T5_MODEL --> O2[摘要内容]
T5_MODEL --> O3[positive]
T5_MODEL --> O4[答案]
end
style T5_MODEL fill:#e1f5fe
但更大的范式转变来自GPT系列的崛起。GPT采用纯Decoder架构,本质上是语言模型,而非传统的Encoder-Decoder。然而,通过精心设计的提示工程(Prompt Engineering),GPT展现出了惊人的Seq2Seq能力。
2020年,GPT-3展示了强大的上下文学习(In-Context Learning)能力:不需要任何参数更新,仅通过在输入中提供几个示例,模型就能完成翻译、摘要等Seq2Seq任务。这个发现改变了业界对模型架构的看法——Decoder-only模型在足够规模下,能够通过提示完成传统需要Encoder-Decoder架构的任务。
这背后的技术原理是什么?一种解释是大规模预训练使模型学习到了丰富的任务知识,提示只是激活了相关知识。另一种解释则认为,提示中的示例充当了隐式的训练数据,模型在前向传播过程中完成了某种形式的"元学习”。
无论机制如何,一个事实已经清晰:现代大语言模型模糊了传统Seq2Seq任务和其他NLP任务的界限。同一个模型可以通过不同的提示,完成翻译、摘要、对话、问答等多种任务。这种统一的能力,使得传统的任务特定架构设计变得不再那么重要。
架构选择:Encoder-Decoder vs Decoder-Only
在当前的技术格局下,如何为Seq2Seq任务选择合适的架构?这个问题没有标准答案,但有一些指导原则。
Encoder-Decoder架构在以下场景仍有优势:
输入-输出高度不对称的任务。比如长文本摘要,输入可能是数千词的文章,输出是几百词的摘要。Encoder-Decoder可以先用编码器完整理解输入,再由解码器生成输出。纯Decoder模型需要同时处理输入和输出,上下文窗口利用效率较低。
需要深度理解输入的任务。编码器的双向注意力允许每个位置同时看到输入的所有其他位置,这对于理解复杂语义关系至关重要。而Decoder的自注意力是单向的,只能看到之前的位置。
计算资源受限的场景。Encoder-Decoder可以在编码阶段一次性处理所有输入,解码时只需要关注编码器的输出。而纯Decoder需要在生成每一步都重新处理之前的所有token,计算效率较低。
Decoder-Only架构的优势则在于:
多任务统一。一个模型可以通过不同的提示完成多种任务,不需要维护多个模型或进行复杂的架构选择。
规模化优势。GPT、LLaMA等大规模Decoder-only模型展示了强大的泛化能力,在足够规模下,模型似乎"涌现"出了各种能力,包括高质量的翻译和摘要。
工程简洁性。统一的架构意味着统一的推理流程、统一的部署方案,大大降低了系统复杂度。
graph TB
subgraph 架构选择决策树
START[Seq2Seq任务] --> Q1{输入输出长度比?}
Q1 -->|输入>>输出| ENC_DEC[Encoder-Decoder<br/>T5, BART]
Q1 -->|输入≈输出| Q2{是否多任务?}
Q1 -->|输入<<输出| Q2
Q2 -->|是| DEC_ONLY[Decoder-Only<br/>GPT, LLaMA]
Q2 -->|否| Q3{计算资源?}
Q3 -->|受限| ENC_DEC
Q3 -->|充足| DEC_ONLY
ENC_DEC --> PROS1[优点: 双向编码<br/>高效处理长输入]
DEC_ONLY --> PROS2[优点: 多任务统一<br/>规模化优势]
end
style START fill:#e3f2fd
style ENC_DEC fill:#c8e6c9
style DEC_ONLY fill:#fff3e0
实际应用中的选择往往需要权衡任务需求、资源约束和团队能力。Google的T5和Flan-T5系列代表了Encoder-Decoder在大规模预训练方向的探索,而OpenAI的GPT系列则展示了Decoder-only架构的强大潜力。
回望与前瞻
从统计机器翻译到神经机器翻译,再到Transformer和大语言模型,Seq2Seq技术的演进是一部技术与需求相互驱动的历史。IBM Model的词对齐思想在神经网络的词嵌入中得到延续;Phrase-based SMT对局部上下文的关注演化为注意力机制;而Transformer抛弃循环的决定,最终为规模化训练扫清了障碍。
理解这段历史,有助于我们看清技术发展的脉络。每一个突破性进展,都不是凭空出现,而是对前人工作的继承与超越。Bahdanau的注意力机制直接受SMT对齐模型的启发;Transformer的自注意力则是注意力思想的极致简化;而大语言模型的In-Context Learning,某种程度上可以看作是对训练-推理鸿沟的终极解决方案——如果模型足够强大,一次性前向传播就能完成任务,何必纠结于训练时的Teacher Forcing?
面向未来,Seq2Seq领域仍有开放性问题。如何突破上下文窗口的限制?如何更好地控制生成质量?如何将符号推理与神经生成结合?这些问题的答案,很可能又是一次范式的跃迁。但无论技术如何演进,Encoder-Decoder这一核心思想——将复杂输入编码为紧凑表示,再解码为目标输出——仍将是序列建模的基石。
参考文献
-
Sutskever, I., Vinyals, O., & Le, Q. V. (2014). Sequence to sequence learning with neural networks. Advances in Neural Information Processing Systems, 27.
-
Cho, K., Van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). Learning phrase representations using RNN encoder-decoder for statistical machine translation. arXiv preprint arXiv:1406.1078.
-
Bahdanau, D., Cho, K., & Bengio, Y. (2015). Neural machine translation by jointly learning to align and translate. International Conference on Learning Representations.
-
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., … & Polosukhin, I. (2017). Attention is all you need. Advances in Neural Information Processing Systems, 30.
-
Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., … & Amodei, D. (2020). Language models are few-shot learners. Advances in Neural Information Processing Systems, 33, 1877-1901.
-
Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., … & Liu, P. J. (2020). Exploring the limits of transfer learning with a unified text-to-text transformer. Journal of Machine Learning Research, 21(140), 1-67.
-
Lewis, M., Liu, Y., Goyal, N., Ghazvininejad, M., Mohamed, A., Levy, O., … & Zettlemoyer, L. (2020). BART: Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension. Proceedings of ACL, 7871-7880.
-
Koehn, P., Och, F. J., & Marcu, D. (2003). Statistical phrase-based translation. Proceedings of NAACL, 48-54.
-
Brown, P. F., Della Pietra, V. J., Desouza, P. V., Lai, J. C., & Mercer, R. L. (1992). Class-based n-gram models of natural language. Computational Linguistics, 18(4), 467-479.
-
Wu, Y., Schuster, M., Chen, Z., Le, Q. V., Norouzi, M., Macherey, W., … & Dean, J. (2016). Google’s neural machine translation system: Bridging the gap between human and machine translation. arXiv preprint arXiv:1609.08144.
-
Luong, M. T., Pham, H., & Manning, C. D. (2015). Effective approaches to attention-based neural machine translation. Proceedings of EMNLP, 1412-1421.
-
Bengio, S., Vinyals, O., Jaitly, N., & Shazeer, N. (2015). Scheduled sampling for sequence prediction with recurrent neural networks. Advances in Neural Information Processing Systems, 28.
-
Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural Computation, 9(8), 1735-1780.
-
Papineni, K., Roukos, S., Ward, T., & Zhu, W. J. (2002). BLEU: a method for automatic evaluation of machine translation. Proceedings of ACL, 311-318.