iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0
自我挑戰組

NLP 新手的 30 天入門養成計畫系列 第 22

[Day 22] - 挑戰 Transformer 系列:Seq2Seq

  • 分享至 

  • xImage
  •  

這幾年生成式 AI 和大型語言模型的快速發展,以及它們所帶來超乎期待的表現,正是讓我想要一腳踏入 NLP 世界的契機,而今天要介紹的內容就和 LLM 密切相關。

談到像 GPT 這樣的大型語言模型,繞不開的就是它的基礎架構:Transformer,老實說剛開始找相關資料的時候,沒什麼經驗的我看的還蠻辛苦,所幸網路上有很多詳細和淺顯易懂的解說可以讓我參考,所以我也鼓起勇氣嘗試紀錄一下這幾天研讀的心得。

那就讓我們開始吧!

Transformer 是一個應用了注意力 ( Attention ) 機制的 Seq2Seq 模型。它在 2017 年被提出之後,因為在各方面 NLP 的任務上表現良好而被廣泛使用,現在大家耳熟能詳的 BERT、GPT 等語言模型都是以它為基礎發展而來。

首先,我們要了解什麼是 Seq2Seq 架構。

Seq2Seq

它的全名是 Sequence to Sequence,也就是從序列到序列,舉個例子來說:

https://ithelp.ithome.com.tw/upload/images/20240827/20159088vVma2xSFth.png

無論是文字、音頻、圖像或影像,只要是 input 和 output 能夠被表示為序列的形式,都可以應用 Seq2Seq 模型。

它的主要結構包含了編碼器 ( Encoder ) 和解碼器 ( Decoder ) 兩個部分,他們是用來做什麼的非常好理解:編碼器負責將輸入的資料編碼成一串向量,而解碼器則接收這串向量,並想辦法解回去資料的形式。

然而其中的機制並不是那麼容易理解,我們以循環神經網路 ( Recurrent Neural Networks, RNN ) 為例,黃色部分的 X 代表輸入的序列,藍色部分的 Y 代表輸出的序列,綠色部分的 H 代表隱藏層中的計算過程:

https://ithelp.ithome.com.tw/upload/images/20240827/20159088tg1ih7Iajz.png

一般神經元就是簡單的 input 乘上 weight 加上 bias,而 RNN 非常不同的一點就是它加入了循環的機制,也就是在隱藏層中將前一個節點的計算又傳給了下一個節點,這就導致每一次 Y 在輸出的時候都會被之前的 input 所影響到,相當於是擁有了記憶。

因此,RNN 在處理時間序列資料的時候非常好用,而之後又發展出了 LSTM、GRU 等更複雜的模型,不過這裡就不討論了。

這張圖可以更完整地表達 RNN 的 Encoder-Decoder 結構:

https://ithelp.ithome.com.tw/upload/images/20240827/201590882ZKcBIfOc7.png

在 Translation 任務中,the blue house 被 Encoder 編碼之後,由 Decoder 解碼可以翻譯成不同的語言。

在了解 Seq2Seq 長什麼樣子之後,回到 Transformer 的部分,我們來看一下它的架構:

https://ithelp.ithome.com.tw/upload/images/20240827/2015908856vwzJE7jV.png

PS : 最近為了研究它天天看著這張圖,我也不敢說對它的了解足夠深了,不過還是盡可能的把想法寫出來吧!

剛剛有提到 Transformer 是基於 Seq2Seq 的架構,這一點從圖中也可以看的出來,左邊是 Encoder,右邊則是 Decoder。

如果把 Transformer 和 RNN 放在一起比較的話,我們可以說前者算是走出了自己的一條路,而且很大程度上解決了後者的缺點。

RNN 厲害的地方在於,它通過將前一個節點計算結果傳給下一個節點的方式,讓後面的輸出被影響而保留了前面的記憶,也因此能生成流暢的文字或其他連續性的資料,然而這樣的做法也限制住了 RNN 的計算效率,因為它必須把前面的節點先處理完才能繼續下一步。

相較之下,Transformer 採取的做法是注意力機制 ( Attention ),它選擇去計算所有其他節點對當前節點的關注度,這樣一來可以保證,當前節點的輸出會受到其他節點的影響,而且所有的節點可以並行運算,大大提升了效率。

小結

注意力機制我們會在明天介紹到,在這裡推薦一下台大李弘毅和陳縕儂兩位教授的影片,我看完的心得是,動態的講解還是比文字效果來的好 ……

【機器學習2021】自注意力機制 (Self-attention) (上) (youtube.com)
台大資訊 深度學習之應用 | ADL 7.1: Attention Mechanism 注意力機制 (youtube.com)
台大資訊 深度學習之應用 | ADL 4.5 Transformer 你不可不知AI世界之霸主 (youtube.com)

推薦文章


上一篇
[Day 21] -「我們」與「惡」的距離:餘弦相似度
下一篇
[Day 23] - 挑戰 Transformer 系列:Self-Attention
系列文
NLP 新手的 30 天入門養成計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言