2024-06-30|閱讀時間 ‧ 約 24 分鐘

AI說書 - 從0開始 - 67

我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。


Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Decoder 的部分不是很底層解析,因此今天內容引自台大 李宏毅教授上課內容。


首先解釋何謂 Decoder 是基於 Auto-Regressive Model

  • 假設輸入一段「機器學習」的聲音,希望做語音辨識,而且目前已經執行完 Encoder 部分,關於 Encoder 部分參見 AI說書 - 從0開始 - 39AI說書 - 從0開始 - 65
  • Decoder 首先輸入 Begin Token ,同時匯入 Encoder 的精華資訊,預期第一個字經過 Softmax 操作後會得到「機」,接著將輸出的「機」,再匯入 Decoder ,預期第二個字經過 Softmax 會得到「器」,以此類推,這種 Uses the previous output sequences as an additional input 的機制稱為 Auto-Regressive Model


注意在 Encoder 時做的是 Multi-Head Attention,而在 Decoder 時做 Masked Multi-Head Attention,我們來說明其差異:

  • 左圖是我們在 AI說書 - 從0開始 - 52 中提及的 Attention 機制,注意 b1 產生的過程是參閱了 a1、a2、a3、a4
  • 但是我們剛剛說 Decoder 是基於 Auto-Regressive Model,因此 Decoder 在產生 b2 時只能參閱 a1,同理產生 b3 時只能參閱 a1、a2,以此類推,不可以偷看未來的結果,因此 Decoder 的 Attention 機制變成下圖:


  • 左圖是 Decoder 中的 Attention 機制,多加上一個關鍵字「Masked」,旨在說明:當下產生結果的過程不可以偷看未來的輸入




以上是概覽,現在來看具體機制,何謂不可以偷看:

  • 回顧 AI說書 - 從0開始 - 52,我們說 b2 產生的過程是使用 q2 然後參閱k1、k2、k3、k4、v1、v2、v3、v4
  • 但是我剛剛說不可以偷看未來的資訊,因此變成下圖的 Masked Self-Attention:



  • b2 產生的過程是使用 q2 然後參閱k1、k2、v1、v2




可以看到這樣就是類似文字接龍的過程,那究竟什麼狀況會讓 Decoder 終止輸出呢?

  • 事實上機器學習模型中,除了字典中所有的文字之外,尚會納入 Begin Token 與 End Token,如此一來當「習」這個字匯入 Decoder,產生 End Token 時,就宣告整體文字接龍過程結束


分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.