第112章 《Attention Is All You Need》
第112章 《Attention Is All You Need》
科學發展史上有許多篇章,其誕生便宣告著一個舊時代的終結與新時代的開啟。
《自然哲學的數學原理》,牛頓。
他奠定了經典力學的基石,讓人類第一次以此丈量宇宙。
《論動體的電動力學》,愛因斯坦。
他重塑了人類的時空觀,告訴我們時間與空間並非恆定不變。
而2017年的《AttentionIsAllYouNeed》中提出的Transformer架構,開啟了生成式人工智慧(AIGC)與大語言模型(LLM)的黃金時代。
可謂沒有Transformer,人工智慧萬古如長夜。
在它之前,自然語言處理(NLP)領域長期處於黑暗的摸索期,採用CNN或RNN
的方法。
CNN,即卷積神經網絡,好處是計算效率高,可以並行處理,善於捕捉局部特徵。
RNN,即循環神經網絡及其變體LSTM,好處是天生適應序列數據,能按順序理解上下文。
但它們的壞處也同樣明顯。
CNN看不遠,它難以捕捉長距離的詞語關係。
RNN跑不快,並且必須讀完前一個詞才能讀下一個詞,無法並行計算,一旦句子太長,就會出現梯度消失,導致機器閱後即焚,讀了後面忘了前面。
總之它們的根本局限在於,信息在序列中必須一步一步地傳遞。
這種固有的順序性成為了處理長序列、捕捉全局上下文的瓶頸。
而Transformer架構,就是為了解決模型又慢又忘的絕症。
它的原理說複雜,那確實很複雜。
比如多頭注意力機制(Multi—HeadAttention)、位置編碼(Positional
Encoding)和前饋神經網絡(Feed—ForwardNetworks)。
但它的核心能力,其實也非常簡單。
就是字面意思:
翻譯。
把人類的語言,翻譯成計算機能讀懂的數字,然後計算這些數字之間的關係。
它不再像小學生讀書那樣一個字一個字地讀,而是一眼看完整篇文章,然後把注意力(Attention)集中在那些最關鍵的詞與詞的聯繫上。
它和word2Vec的關係,是磚塊與建築的關係。
Word2Vec負責將人類的語言變化為數字磚。
而Transformer負責將這些磚塊搭建成有意義的摩天大樓。
最終達成的效果,就是可以精確的計算一個長句子中,每個詞與其他詞之間的關係。
這裡面的重點,是:長句子。
對應的解法,是:長距離依賴。
比如下面這句話。
Thecatateafishbecauseitwashungry。
翻譯:這隻貓吃了一條魚,因為它餓了。
對人類來說,看到「它餓了」這三個字中的它,可以非常輕鬆的知道它指的就是貓。
但對機器來說,這個它指的到底是貓還是魚,是不明確的。
必須要計算才能得出結果。
而計算的方法,就是Transformer中的自注意力機制(Self—Attention)。
通過計算每個詞和其他詞之間的關係,就能知道它和誰距離更近。
比如在這裡計算出「它」和「貓」離的更近,關注度權重(Atttion
Weight)更高。
那麼機器就知道,這個它指的是貓,而不是魚。
當然這裡面的邏輯計算十分複雜,並非幾句話可以說清楚的。
在吳辰瘋狂敲擊著鍵盤的時候,閔欣柔也不由自主的看了幾眼。
不過很快她就發現自己思考的速度,還跟不上吳辰打字的速度。
一個個矩陣變換公式如流水般從他的指尖下翻湧到了屏幕上。
閔欣柔完全看不懂。
但吳辰寫在其中的一段解釋,她看懂了。
「只要算力足夠,模型就能無限堆疊。只要數據足夠,機器就能在數學空間裡湧現出智慧。」
「我們不再需要教機器語法。」
「我們只需要讓它學會:關注。」
「在這個架構中,序列中任意兩個位置之間的距離被縮短為1。」
「無論句子有多長,無論因與果相隔多少個字符,它們都能通過自注意力機制瞬間建立直接連接。」
「我們將不再受限於時間的順序。」
「我們將同時看到過去、現在與未來。」
閔欣柔覺得自己的心跳漏了一拍。
難道————
這就是真正的人工智慧的鑰匙?
沉默片刻後,她輕手輕腳的起身,去廚房泡了一杯咖啡,然後輕輕的放在桌子上。
若是平時吳辰至少會點頭示意一下。
但此時他完全沒有察覺。
他感覺自己的大腦在以前所未有的速度運轉著。
編碼器Encoder,負責理解人類的輸入————完成!
解碼器Decoder,負責生成回復——.——完成!
自注意力Self—Attention,負責捕捉字詞之間的語義關聯——完成!
交叉注意力Cross—Attention,負責連接輸入與輸出————完成!
那些曾經刻在他腦海深處的知識,在經過了幾個月的沉澱後,終於迎來了綻放。
他完全不需要思考,因為他早已思考過無數遍。
他也不需要停頓,因為他不僅是在編寫一篇文章和代碼。
他是在復刻未來的文明。
但他也不是在默寫。
相比2017年原始的Transformer架構,他加入了幾年後的一次改進。
他將層歸一化(LayerNormalization)的位置,從殘差連接之後(Post—
LN),移到了殘差連接之前(Pre—LN)。
這只是一個微小的改進。
但它卻徹底解決了深層網絡難以訓練的頑疾。
它讓梯度的反向傳播不再需要複雜繁瑣的學習率預熱,就能讓模型在訓練初期保持絕對的穩定。
終於,在他感覺精神力到達極限的時候,論文和代碼同時完成了。
吳辰深吸一口氣,敲下了最後一行代碼。
returnlogits。
文件名:transformer—model.py。
這就是GPT—1的雛形。
他實現了完整的Transformer庫。
但在構建GPT模型時,吳辰還是果斷拋棄了編碼器,只保留了純解碼器架構(Decoder—only)。
因為即使現在深圳的榛果電子已經在生產專用的計算卡,但性能還是和2025
年差距太大。
所以這樣做可以顯著減少模型參數量和計算複雜度,但功能卻完全夠用。
無論如何。
雖然它現在的參數量還很小。
雖然它還像個嬰兒一樣嗷嗷待哺。
但吳辰知道,那個屬於人工智障的時代結束了。
矽基生命,有了它的第一縷神識。
這一刻,在這個2008年的狹小公寓裡。
通往通用人工智慧的大門,被他提前九年,暴力踹開了。
叮鈴鈴。
當他雙手離開鍵盤的剎那,手機的鬧鐘也響了起來。
吳辰拿過來一看,發現時間竟然已是早上六點,到了他每天起床鍛鍊的時間了。
與此同時,系統的聲音也如期響起。
【恭喜宿主人工智慧等級提升!】
【人工智慧:1級(50%)—>2級(0%)】
科學發展史上有許多篇章,其誕生便宣告著一個舊時代的終結與新時代的開啟。
《自然哲學的數學原理》,牛頓。
他奠定了經典力學的基石,讓人類第一次以此丈量宇宙。
《論動體的電動力學》,愛因斯坦。
他重塑了人類的時空觀,告訴我們時間與空間並非恆定不變。
而2017年的《AttentionIsAllYouNeed》中提出的Transformer架構,開啟了生成式人工智慧(AIGC)與大語言模型(LLM)的黃金時代。
可謂沒有Transformer,人工智慧萬古如長夜。
在它之前,自然語言處理(NLP)領域長期處於黑暗的摸索期,採用CNN或RNN
的方法。
CNN,即卷積神經網絡,好處是計算效率高,可以並行處理,善於捕捉局部特徵。
RNN,即循環神經網絡及其變體LSTM,好處是天生適應序列數據,能按順序理解上下文。
但它們的壞處也同樣明顯。
CNN看不遠,它難以捕捉長距離的詞語關係。
RNN跑不快,並且必須讀完前一個詞才能讀下一個詞,無法並行計算,一旦句子太長,就會出現梯度消失,導致機器閱後即焚,讀了後面忘了前面。
總之它們的根本局限在於,信息在序列中必須一步一步地傳遞。
這種固有的順序性成為了處理長序列、捕捉全局上下文的瓶頸。
而Transformer架構,就是為了解決模型又慢又忘的絕症。
它的原理說複雜,那確實很複雜。
比如多頭注意力機制(Multi—HeadAttention)、位置編碼(Positional
Encoding)和前饋神經網絡(Feed—ForwardNetworks)。
但它的核心能力,其實也非常簡單。
就是字面意思:
翻譯。
把人類的語言,翻譯成計算機能讀懂的數字,然後計算這些數字之間的關係。
它不再像小學生讀書那樣一個字一個字地讀,而是一眼看完整篇文章,然後把注意力(Attention)集中在那些最關鍵的詞與詞的聯繫上。
它和word2Vec的關係,是磚塊與建築的關係。
Word2Vec負責將人類的語言變化為數字磚。
而Transformer負責將這些磚塊搭建成有意義的摩天大樓。
最終達成的效果,就是可以精確的計算一個長句子中,每個詞與其他詞之間的關係。
這裡面的重點,是:長句子。
對應的解法,是:長距離依賴。
比如下面這句話。
Thecatateafishbecauseitwashungry。
翻譯:這隻貓吃了一條魚,因為它餓了。
對人類來說,看到「它餓了」這三個字中的它,可以非常輕鬆的知道它指的就是貓。
但對機器來說,這個它指的到底是貓還是魚,是不明確的。
必須要計算才能得出結果。
而計算的方法,就是Transformer中的自注意力機制(Self—Attention)。
通過計算每個詞和其他詞之間的關係,就能知道它和誰距離更近。
比如在這裡計算出「它」和「貓」離的更近,關注度權重(Atttion
Weight)更高。
那麼機器就知道,這個它指的是貓,而不是魚。
當然這裡面的邏輯計算十分複雜,並非幾句話可以說清楚的。
在吳辰瘋狂敲擊著鍵盤的時候,閔欣柔也不由自主的看了幾眼。
不過很快她就發現自己思考的速度,還跟不上吳辰打字的速度。
一個個矩陣變換公式如流水般從他的指尖下翻湧到了屏幕上。
閔欣柔完全看不懂。
但吳辰寫在其中的一段解釋,她看懂了。
「只要算力足夠,模型就能無限堆疊。只要數據足夠,機器就能在數學空間裡湧現出智慧。」
「我們不再需要教機器語法。」
「我們只需要讓它學會:關注。」
「在這個架構中,序列中任意兩個位置之間的距離被縮短為1。」
「無論句子有多長,無論因與果相隔多少個字符,它們都能通過自注意力機制瞬間建立直接連接。」
「我們將不再受限於時間的順序。」
「我們將同時看到過去、現在與未來。」
閔欣柔覺得自己的心跳漏了一拍。
難道————
這就是真正的人工智慧的鑰匙?
沉默片刻後,她輕手輕腳的起身,去廚房泡了一杯咖啡,然後輕輕的放在桌子上。
若是平時吳辰至少會點頭示意一下。
但此時他完全沒有察覺。
他感覺自己的大腦在以前所未有的速度運轉著。
編碼器Encoder,負責理解人類的輸入————完成!
解碼器Decoder,負責生成回復——.——完成!
自注意力Self—Attention,負責捕捉字詞之間的語義關聯——完成!
交叉注意力Cross—Attention,負責連接輸入與輸出————完成!
那些曾經刻在他腦海深處的知識,在經過了幾個月的沉澱後,終於迎來了綻放。
他完全不需要思考,因為他早已思考過無數遍。
他也不需要停頓,因為他不僅是在編寫一篇文章和代碼。
他是在復刻未來的文明。
但他也不是在默寫。
相比2017年原始的Transformer架構,他加入了幾年後的一次改進。
他將層歸一化(LayerNormalization)的位置,從殘差連接之後(Post—
LN),移到了殘差連接之前(Pre—LN)。
這只是一個微小的改進。
但它卻徹底解決了深層網絡難以訓練的頑疾。
它讓梯度的反向傳播不再需要複雜繁瑣的學習率預熱,就能讓模型在訓練初期保持絕對的穩定。
終於,在他感覺精神力到達極限的時候,論文和代碼同時完成了。
吳辰深吸一口氣,敲下了最後一行代碼。
returnlogits。
文件名:transformer—model.py。
這就是GPT—1的雛形。
他實現了完整的Transformer庫。
但在構建GPT模型時,吳辰還是果斷拋棄了編碼器,只保留了純解碼器架構(Decoder—only)。
因為即使現在深圳的榛果電子已經在生產專用的計算卡,但性能還是和2025
年差距太大。
所以這樣做可以顯著減少模型參數量和計算複雜度,但功能卻完全夠用。
無論如何。
雖然它現在的參數量還很小。
雖然它還像個嬰兒一樣嗷嗷待哺。
但吳辰知道,那個屬於人工智障的時代結束了。
矽基生命,有了它的第一縷神識。
這一刻,在這個2008年的狹小公寓裡。
通往通用人工智慧的大門,被他提前九年,暴力踹開了。
叮鈴鈴。
當他雙手離開鍵盤的剎那,手機的鬧鐘也響了起來。
吳辰拿過來一看,發現時間竟然已是早上六點,到了他每天起床鍛鍊的時間了。
與此同時,系統的聲音也如期響起。
【恭喜宿主人工智慧等級提升!】
【人工智慧:1級(50%)—>2級(0%)】