更新於 2024/06/08閱讀時間約 1 分鐘

AI說書 - 從0開始 - 5

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


回顧我們在AI說書 - 從0開始 - 4中說Transformer的精髓就是考慮「字與字之間的配對關係」,我們稱其為Attention Layer,再搭配我們在機器學習領域中,常用數學向量來表達一個字 (AI只看得懂數學,看不懂文字),因此如果我定義這個向量的維度是d,而整個Context的長度是n,則Attention Layer的複雜度就是O(n^2 * d)


那我們來比較,Transformer與其競爭對手 - RNN,這家族裡面,有LSTM、GRU等兩大專門處理自然語言的AI模型,這個RNN家族學習方式是:

  • Context裡面的第一個字維度是d
  • Context裡面的第二個字維度也是d,再和第一個字的維度d,做複雜運算得出精華
  • Context裡面的第三個字維度也是d,再和剛剛的精華,萃取出前三個字的精華
  • Context裡面的第四個字維度也是d,再和剛剛的精華,萃取出前四個字的精華
  • 以此類推


透過這樣的精神,可以看出它是一種Recurrent的機制,因此Recurrent Layer的複雜度就是O(d^2 * n)


用一句話來說Attention Layer和Recurrent Layer的精神就是,Attention Layer learns the dimensions with pairwise relationships而Recurrent Layer learns in a sequence


也因為這樣的差異,可以想像Recurrent Layer一次要學一個Sequence會比較容易忘記前面的字,而Attention Layer就不會有忘記前面的字的問題,因為它是學習字與字間的配對關係。

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