nlp

Rotary Positional Embeddings 详解

RoPE Combining Absolute and Relative

Posted by Kylin on February 28, 2024

[TOC]

Absolute Positional Embedding

对每一个position产生一个embedding

截屏2024-02-28 14.32.49

有两种产生方式:

截屏2024-02-28 14.38.50

  • Advantages:
    • 会受到训练时候的max_length限制
    • 不存在位置直接的关联,比如:我们希望P1和P2的相似性大于P1和P500的相似性

Relative Positional Embedding

截屏2024-02-28 14.46.43

转而学习两个位置差距的embedding

T5的相对位置编码

截屏2024-02-28 14.48.52

  • 优点相对绝对位置编码而言:可以拓展到无限长的句子上去
  • 缺点:慢并且不能应用KV cache策略

截屏2024-02-28 15.03.39

RoPE

截屏2024-02-28 15.05.33

旋转Embedding向量!

  • 二维表示

截屏2024-02-28 15.07.13

  • n维表示

截屏2024-02-28 15.07.56

  • 实际上更简洁的n维表示

截屏2024-02-28 15.08.51

RoPE Implementation

截屏2024-02-28 15.10.18

注意看这个代码实现和公式不对应,找到一个解释1

截屏2024-02-28 15.30.21

Reference

  1. Rotary Positional Embeddings: Combining Absolute and Relative. https://www.youtube.com/watch?v=o29P0Kpobz0