Chuyển đến nội dung chính

Giải thích Mã hoá Vị trí: Trao cho Transformers cảm nhận về thứ tự

Tìm hiểu cách transformers theo dõi thứ tự từ, so sánh mã hoá hình sin, học được, tương đối, RoPE và ALiBi, và xem một triển khai bằng PyTorch.
Đã cập nhật 14 thg 8, 2026  · 14 phút đọc

Khám phá với AI

ChatGPTClaudePerplexity

Hãy tưởng tượng bạn đang đọc một cuốn tiểu thuyết mà mọi từ trên trang đều bị xáo trộn ngẫu nhiên. Dù bạn hiểu từng từ, cốt truyện vẫn mất hoàn toàn vì thứ tự từ quyết định ý nghĩa. Khi các kỹ sư bắt đầu thiết kế mô hình ngôn ngữ lớn (LLM), họ cũng gặp trở ngại tương tự. Làm thế nào để dạy mô hình hiểu chuỗi từ khi cơ chế cốt lõi của nó xử lý mọi thứ đồng thời?

Đây là lúc mã hoá vị trí xuất hiện. Trong bài viết này, chúng ta sẽ khám phá cách hoạt động bên trong của mã hoá vị trí và cách chúng mang lại cho transformers cảm nhận về thứ tự. Chúng ta sẽ lần theo quá trình phát triển của nó từ các công thức hình sin ban đầu đến các embedding xoay hiện đại và cách triển khai trong dự án máy học tiếp theo của bạn. Nếu bạn mới làm quen với kiến trúc nền tảng, tôi khuyên bạn bắt đầu với hướng dẫn của chúng tôi về cách transformers hoạt động.

Mã hoá vị trí là gì?

Mã hoá vị trí là một kỹ thuật giúp mạng nơ-ron hiểu thứ tự tuần tự của dữ liệu đầu vào. Nó hoạt động như một bộ toạ độ biểu diễn vị trí tương đối hoặc tuyệt đối của token và được trộn vào với biểu diễn dữ liệu tiêu chuẩn của bạn.

Trước khi văn bản đi vào mạng nơ-ron, các từ được chuyển thành các định dạng số liên tục gọi là embedding. Tuy nhiên, embedding tiêu chuẩn chỉ nắm bắt ý nghĩa ngữ nghĩa: chúng không cho biết gì về vị trí của một từ trong văn bản. Bạn có thể tìm hiểu chính xác quy trình này hoạt động như thế nào qua khoá học Introduction to Embeddings with the OpenAI API của chúng tôi.

Mã hoá vị trí là một lớp toán học bổ sung được thêm trực tiếp vào các embedding của token. Bằng cách kết hợp biểu diễn ngữ nghĩa với dấu vị trí, mô hình transformer có thể phân biệt các từ giống hệt nhau xuất hiện ở những phần khác nhau của câu.

Bài toán bất biến hoán vị

Dữ liệu tuần tự phụ thuộc rất nhiều vào thứ tự. Trong ngôn ngữ tự nhiên, câu "the dog bit the man" có ý nghĩa khác xa so với "the man bit the dog."

Bài toán bất biến hoán vị trong cơ chế tự chú ý

Trong lịch sử, Mạng Nơ-ron Hồi quy (RNN)Mạng Bộ nhớ Dài–Ngắn hạn (LSTM) xử lý điều này một cách tự nhiên. Chúng xử lý token theo thứ tự tuần tự, nghĩa là mạng chỉ đưa từ thứ hai vào tính toán sau khi đã xong từ thứ nhất. Tương tự, Mạng Nơ-ron Tích chập (CNN) xử lý dữ liệu bằng các cửa sổ trượt cục bộ, ghi nhận sự sắp xếp không gian của điểm ảnh hoặc các từ lân cận.

Transformers hoàn toàn từ bỏ xử lý tuần tự. Chúng xử lý tất cả token song song. Động cơ cốt lõi của một transformer là cơ chế tự chú ý (self-attention), cơ chế này tính điểm quan hệ theo cặp giưa mọi token trong chuỗi cùng một lúc. Về mặt toán học, self-attention là bất biến với hoán vị. Nếu bạn xáo trộn chuỗi đầu vào, cơ chế tự chú ý sẽ cho ra đúng các điểm chú ý như nhau cho các cặp từ.

Nếu không có cơ chế bảo toàn thứ tự, mô hình sẽ mất hoàn toàn thông tin tuần tự. Ý nghĩa ngữ nghĩa sụp đổ thành một túi từ không có thứ tự. Mã hoá vị trí giải quyết bài toán bất biến hoán vị bằng cách buộc thay đổi các véc-tơ đầu vào để cơ chế tự chú ý ghi nhận token ở vị trí 1 khác với token ở vị trí 10.

Mã hoá vị trí hoạt động như thế nào?

Mã hoá vị trí hoạt động bằng cách sửa đổi toán học các véc-tơ token đầu vào trước khi chúng đi vào các lớp tự chú ý. Điều này đảm bảo mô hình tính toán các mối quan hệ dựa trên cả ý nghĩa và vị trí.

Hãy xây dựng một chút trực giác về điều này. Hãy hình dung các embedding token tiêu chuẩn như thẻ tên tại một hội thảo. Thẻ tên cho biết người đó là ai, nhưng vị trí của họ trong hội thảo không thay đổi con người họ hay mối quan hệ của họ với người khác. Mã hoá vị trí giống như thêm số ghế vào thẻ tên đó. Khi kết hợp lại, bạn biết cả người đó là ai và họ ngồi ở đâu. Điều này bổ sung ngữ cảnh cho các tương tác tiềm năng mà người này có thể có tại hội thảo.

Trong một transformer, sự kết hợp này thường được thực hiện bằng phép cộng theo phần tử đơn giản. Mô hình lấy véc-tơ embedding ngữ nghĩa của một từ và cộng một véc-tơ mã hoá vị trí có cùng kích thước. Véc-tơ kết quả chứa sự điều biến tinh tế mà các lớp sau học cách diễn giải như toạ độ không gian.

Ví dụ tính toán

Hãy xem một ví dụ đơn giản. Giả sử chúng ta có không gian embedding nhỏ với số chiều bằng 4. Chúng ta muốn xử lý từ "DataCamp" nằm ở vị trí 0 trong chuỗi.

  1. Embedding ngữ nghĩa: Mạng nơ-ron truy xuất embedding cho "DataCamp", có thể là [0.51, -0.22, 0.88, 0.14].
  2. Mã hoá vị trí: Công thức vị trí tạo ra một véc-tơ toạ độ cho vị trí 0. Trong ví dụ này, giả sử tính được [0.00, 1.00, 0.00, 1.00].
  3. Kết hợp: Cộng hai véc-tơ theo từng phần tử.
  4. Đầu vào cuối cùng: Lượt truyền xuôi nhận [0.51, 0.78, 0.88, 1.14].

Ngay cả khi cùng token "DataCamp" xuất hiện sau đó ở vị trí 5, véc-tơ mã hoá vị trí sẽ khác. Do đó, véc-tơ đầu vào cuối cùng sẽ trông hoàn toàn khác đối với cơ chế tự chú ý.

Mã hoá vị trí hình sin

Bài báo gốc "Attention Is All You Need" giới thiệu một phương pháp xuất sắc để tạo các véc-tơ vị trí bằng lượng giác cơ bản. Cách tiếp cận này không cần trọng số học máy và dựa hoàn toàn vào các hàm toán học cố định.

Nền tảng toán học

Mã hoá vị trí hình sin sử dụng các hàm sin và cos ở nhiều tần số khác nhau để mã hoá thông tin vị trí. Công thức gốc quy định rằng với một vị trí (pos) và một chỉ số chiều cụ thể (i) trong véc-tơ embedding, mã hoá được tính như sau:

  • Với các chiều chẵn (2i): PE(pos, 2i) = sin(pos / 10000^(2i/dmodel))

  • Với các chiều lẻ (2i+1): PE(pos, 2i+1) = cos(pos / 10000^(2i/dmodel))

Trong công thức này, dmodel là tổng kích thước của véc-tơ embedding. Khi bạn di chuyển dọc theo các chiều của véc-tơ từ chỉ số 0 đến dmodel, bước sóng của các hàm hình sin tăng theo cấp số nhân.

Ưu điểm và tính chất

Sự tiến triển hình học của tần số mang lại một số ưu điểm rõ rệt. 

  1. Đầu ra của sin và cos bị chặn trong khoảng -1 đến 1. Tính bị chặn này đảm bảo mã hoá vị trí không lấn át về mặt số học so với embedding ngữ nghĩa.
  2. Các hàm mang tính chu kỳ. Nhờ các công thức cộng lượng giác, một phép biến đổi tuyến tính có thể dễ dàng biểu diễn mã hoá vị trí của một vị trí tương lai (pos + k) như một hàm của vị trí hiện tại (pos). Tính chất này tự nhiên cho phép mô hình học mã hoá vị trí tương đối.
  3. Mã hoá hình sin sử dụng tham số cố định. Nó không cần trọng số có thể học, giảm mạnh chi phí bộ nhớ. Vì hoạt động trên hàm toán học liên tục, mô hình có năng lực ngoại suy về mặt lý thuyết, nghĩa là có thể ánh xạ toạ độ vị trí cho các chuỗi dài hơn so với khi huấn luyện.

Trực quan hoá

Để dễ hiểu mã hoá hình sin, bạn có thể hình dung nó dưới dạng bản đồ nhiệt.

Ma trận mã hoá vị trí hình sin

Trục x của hình trực quan biểu diễn kích thước chiều embedding, còn trục y biểu thị vị trí của token. 

Các chiều thấp ở bên trái dao động nhanh giữa giá trị âm và dương, cho phép chúng phân biệt các vị trí token ở gần nhau. Khi chỉ số chiều tăng, bước sóng dài hơn và mã hoá thay đổi dần dần hơn. Những chiều này nắm bắt khác biệt vị trí trên khoảng cách lớn hơn.

Với 50 vị trí được hiển thị, nhiều chiều cao hơn trông như các sọc dọc gần như đồng nhất. Điều này xảy ra vì bước sóng của chúng quá dài nên giá trị sin vẫn gần 0 và giá trị cos vẫn gần 1 trong chuỗi ngắn này, chứ không phải 0 và 1 tương ứng. Vì vậy, các sọc xen kẽ phản ánh các chiều sin–cos liền kề, không phải một mã hoá nhị phân đơn giản. Trên chuỗi dài hơn, các chiều này cũng sẽ bắt đầu biến thiên đáng kể.

Điểm mấu chốt là các tần số khác nhau cung cấp cho mô hình thông tin vị trí ở nhiều thang đo: các chiều thay đổi nhanh nắm bắt khác biệt tinh giữa các token gần nhau, trong khi các chiều thay đổi chậm theo dõi vị trí tổng quát trong các chuỗi dài.

Mã hoá vị trí học được

Dù các công thức toán học cố định rất tao nhã, các kiến trúc deep learning hiện đại thường dựa vào dữ liệu để học biểu diễn tối ưu. Embedding vị trí học được chuyển toàn bộ gánh nặng bố cục sang giai đoạn huấn luyện.

Khái niệm và triển khai

Thay vì mã hoá cứng các giá trị vị trí bằng hàm sin và cos, embedding vị trí học được coi toạ độ vị trí là các tham số có thể huấn luyện. 

Mô hình khởi tạo một ma trận embedding hoàn toàn trống, trong đó mỗi hàng tương ứng với một vị trí cụ thể trong chuỗi. Trong vòng lặp huấn luyện lan truyền ngược tiêu chuẩn, mạng cập nhật các trọng số vị trí này cùng với embedding token ngữ nghĩa để tối thiểu hoá hàm mất mát tổng thể.

Ưu thế so sánh

Ưu điểm chính của embedding vị trí học được là tính linh hoạt cực cao. Nó có toàn quyền học các biểu diễn vị trí chính xác phù hợp nhất với một tập dữ liệu cụ thể. Các kiến trúc như BERT và GPT-2 đã phổ biến cách tiếp cận này nhờ khả năng thích ứng cao và hiệu năng mạnh trên các tác vụ hạ nguồn.

Hạn chế và thách thức

Hạn chế đáng kể nhất của embedding vị trí học được là ranh giới cứng về độ dài chuỗi. Nếu một mô hình được huấn luyện với tối đa 2.048 véc-tơ vị trí học được, nó về mặt vật lý không thể xử lý tài liệu có 2.049 token. 

Ràng buộc này hạn chế nghiêm trọng khả năng ngoại suy độ dài và thường đòi hỏi huấn luyện lại tốn kém để mở rộng cửa sổ ngữ cảnh.

Mã hoá vị trí tương đối

Khi các mô hình phát triển để xử lý tài liệu dài hơn, các kỹ sư nhận ra rằng vị trí tuyệt đối của một từ thường kém quan trọng hơn khoảng cách tương đối của nó tới các từ khác.

Dịch chuyển khái niệm sang vị trí tương đối

Hãy xét cụm "the rapid advancement of AI." Mối quan hệ ngữ pháp giữa "advancement" và "AI" vẫn giống hệt nhau dù cụm này xuất hiện ngay đầu tài liệu hay ở cuối. Mã hoá vị trí tương đối từ bỏ toạ độ lưới tuyệt đối. Thay vào đó, nó tập trung hoàn toàn vào độ lệch khoảng cách giữa các token tương tác.

Triển khai trong cơ chế chú ý

Để triển khai mã hoá tương đối, các kỹ sư sửa đổi trực tiếp phép tính điểm chú ý thay vì thay đổi embedding đầu vào ngay từ đầu mạng. 

Khi tính điểm chú ý giữa ma trận "truy vấn" và ma trận "khoá", phép toán bao gồm thêm một hạng thiên lệch học được biểu diễn khoảng cách tương đối. Sửa đổi này đảm bảo tính bất biến theo dịch chuyển trong văn bản. Để tìm hiểu sâu cách các ma trận này vận hành, hãy đọc hướng dẫn của chúng tôi về cơ chế chú ý trong LLM.

Đánh đổi thực tiễn

Cách tiếp cận này mang lại khả năng hiểu ngữ cảnh rất chính xác nhưng gây ra chi phí tính toán nặng. Tính toán các ma trận khoảng cách tương đối riêng cho từng head chú ý làm tăng mạnh tiêu thụ bộ nhớ. Nó cũng làm phức tạp các cơ chế bộ nhớ đệm nội bộ dùng để tăng tốc sinh văn bản.

Thông tin vị trí tuyệt đối so với tương đối

Quyết định giữa mã hoá tuyệt đối và tương đối phụ thuộc vào tác vụ cụ thể. 

  • Mã hoá tuyệt đối rất hiệu quả khi bố cục không gian cố định và ưu tiên tốc độ thực thi. 
  • Mã hoá tương đối vượt trội cho xử lý ngôn ngữ tự nhiên dạng dài, nơi cấu trúc ngữ pháp phụ thuộc hoàn toàn vào khoảng cách ngữ cảnh cục bộ thay vì toạ độ tài liệu tuyệt đối.

Rotary Position Embedding (RoPE)

Trong cuộc tìm kiếm không ngừng để hoàn thiện kiến trúc transformer, các nhà nghiên cứu đã giới thiệu Rotary Position Embedding (RoPE). Nó kết hợp các thuộc tính tốt nhất của mã hoá vị trí tuyệt đối và tương đối, và nhanh chóng trở thành tiêu chuẩn trong ngành.

Cách tiếp cận đổi mới

RoPE thống nhất vị trí tuyệt đối và khoảng cách tương đối bằng các phép biến đổi quay. Thay vì cộng một véc-tơ vào embedding hoặc thêm các độ lệch nặng vào điểm chú ý, RoPE ánh xạ véc-tơ embedding vào mặt phẳng phức và quay nó một góc nhất định. Độ lớn của góc này được xác định chặt chẽ bởi vị trí tuyệt đối của token trong chuỗi.

Mã hoá vị trí RoPE

Góc nhìn toán học

Trong không gian 2D, phép quay được áp dụng bằng ma trận quay 2D tiêu chuẩn. Với số chiều cao hơn, RoPE đơn giản nhóm các chiều của embedding thành từng cặp và áp dụng các phép quay 2D riêng cho mỗi nhóm dựa trên chỉ số vị trí tuyệt đối.

Nhờ các thuộc tính hình học của ma trận quay, tích vô hướng giữa véc-tơ truy vấn đã quay và véc-tơ khoá đã quay rốt cuộc chỉ phụ thuộc vào góc tương đối giữa chúng. Do đó, RoPE sử dụng ánh xạ vị trí tuyệt đối để tự nhiên mã hoá khoảng cách tương đối giữa các token.

RoPE so với mã hoá hình sin

Như hình trên cho thấy, mã hoá hình sin thay đổi cả độ lớn và hướng của véc-tơ gốc. RoPE thì bảo toàn thông tin độ lớn và chỉ cần góc giữa hai vị trí khác nhau để hiểu khoảng cách tương đối của chúng.

Attention With Linear Biases (ALiBi)

Trong khi RoPE dựa vào toán học quay phức tạp, một kỹ thuật khác gọi là Attention with Linear Biases (ALiBi) lại tiếp cận theo hướng hoàn toàn khác.

Đơn giản và hiệu quả

ALiBi hoàn toàn loại bỏ ý tưởng thêm thông tin vị trí vào embedding token ban đầu. Embedding từ đi vào transformer hoàn toàn không bị đụng chạm. 

Thay vào đó, ALiBi can thiệp ở bước cuối cùng của phép tính chú ý. Ngay trước khi các logit chú ý đi qua hàm softmax, ALiBi trừ đi một khoản phạt tĩnh tỷ lệ với khoảng cách giữa hai token. Hai từ càng xa nhau, khoản phạt trừ vào điểm chú ý của chúng càng lớn.

Hiệu năng

Phương pháp này khá dễ triển khai và rất hiệu quả. Lợi ích lớn nhất của nó là hiệu quả cực cao trong các tác vụ ngoại suy độ dài. Một mô hình được huấn luyện với ALiBi trên các chuỗi 1.024 token có thể dễ dàng tạo văn bản mạch lạc trên các chuỗi dài gấp đôi mà không gặp sự cố. 

Với những người thực hành muốn khám phá các kỹ thuật nâng cao khác dùng cho sinh văn bản nhanh và suy luận, hãy xem hướng dẫn về giải mã dự đoán.

Khi nào dùng loại mã hoá vị trí nào

Bắt đầu từ thứ bạn đang xây dựng, rồi chọn phương pháp phù hợp — đôi khi là một, đôi khi là vài phương pháp.

  • Bạn muốn một đường cơ sở đơn giản, không tham số: Hình sin (công thức cố định, không cần huấn luyện).
  • Độ dài chuỗi cố định và bạn muốn hiệu năng tối đa trên một tập dữ liệu cụ thể: Học được.
  • Bạn cần xử lý chuỗi dài hơn so với những gì đã huấn luyện: RoPE là lựa chọn mạnh nhất trong các kỹ thuật có thể ngoại suy.
  • Ngữ pháp phụ thuộc vào khoảng cách giữa token chứ không phải vị trí tuyệt đối của chúng: Tương đối hoặc RoPE.
  • Bạn đang xây dựng một LLM đa dụng hiện đại: RoPE.
  • Ngoại suy độ dài là ưu tiên số một, và bạn muốn triển khai đơn giản nhất: ALiBi.
  • Bạn muốn lợi ích của vị trí tương đối mà không bị đội chi phí bộ nhớ và bộ nhớ đệm: RoPE (mã hoá tương đối mang lại lợi ích nhưng tốn kém hơn).

Triển khai thực tế và cân nhắc kiến trúc

Thu hẹp khoảng cách giữa lý thuyết và thực hành đòi hỏi hiểu cách tích hợp mã hoá vị trí vào mã nguồn thực và quản lý các giới hạn kiến trúc.

Triển khai mã hoá vị trí trong transformers

Để thêm mã hoá vị trí vào transformer trong các framework như PyTorch, các lập trình viên thường tạo một mô-đun riêng. Mô-đun này tạo ma trận mã hoá một lần và đăng ký nó như một buffer để tránh vô tình cập nhật trong quá trình lan truyền ngược. 

Dưới đây là một triển khai thực tế tiêu chuẩn của lượt truyền xuôi tích hợp mã hoá hình sin. Các mã hoá được tính một lần từ công thức sin và cos và không bao giờ thay đổi trong quá trình huấn luyện, đó là lý do chúng được lưu trong buffer chứ không phải tham số có thể học (và vì thế không làm tăng chi phí huấn luyện).

import torch
import torch.nn as nn
import math

class PositionalEncoding(nn.Module):
    def __init__(self, d_model: int, max_len: int = 5000):
        super().__init__()
        
        pe = torch.zeros(max_len, d_model)
        position = torch.arange(0, max_len, dtype=torch.float).unsqueeze(1)
        
        # Calculate the division term for frequencies
        div_term = torch.exp(torch.arange(0, d_model, 2).float() * (-math.log(10000.0) / d_model))
        
        # Apply sine to even indices and cosine to odd indices
        pe[:, 0::2] = torch.sin(position * div_term)
        pe[:, 1::2] = torch.cos(position * div_term)
        
        pe = pe.unsqueeze(0)
        
        # Register as a buffer
        self.register_buffer('pe', pe)

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        # Add positional encoding directly to the input embeddings
        seq_len = x.size(1)
        x = x + self.pe[:, :seq_len, :]
        return x

Trong __init__, mô-đun tính trước bảng mã hoá đến max_len vị trí: position là một cột chỉ số (0, 1, 2, …) và div_term là các tần số, kết quả bằng 1 / 10000^(2i/d_model), nên các chiều thấp có sóng nhanh và các chiều cao có sóng chậm. 

Áp dụng sin cho các chiều chẵn (0::2) và cos cho chiều lẻ (1::2) sẽ điền bảng. Sau đó forward làm công việc duy nhất lúc chạy: cắt bảng theo độ dài chuỗi của đầu vào và cộng theo phần tử vào embedding token. Lưu ý mô-đun giả định dạng batch-first [batch, seq_len, d_model], đó là lý do forward cắt ở chiều 1.

Thiên lệch vị trí và hiện tượng “lạc giữa chừng”

Hệ quả ngoài ý muốn của việc ánh xạ các chuỗi rất dài là thiên lệch vị trí. Điều này thường biểu hiện dưới dạng hiện tượng "lạc giữa chừng". Khi xử lý tài liệu khổng lồ, các mô hình ngôn ngữ có xu hướng nhớ thông tin ở ngay đầu hoặc cuối lời nhắc tốt hơn nhiều so với phần ở giữa. Điều này có vẻ quen thuộc, vì trí nhớ con người cũng hoạt động tương tự (ít nhất là với tôi; đừng nói tôi là người duy nhất nhớ đầu và cuối cuốn sách tốt hơn phần còn lại!).

Lý thuyết cho rằng điều này xảy ra vì cơ chế chú ý bị quá tải với ngữ cảnh không liên quan và tự nhiên neo vào các token đầu (đặt chỉ dẫn) và token cuối (mới nhất trong bộ nhớ). Để giảm thiên lệch này, các nhà phát triển sử dụng chiến lược chia khối nâng cao và hệ thống truy hồi ngữ nghĩa.

Mã hoá vị trí cho các lĩnh vực chuyên biệt

Transformers không còn bị giới hạn nghiêm ngặt ở văn bản. Khái niệm mã hoá vị trí nhanh chóng thích ứng để xử lý các loại dữ liệu khác nhau trên nhiều lĩnh vực.

Với vision transformer, ảnh được chia thành lưới các mảnh. Mã hoá chuỗi 1D đơn giản không thể nắm bắt sự gần kề trong không gian 2D. Do đó, các mô hình thị giác thường dùng mã hoá vị trí học được 2D xét đến cả toạ độ X và Y của mảnh ảnh. 

Những điều chỉnh tương tự tồn tại cho các mô hình chuỗi thời gian liên tục, nơi các mã hoá chuyên biệt theo dõi khoảng cách thời gian, tính mùa vụ và dấu thời gian.

Nghiên cứu thêm về mã hoá vị trí

Khi cuộc đua hướng tới các cửa sổ ngữ cảnh lớn hơn tăng tốc, việc tinh chỉnh cách mô hình hiểu vị trí vẫn là một lĩnh vực nghiên cứu máy học rất sôi động và thiết yếu.

Ngoại suy độ dài và mở rộng ngữ cảnh

Người dùng ngày nay đòi hỏi các cửa sổ ngữ cảnh khổng lồ để xử lý toàn bộ codebase hoặc nhiều tập tiểu thuyết cùng lúc. Vì huấn luyện mô hình từ đầu trên độ dài chuỗi khổng lồ là quá tốn kém, các nhà nghiên cứu dựa vào các kỹ thuật mở rộng ngữ cảnh. 

Các phương pháp như nội suy vị trí nén toán học các toạ độ vị trí của chuỗi dài hơn nhiều vào trong giới hạn độ dài huấn luyện gốc. Các phương pháp thích ứng như YaRN điều chỉnh linh hoạt tần số quay của tham số RoPE để kéo giãn liền mạch hiểu biết về khoảng cách của mô hình.

Transformers không dùng mã hoá vị trí tường minh

Đáng ngạc nhiên, một số nghiên cứu gợi ý rằng mã hoá vị trí tường minh không phải lúc nào cũng tuyệt đối cần thiết. Trong các mô hình ngôn ngữ dạng chỉ giải mã nhân quả, phép che nhân quả tiêu chuẩn (cơ chế buộc token chỉ nhìn về phía sau) vốn dĩ rò rỉ thông tin về trật tự thời gian. 

Điều này có nghĩa là có thể học ngầm các quy tắc vị trí chỉ từ mặt nạ nhân quả thông qua tinh chỉnh nhiệt độ và điều chỉnh kiến trúc chiến lược.

Thách thức và hướng đi tương lai

Biên giới tối hậu làm nổi bật sự đánh đổi dai dẳng giữa thích ứng nghiêm ngặt (tối ưu hiệu năng cho một độ dài chuỗi cụ thể) và ngoại suy hoàn hảo (cho phép mô hình khái quát vô hạn). 

Các hướng nghiên cứu mới nổi tập trung mạnh vào mã hoá đa phương thức. Tạo ra các biểu diễn vị trí phổ quát kết hợp toạ độ video 3D với dòng văn bản và âm thanh là một mục tiêu cho thế hệ tiếp theo của các mô hình trí tuệ nhân tạo.

Kết luận

Mã hoá vị trí bắc cầu giữa xử lý song song và hiểu tuần tự, cho phép chúng ta tạo ra các mô hình có thể xử lý lượng lớn dữ liệu theo thứ tự. Chúng ta đã khám phá cách embedding học được và tương đối mang lại tính linh hoạt cực cao, và cách các đổi mới hiện đại như RoPE và ALiBi tối ưu cả sự tao nhã toán học lẫn hiệu quả tính toán. 

Khi cửa sổ ngữ cảnh mở rộng từ vài nghìn token lên hàng triệu, hành động toán học đơn giản là cho mạng nơ-ron biết chính xác thứ ở đâu sẽ vẫn nằm ở trung tâm của thiết kế mô hình. 

Nếu bạn muốn tìm hiểu sâu hơn và thực hành, tôi khuyên bạn đăng ký lộ trình kỹ năng Developing Large Language Models của chúng tôi.

Câu hỏi thường gặp về Mã hoá Vị trí

Mã hoá vị trí trong máy học là gì?

Mã hoá vị trí là một kỹ thuật toán học được dùng để cung cấp cho mạng nơ-ron thông tin về thứ tự của dữ liệu trong một chuỗi.

Vì sao các mô hình transformer cần mã hoá vị trí?

Không giống các Mạng Nơ-ron Hồi quy cũ xử lý dữ liệu từng bước, transformers xử lý tất cả dữ liệu đồng thời bằng cơ chế tự chú ý. Vì tự chú ý về bản chất là bất biến với hoán vị, nó coi đầu vào như một túi từ không có thứ tự. Mã hoá vị trí giải quyết điều này bằng cách đưa trực tiếp toạ độ tuần tự vào dữ liệu trước khi mô hình xử lý.

Sự khác biệt giữa mã hoá vị trí tuyệt đối và tương đối là gì?

Mã hoá vị trí tuyệt đối gán một toạ độ cố định cho token dựa trên chỉ số chính xác của nó trong chuỗi. Mã hoá vị trí tương đối bỏ qua vị trí lưới chính xác và thay vào đó tính toán khoảng cách giữa hai token tương tác, chỉ tập trung vào độ lệch ngữ cảnh của chúng.

Rotary Position Embedding (RoPE) là gì?

RoPE là một phương pháp mã hoá được dùng rộng rãi, ánh xạ embedding của token lên mặt phẳng phức và quay chúng theo một góc được xác định bởi vị trí tuyệt đối của chúng. Khi mô hình tính điểm chú ý, mối quan hệ giữa hai véc-tơ đã quay phụ thuộc hoàn toàn vào khoảng cách tương đối của chúng.

Embedding vị trí học được là gì?

Thay vì dùng các công thức toán học cố định như sin và cos, embedding vị trí học được coi toạ độ không gian là các trọng số có thể huấn luyện. Mô hình khởi tạo một ma trận vị trí trống và cập nhật các toạ độ này trong quá trình huấn luyện để học các biểu diễn không gian tối ưu cho một tập dữ liệu cụ thể.


Tim Lu's photo
Author
Tim Lu
LinkedIn

Tôi là một nhà khoa học dữ liệu có kinh nghiệm về phân tích không gian, học máy và đường ống dữ liệu. Tôi đã làm việc với GCP, Hadoop, Hive, Snowflake, Airflow và các quy trình khoa học/kỹ thuật dữ liệu khác.

Chủ đề

Các khoá học Transformer hàng đầu

Tracks

Phát triển các mô hình ngôn ngữ quy mô lớn

16 giờ
Học cách phát triển các mô hình ngôn ngữ lớn (LLMs) bằng PyTorch và Hugging Face, áp dụng các kỹ thuật học sâu và xử lý ngôn ngữ tự nhiên (NLP) tiên tiến nhất.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Có liên quan

blogs

Claude Opus 4.6: Tính năng, điểm chuẩn, các bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu bảng xếp hạng về mã hóa theo hướng tác nhân và suy luận phức tạp. Thêm nữa, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm