前文,我们已经构建了一个小型的字符级语言模型,是在transformer架构基础上实现的最基本的模型,我们肯定是希望对该模型进行改进和完善的。所以我们的另外一篇文章也从数据预处理、模型架构、训练策略、评估方法、代码结构、错误处理、性能优化等多个方面提出具体的改进点,但是还没有实现以及评估。接下来,我们就从最核心的模型架构开始,对模型进行改进,其中之一就是嵌入层的位置编码。
然而位置编码有多种方法,其中重要的三种是:Sinusoidal、RoPE和可学习嵌入,他们各自有什么优缺点,如何比较。接下来我们学习一下RoPE(Rotary Position Embedding),即旋转位置编码。
本文是在我前文的基础上讲解的: