我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
那我們來比較,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就不會有忘記前面的字的問題,因為它是學習字與字間的配對關係。