iPAS AI 應用規劃師 中級 科目一

Transformer 為什麼翻譯長句特別準?

原題 02

某跨國金融科技公司導入 Transformer 架構開發多語客服系統,以提升長篇金融文件的自動翻譯品質。下列何者為該模型能顯著改善翻譯準確度的主要原因?

白話

一家跨國金融科技公司要做多語客服系統,要把很長的金融文件(例如合約、說明書)自動翻譯準確。他們用的是 Transformer 這個架構。

問你:Transformer 為什麼能把翻譯做得比以前好?主要原因是什麼?

點選你的答案。

01 總結

一句話總結

Transformer 翻譯長句準的主要原因:透過自注意力機制(Self-Attention Mechanism),讓每個字都能直接「看到」句子裡所有其他字,不管距離多遠。這就是它能捕捉長距離語境的關鍵。

02 情境

先感受問題:一個長句裡藏著一個陷阱

假設「富達金融科技」要把合約裡這一段英文翻譯成中文:

"The fund, which was established in 2010 by a consortium of investors from Taiwan, Singapore, and Japan, and which has since grown its assets under management to over USD 5 billion, is now seeking regulatory approval."

主詞是 "The fund",動詞是最後的 "is"。中間夾了一大段說明,總共 40 幾個字。

翻譯機器要知道:"is" 指的是誰?就是最一開始那個 "The fund",而不是中間提到的 Taiwan、Singapore 或 Japan。

這就是「長距離依賴」(Long-range Dependency)的問題:一個字的意思,取決於距離它很遠的另一個字。讀懂這種句子,以前的機器做得很爛。

03 對照

舊方法(RNN)為什麼翻長句會翻錯

Transformer 之前,翻譯主要靠「循環神經網路」(Recurrent Neural Network,RNN)和後來改良的 LSTM。這些模型是一個字一個字依序讀,像一條鎖鏈。

一條鎖鏈的五個問題:

  1. 遺忘症:讀到句尾,前面讀過的字已經「被沖淡」了。讀 40 個字後,第 1 個字的資訊幾乎不剩。
  2. 長句翻譯品質差:合約、說明書動不動就是 60 字以上的長句,RNN 到句尾已經記不清主詞是誰。
  3. 無法平行運算:因為必須一個字等一個字,訓練速度很慢,不能用 GPU 高效加速。
  4. 跨語言詞序差異大:英文主動詞在前,日文動詞在句尾。RNN 線性讀法在詞序差異大的語言對上錯誤更多。
  5. 注意力分配死板:翻譯時機器不能「特別盯著」主詞,只能從頭到尾均等處理每個字。

這就是為什麼 2017 年之前,翻譯長篇金融合約的品質很差。

04 解法

Self-Attention 怎麼解決這個問題

Transformer 不靠鎖鏈式依序讀,而是讓句子裡每一個字,同時看所有其他字,然後決定「我該對誰投注多少注意力」。

回到富達金融科技的合約句子。Self-Attention 在計算 "is" 這個字的意思時,會同時比對句子裡的每一個字,然後算出一個「注意力分數」:

"is" 對 "The fund" 的注意力分數:0.87(很高,主詞就是它)
"is" 對 "consortium" 的注意力分數:0.04(低,修飾語)
"is" 對 "Taiwan" 的注意力分數:0.02(低,地名)
"is" 對 "5 billion" 的注意力分數:0.03(低,數字)

機器就「知道」這個 "is" 的主詞是 "The fund",而不是中間夾著的任何一個名詞。不管 "The fund" 離 "is" 有多遠,都能直接連上,不會隨距離衰減。

而且所有字的注意力計算可以同時平行進行,不用等前一個字算完。這讓 GPU 能完全發揮效能,訓練速度大幅提升。

這就是選項 A 講的:透過自注意力機制(Self-Attention Mechanism)捕捉長距離語境依賴關係

技術版:Self-Attention 實際怎麼計算

中級考試大概率會考程式碼跟公式,所以這部分你還是要學。但如果現在學起來很痛苦,可以先跳過,等讀完其他題目回頭再來。

Self-Attention 的核心公式:

Attention(Q, K, V) = softmax( Q × Kᵀ / √d_k ) × V

看起來嚇人,但拆開來其實是三個步驟。

Step 1 純故事版
  1. 每個字變成三張名片:「我在問什麼(Q)」「我能回答什麼(K)」「我實際的內容(V)」
  2. 每個字拿自己的 Q 去和所有其他字的 K 配對,算出「我對你有多感興趣」
  3. 用 softmax 把分數壓縮成 0~1 的比例(全部加起來等於 1)
  4. 按這個比例把每個字的 V(實際內容)加權混合,得到「這個字在句子裡的最終意思」
Step 2 中文 ↔ 公式對照
故事公式符號
我在問什麼Q(Query)
我能回答什麼K(Key)
我的實際內容V(Value)
Q 跟 K 的配對程度Q × Kᵀ
縮放(防止分數太大)÷ √d_k
壓縮成注意力比例softmax( ... )
按比例混合實際內容× V
Step 3 符號角色表
Q(Query)
「查詢向量」。這個字在問:「句子裡有誰跟我最相關?」
K(Key)
「鍵向量」。每個字對外宣告:「我能提供什麼資訊?」
V(Value)
「值向量」。每個字實際攜帶的語義內容,會被按比例提取。
d_k
K 向量的維度。除以 √d_k 是為了防止點積值太大,讓 softmax 不會變成極端的 0/1。
softmax
把任意一組分數轉成加總為 1 的概率分布。高分的字佔比高,低分的幾乎沒影響。
Step 4 完整公式對應

完整公式:Attention(Q, K, V) = softmax( Q × Kᵀ / √d_k ) × V

念法:「拿每個字的 Q,和所有字的 K 做點積,除以 √d_k 縮放,再 softmax 得到注意力權重,最後加權平均 V。」

實務上現代框架(PyTorch)一行就能呼叫:

import torch.nn.functional as F
# q, k, v 形狀:[batch, seq_len, d_k]
attn = F.scaled_dot_product_attention(q, k, v)
# 等價於 softmax(Q @ K.T / sqrt(d_k)) @ V
Step 5 自我複述

蓋住公式,用自己的話講出 4 步驟:

  1. 每個字產生 Q、K、V 三個向量
  2. 用 Q 和所有 K 做點積,再除以 √d_k
  3. softmax 轉成注意力比例
  4. 按比例加權平均 V,得到該字的新表示

講得出來,你就懂 Self-Attention 了。

05 陷阱

為什麼其他選項是錯的

B透過卷積運算(Convolution Operation)加速訓練過程

字面在說什麼

卷積運算(Convolution Operation)是用一個小視窗在資料上滑動掃描,常見於影像辨識(CNN)。這個選項說 Transformer 靠這個來加速訓練。

為什麼不對

Transformer 的核心是 Self-Attention,不是卷積。卷積只看固定視窗範圍內的鄰近元素,而 Self-Attention 能同時看整個句子的所有位置。加速訓練也不是 Transformer 勝出的原因,Self-Attention 的平行化才是。

誰會選錯

學過 CNN(影像辨識)但第一次碰 NLP 的考生,看到「加速訓練」就聯想到 GPU 效能,覺得 B 聽起來很技術性、很合理。記住:Transformer 加速靠的是「平行計算注意力」,不是卷積視窗。

C透過強化學習(Reinforcement Learning)自動調整語句生成策略

字面在說什麼

強化學習(Reinforcement Learning,RL)是讓模型透過「嘗試→得到獎懲→調整策略」的循環自我改進。這個選項說 Transformer 靠 RL 來生成更好的翻譯。

為什麼不對

標準 Transformer 架構的訓練是監督式學習(給正確答案讓模型學),不是強化學習。RL 確實有被用在 RLHF(人類反饋強化學習)等後訓練步驟,但那不是 Transformer 架構本身的特色,也不是翻譯準確度提升的主要原因。

誰會選錯

最近看過 ChatGPT 或 RLHF 相關報導的考生,知道「AI 靠獎懲機制學習」這個概念,就直覺選 C。容易混淆「RLHF 是用在 GPT 後期微調」而非 Transformer 翻譯架構本身的運作原理。

D透過資料增強(Data Augmentation)平衡多語語料比例

字面在說什麼

資料增強(Data Augmentation)是人為製造更多訓練資料,例如把「這本書很好看」改寫成「這部書相當精彩」,讓模型見過更多樣的說法。這裡說靠這個來平衡多語資料比例。

為什麼不對

資料增強是一種訓練策略,不是 Transformer 架構的設計特色。任何模型都可以用資料增強,它不是 Transformer 特別擅長翻譯長句的原因。題目問的是「這個模型為何能顯著改善翻譯準確度」,答案要指向架構本身的能力,不是通用的訓練技巧。

誰會選錯

注意到題目提到「多語客服系統」和「多語語料」,就覺得 D 的「平衡多語語料比例」聽起來對應題目情境。這是被題目表面關鍵字誤導:多語是背景設定,不是問題核心。

06 變形

同個考點下次怎麼變形

變形 1 邊界

Self-Attention 有沒有「長度限制」?

直覺

Self-Attention 理論上每個字都能看到所有其他字,聽起來沒有限制。

答案

有。Self-Attention 的計算量隨序列長度的平方成長(O(n²)),輸入太長會讓記憶體爆掉。GPT-4 的 context window 是 128k token,就是這個問題的工程解法。這也是 Mamba、Longformer 等後繼架構想改善的地方。

變形 2 反例

如果翻譯的是短句(3~5 個字),Transformer 比 RNN 強多少?

直覺

Self-Attention 的優勢是「長距離」,短句根本沒有長距離問題,差距應該不大。

答案

對。短句(如「謝謝」「沒問題」)RNN 翻譯品質跟 Transformer 差距很小,因為短句不存在「忘記主詞」的問題。Transformer 的核心優勢在長句複雜語境。實務上即使是短句,Transformer 仍因平行化訓練效率而是主流選擇。

變形 3 升級版

什麼是「多頭注意力」(Multi-Head Attention)?跟普通 Self-Attention 差在哪?

直覺

一組 Q、K、V 只能捕捉一種「關係視角」,例如主詞和動詞的關係。

答案

多頭注意力(Multi-Head Attention)同時跑多組(例如 8 組)獨立的 Q、K、V,每組學習不同的關係(主動詞、代詞指向、修飾關係⋯),最後把 8 組結果拼在一起。一個句子可以同時捕捉多種語義關係,比單頭更豐富。

變形 4 跨領域

Self-Attention 除了 NLP,有沒有用在其他地方?

直覺

Self-Attention 聽起來是語言專用的,畢竟叫做「語境依賴」。

答案

有,而且廣泛。Vision Transformer(ViT)把圖片切成一塊塊 patch,用 Self-Attention 看「這塊 patch 跟圖片哪個區域最相關」,現在是圖像辨識主流。蛋白質結構預測(AlphaFold2)也用 Attention 捕捉胺基酸之間的長距離交互作用。

變形 5 評估指標

怎麼評估翻譯系統的品質好不好?

直覺

請真人讀讀看,覺得通順就是好翻譯?

答案

業界標準是 BLEU 分數(Bilingual Evaluation Understudy):自動比對機器翻譯和「標準答案」的 n-gram(連續字組)重疊率,0 到 1 分,越高越好。BLEU 的缺點是不懂語意,只看字面重疊;現在也有 COMET、chrF 等更接近人類判斷的指標。

07 延伸

想再往下看,這 5 個

出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二次 iPAS AI 應用規劃師 中級 科目一 第 2 題

查看官方原文 PDF