Mã Hóa Vị Trí Rotary - RoPE: Tăng Cường Kết Nối Vị Trí Trong Mô Hình Transformer
Trong những năm gần đây, các mô hình Transformer đã trở thành nền tảng cho hầu hết các tiến bộ trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) và thị giác máy tính (CV). Tuy nhiên, tính chất phi tuần tự của Transformer đã tạo ra những thách thức lớn trong việc mã hóa thông tin về thứ tự và vị trí của các token. Để khắc phục vấn đề này, các kỹ thuật Mã Hóa Vị Trí (Position Embedding) đã được phát triển, từ phương pháp Mã Hóa Vị Trí Tuyệt Đối (Absolute Position Encoding) đến Mã Hóa Vị Trí Tương Đối (Relative Position Encoding).
Tuy nhiên, cả hai phương pháp truyền thống vẫn gặp phải một số hạn chế như thiếu tính liên tục và khả năng mã hóa các mối quan hệ tương đối giữa các token một cách mượt mà. Đây là lý do mà Mã Hóa Vị Trí Rotary (RoPE) ra đời như một giải pháp đột phá, không chỉ bảo toàn thông tin vị trí mà còn duy trì tính ổn định trong không gian mã hóa.
1. Ôn Tập Kiến Thức Cũ
1.1. Mã Hóa Vị Trí
Một trong những thách thức chính trong các mô hình Transformer là cách để mã hóa thông tin về thứ tự của các token trong chuỗi dữ liệu. Vì Transformer không xử lý dữ liệu theo dạng tuần tự như RNN, mà không có khái niệm "vị trí" tự nhiên, nên cần tích hợp thông tin vị trí trực tiếp vào đầu vào của mô hình thông qua Mã Hóa Vị Trí.
Mã Hóa Vị Trí là một kỹ thuật thêm thông tin vị trí vào vector biểu diễn của mỗi token trong chuỗi, cho phép mô hình có khả năng phân biệt vị trí của các token. Các kỹ thuật chính bao gồm:
-
Mã Hóa Vị Trí Tuyệt Đối (Absolute Position Encoding):
- Mỗi vị trí trong chuỗi được gán một vector riêng biệt.
- Ưu điểm: Dễ hiểu và triển khai.
- Nhược điểm: Không nắm bắt mối quan hệ tương đối giữa các token.
-
Mã Hóa Vị Trí Tương Đối (Relative Position Encoding):
- Tập trung vào mã hóa khoảng cách tương đối giữa các token.
- Ưu điểm: Hiệu quả hơn trong việc nắm bắt ngữ cảnh.
- Nhược điểm: Phức tạp hơn về tính toán và triển khai.
Cả hai phương pháp đều có những hạn chế như không thể bảo toàn cấu trúc mối quan hệ trong không gian cao.
1.2. Số Phức
Số phức là một khái niệm toán học mở rộng từ tập số thực, thường dùng để biểu diễn các đại lượng có phần thực và phần ảo. Một số phức có dạng:
$$ z = a + bi $$
Trong đó:
- a: Phần thực
- b: Phần ảo
- i: Đơn vị ảo
Một đặc tính nổi bật của số phức là khả năng biểu diễn dưới dạng cực. Phương pháp này hữu ích trong nhiều ứng dụng, đặc biệt trong học sâu, vì tính liên tục và ổn định của biến đổi trên mặt phẳng phức.
2. Vấn Đề Chính
Trong mô hình Transformer, layer Mã Hóa Vị Trí là một lớp riêng biệt, điều này đem lại một số vấn đề như không nắm bắt được vị trí tương đối giữa các token. Một số vấn đề cụ thể bao gồm:
- Không nắm bắt vị trí tương đối: Mã hóa vị trí tuyệt đối chỉ cung cấp thông tin vị trí mà không thể biểu diễn mối quan hệ giữa các token.
- Khó khái quát hóa: Không thể xử lý các chuỗi dài hơn độ dài tối đa.
- Hiệu suất kém với các vị trí ngoài mức đã học: Việc mã hóa bằng hàm sin và cos có giới hạn về khả năng ngoại suy.
- Thiếu cơ chế hình học rõ ràng: Tăng độ phức tạp khi mô hình cố gắng suy luận từ thông tin vị trí.
Mục tiêu của RoPE là sử dụng mặt phẳng phức để làm rõ thông tin vị trí và nhúng trực tiếp thông tin về vị trí tương đối giữa các token vào quá trình trao đổi thông tin mà không cần phải cộng thông tin vị trí tuyệt đối.
2.1. Công Thức Tổng Quát
RoPE cung cấp cơ chế mã hóa tương đương cho các hàm với mục tiêu theo mối quan hệ đã đề cập. Công thức tổng quan như sau:
$$ \langle f_q(x_m, m), f_k(x_n, n) \rangle = g(x_m, x_n, m - n) $$
2.2. Mã Hóa Vị Trí Rotary
2.2.1. Trường Hợp 2D
Bắt đầu từ trường hợp có thể trực quan hóa, công thức tổng quát được biểu diễn như sau:
$$ f_q(x_m, m) = (W_q x_m) e^{i m \theta_0} $$
$$ f_k(x_n, n) = (W_k x_n) e^{i n \theta_0} $$
$$ g(x_m, x_n, m - n) = \Re[ (W_q x_m)(W_k x_n)^* e^{i (m - n) \theta_0}] $$
2.2.2. Dạng Tổng Quát
Trong dạng tổng quát, ta chia x thành d/2 subspaces và áp dụng các biến đổi tương tự với công thức tổng quát.
2.2.3. Các Đặc Tính của RoPE
RoPE có một số đặc điểm nổi bật như khả năng suy giảm lâu dài và khả năng tích hợp với attention tuyến tính.
Kết Luận
RoPE mang lại nhiều giá trị trong việc xử lý Mã Hóa Vị Trí, đặt ra những mối liên hệ vị trí giữa các token một cách trực quan. Nội dung trên chỉ cung cấp kiến thức cơ bản về RoPE, nếu bạn quan tâm, hãy đọc thêm trong các tài liệu gốc và các bài viết liên quan.
Tài Liệu Tham Khảo
- 10.3: Dạng Phân Polar cho Số Phức
- 11.7: Dạng Phân Polar của Số Phức
- Rotary Embeddings: Cách Cách Mạng Tương Đối
- Giải Thích Sâu về Mã Hóa Vị Trí Rotary (kèm mã)
- ROFORMER: Transformer Nâng Cao với Mã Hóa Vị Trí Rotary
source: viblo