![]()
2016年,谷歌翻译突然从"逐词替换"变成能读完整句再输出。当时没人解释清楚:机器生成句子时,怎么判断该在哪停下?
这个细节被埋在技术文档里整整8年,直到最近一批工程师复盘Seq2Seq架构时才被重新翻出来。答案藏在三个字母里:EOS。
EOS不是标点,是模型的"刹车踏板"
训练好的解码器(Decoder)本质上是个贪婪的单词预测机器。给它一个起始信号,它会不断吐词,直到——遇到那个预设的终止符。
具体流程像流水线:编码器(Encoder)先把"let's go"压成一个上下文向量(Context Vector),这个向量初始化解码器的两层长短期记忆网络(LSTM,一种能记住长距离依赖的循环神经网络)。解码器第一步吃进一个特殊标记EOS(End of Sequence,序列结束符),输出"Vamos";第二步把"Vamos"塞回输入端,预测下一个词——又是EOS。
两次EOS之间的所有输出,就是最终翻译结果。
这里有个反直觉的设计:EOS既是解码器的"启动钥匙",又是"刹车信号"。训练时它告诉模型"从这里开始生成";推理时它告诉模型"到这里可以结束了"。同一个标记承担两种完全相反的功能,却从不混淆,因为位置决定了它的身份。
原文作者用了一个精妙的类比:这就像你给朋友发语音,先说"我开始说了"作为开头标记,最后说"我说完了"作为结束标记。机器需要明确的边界,否则会在无限循环里耗尽算力。
![]()
Teacher Forcing:训练时的"作弊码"
推理阶段用预测值喂给下一步输入,但训练阶段完全不同。工程师们搞了个叫"教师强制"(Teacher Forcing)的技巧:不管模型上一步预测出什么,都强行塞进正确答案。
比如目标句子是"Vamos EOS",即使模型第一步预测成了"Hola",第二步的输入仍然是正确的"Vamos",而不是它自己猜错的词。这相当于给模型开卷考试,让它先学会"正确的上下文长什么样",再慢慢学会自己走路。
这种设计有个副作用:训练和推理的输入分布不一致。模型在训练时从没见过自己的错误预测,到了真实场景可能懵圈。2015年的原始论文已经注意到这个问题,但直到2019年才有系统性的缓解方案——这又是另一个故事了。
那个被硬编码的"最大长度"
原文提到一句容易被忽略的话:"预测到EOS,或达到某个最大输出长度"。这个"或"字背后,是无数线上事故的源头。
早期系统把最大长度设得偏保守,长句被硬生生截断;后来放宽限制,又出现过模型陷入循环、疯狂重复同一个短语的情况。2017年谷歌内部有个著名案例:某次模型更新后,西班牙语译文的平均长度突然暴涨40%,追查发现是新版本对EOS的置信度阈值调得太激进,模型宁可无限生成也不说结束。
现在的做法通常是双重保险:EOS预测概率超过阈值就停,同时设置绝对长度上限。两个条件满足任意一个,强制终止。这种"软刹车+硬刹车"的组合,成了工业界的事实标准。
![]()
但阈值设多少?上限定多长?不同语言差异极大。日语敬语系统复杂,同样意思的句子可能比英语长3倍;中文信息密度高,同样内容可能只有英语60%长度。这些细节不会出现在论文里,是工程团队用A/B测试一寸一寸试出来的。
从Seq2Seq到注意力:EOS的谢幕演出
原文结尾预告了下一篇主题:注意力机制(Attention Mechanism)。这几乎是Seq2Seq架构的临终遗言。
2017年Transformer论文发表后,固定的上下文向量被动态注意力权重取代,LSTM层被多头自注意力替代,但EOS标记保留了下来。即使在GPT-4里,你依然能在词表深处找到它——只不过现在它叫`<|endoftext|>`,或者Claude里的`<|assistant|>`。
标记的形式变了,功能没变:告诉模型,生成到此为止。
有个细节很少被讨论:现代大模型的"停止"远比当年复杂。除了显式的结束标记,还有隐式的模式匹配(比如检测到重复的句子结构)、实时的困惑度(Perplexity)监控、甚至外部工具调用的中断信号。EOS从唯一的刹车踏板,变成了多层安全系统中的一个开关。
但回到2014年,当Ilya Sutskever在论文里第一次写下那个简单的循环条件时,他可能没想到这个设计会延续十年,成为所有生成式AI的底层共识。
下次你用ChatGPT时,可以留意它的输出是怎么结束的——是突然截断,还是自然收尾?那个看不见的EOS,正在以毫秒级的速度被计算、被比较、被触发。而你读到的每一个完整句子,都是它成功工作的证明。
如果模型突然在某个奇怪的位置停下,比如一句话说到一半就结束,你猜是EOS阈值设得太敏感,还是它其实想继续但撞上了长度上限?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.