【LLM】深入理解Transformer

【LLM】深入理解Transformer 1 Transformer为什么出现?为什么不用RNN?↓为什么不用LSTM?↓为什么不用GRU?RNN的问题假设一句话:I love drinking coffee.RNN 的计算是这样的:I ↓ love ↓ drinking ↓ coffee每个词都要等前一个词算完。所以:Token4 必须等待 Token3 必须等待 Token2这叫:串行(Sequential)计算GPU 最讨厌这个。GPU 擅长:□□□□□□ 一起算而不是:□ ↓ □ ↓ □RNN 最大的问题假设一句话:The movie that I watched yesterday was amazing.模型读到:amazing的时候。需要记住:movie可是,movie 距离 amazing 已经隔了很多 Token。于是,信息越来越弱。叫:Long-Term Dependency(长期依赖)虽然 LSTM、GRU 试图缓解,但没有彻底解决。为什么说LSTM、GRU 没有彻底解决长期依赖问题?首先回顾LSTM和GRU的模型架构,二者相比RNN,信息传递路径上其实没有差异,都是一步一步传递信息,只是传递信息的方式有差异而已。LSTMGRU:所以说,LSTM 和GRU并没有缩短信息传播路径,它只是通过门控机制减少了信息和梯度在长路径上传播时的损失。解决长期依赖问题所以大家开始想,有没有一种方法:不要一步一步传递信息。例如:读到 coffee,直接看整句话:coffee ↓ I love drinking coffee是不是比:coffee ↓ drinking ↓ love ↓ I快很多?于是,Attention 诞生了。Attention 最核心的一句话Attention 的本质,就是让每个 Token 可以直接访问所有其他 Token,而不是通过中间 Token 传递信息。例如:coffee ↓ 直接看 I love drinking不用:coffee ↓ drinking ↓ love ↓ I所以,长距离依赖解