序列模型與Transformer

Transformer 架構(transformer architecture)

/ trans-FOR-mer AR-ki-tek-cher /

Transformer 是當今語言模型背後的標準藍圖,也支撐著現代圖像、音訊與程式碼建模的大部分。它在 2017 年下的核心賭注,在當時頗為激進:拋掉早期序列模型所依賴的逐步遞迴,整套東西都用注意力加上簡單的前饋層搭建。由於注意力讓每個位置可以同時看見其他每個位置,Transformer 在訓練時能並行處理整段序列,而非一次一個詞。

Transformer 是一摞幾乎相同的層堆起來的,每一層都含兩大部件:一個注意力子層,讓各詞元相互交換資訊;一個前饋子層,單獨處理每個詞元。每個部件周圍還守著兩位可靠的幫手——殘差連接,把該層的輸入加回它的輸出;層歸一化,讓數值保持安分。詞元以向量身份進入,先獲得位置編碼以免丟失順序,再沿著這摞層往上走,每一層都把表示再精煉一點。

Transformer 之所以勝出,是因為它擴展得很從容:多堆幾層、把它們加寬、再餵更多資料,它就以相當可預測的方式持續變好。這種可擴展性——而非什麼關於語言的精巧新理論——才是真正的故事。另一面則發人深省:標準注意力的代價隨序列長度平方增長,模型龐大、訓練與運行都耗電驚人,而擅長預測文字,並不等於正確或可信。Transformer 是一台出色的模式引擎,而非一個知道事實的人。

GPT 式的聊天模型、BERT 式的文字編碼器,乃至一些圖像和蛋白質模型,全都是 Transformer。它們的主要差別在於保留了原始設計的哪一半——用解碼器堆來生成,用編碼器堆來理解——而非底層機制本身。

一套架構,多副面孔——編碼器、解碼器,或兩者兼有。

Transformer 的成功,在很大程度上是一個關於規模與並行硬體的故事,而非關於語言如何運作的發現。它裡面沒有語法、沒有事實、也沒有推理規則——只有被調來預測模式的權重。更大、更流暢,並不等於更正確。

又稱
TransformerTransformer 架构Transformer 架構Transformer 模型