![]()
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.