Transformer 引擎

因果遮罩(causal masking)

大型語言模型是被訓練來預測下一個詞的,所以它絕不能偷看後面。因果遮罩就是用來強制這條規則。當模型在推算第五個位置的詞時,遮罩會擋住它去注意第六、第七以及之後的位置——它只能看自己和之前出現過的東西。就像讀一句話時用一張卡片蓋住手指右邊的所有內容。

遮罩作用在注意力分數上:任何會讓某個詞元去注意較後詞元的項目,在 softmax 之前都被設成負無窮。正規化之後,這些項目的權重剛好變成零,於是沒有任何來自未來的資訊往回洩漏。這個簡單的把戲讓模型在訓練時能一次算出所有位置的預測,同時在每個位置仍尊重由左到右的順序。

因果遮罩,又稱自回歸遮罩,正是讓一個模型成為純解碼器的關鍵。像 BERT 這樣的編碼器模型會拿掉遮罩,讓詞元能看兩個方向,這對理解很好,但不適合生成。遮罩也是為什麼大型語言模型能快取過去的鍵與值:較早的詞元永遠不必重算,因為之後的任何東西都改變不了它們當初被允許看到的內容。

M_{ij}=\begin{cases}0 & j\le i\\ -\infty & j>i\end{cases}

比當前位置更後面的位置被遮成負無窮,因此權重為零。

又称
autoregressive masklook-ahead mask