RoPE (Rotary Position Embedding) là gì? Tại sao ưu thế hơn positional embedding học được?

Transformer cần cơ chế cho model biết thứ tự token (attention tự nó là permutation-invariant).

Các cách positional encoding:
- Sinusoidal (Transformer gốc) — cộng vector sin/cos cố định vào embedding. Extrapolate kém với seq dài hơn train.
- Learned (BERT, GPT-2) — embedding positional trainable. Giới hạn ở max length khi train, không extrapolate.
- RoPE (Su et al. 2021) — rotate Q và K bằng ma trận rotation phụ thuộc vị trí trước khi tính attention.
- ALiBi — thêm bias tuyến tính vào attention score theo khoảng cách; extrapolate tốt.

Cơ chế RoPE: với mỗi pair chiều của Q và K, áp dụng rotation 2D theo góc θ_i · pos (trong đó θ_i = 10000^(-2i/d)). Tính chất toán học quan trọng: <RoPE(q, m), RoPE(k, n)> = <q, k, m-n>inner product chỉ phụ thuộc khoảng cách tương đối m-n, không phải vị trí tuyệt đối.

Ưu điểm:
- Relative position encoding tự nhiên, phù hợp ngôn ngữ.
- Không thêm parameters (không phải embedding trainable).
- Extrapolation tốt hơn learned position; với các trick như Position Interpolation, YaRN, NTK-aware scaling có thể mở rộng context 4-32x qua fine-tune nhẹ.
- Áp dụng trực tiếp vào Q, K (không modify toàn bộ pipeline).

Do đó RoPE là default của hầu hết LLM hiện đại: LLaMA 1/2/3, Mistral, Qwen, DeepSeek, GPT-NeoX, PaLM (variant). Các kỹ thuật context extension phổ biến đều dựa trên RoPE: PI (chia pos cho s), NTK (chia theta), YaRN (kết hợp), LongRoPE (tune theta từng pair) — cho phép mở context 128K, 1M+ từ model train 4K-8K.

Xem toàn bộ AI Engineering cùng filter theo level & chủ đề con.

Mở danh sách AI Engineering