
Trước Q, K và V: Tái cấu trúc Transformer
Nhiều bài viết giải thích về Transformer thường bắt đầu với kiến trúc hoàn chỉnh. Chúng tôi đặt câu hỏi tại sao kiến trúc này lại có hình dạng như vậy. Bài viết Before Q, K, and V: Reconstructing the Transformer xuất hiện lần đầu trên Towards Data Science.
Học sâu
Trước Q, K và V: Tái cấu trúc Transformer
Nhiều tài liệu giải thích về Transformer bắt đầu với kiến trúc hoàn chỉnh. Chúng ta sẽ tìm hiểu lý do tại sao nó lại có hình dạng như vậy.
Sankar Srinivasan
Ngày 08/8/2026
30 phút đọc
Chia sẻ
Ảnh của Antonio Janeski qua Unsplash
Chúng ta có thực sự cần các khóa (keys), truy vấn (queries), giá trị (values) và cơ chế chú ý tích vô hướng (dot product attention) không?
"Bạn cần khóa và truy vấn để các token giao tiếp với nhau," một phép loại suy phổ biến trên Internet nói. Nhưng tại sao? Có rất nhiều phép loại suy tuyệt vời về cách chúng hoạt động, nhưng lại ít tài liệu hơn về lý do tại sao chúng ta thực sự cần chúng. Có bất kỳ lựa chọn thay thế nào không, hay những khái niệm trừu tượng này là không thể tránh khỏi?
Đây có vẻ là một câu hỏi ngớ ngẩn khi xét đến thành công vang dội của kiến trúc Transformer vào năm 2026. Nhưng nếu lịch sử là một chỉ báo, Transformer cuối cùng sẽ được thay thế bằng một thứ tốt hơn. Chúng ta càng hiểu rõ lý do tại sao chúng hoạt động, chúng ta càng có thể vượt qua chúng nhanh hơn.
Thật đáng kinh ngạc, chúng ta có thể chứng minh rằng hình dạng tổng thể của Transformer rất khó tránh khỏi! Bắt đầu với một vài áp lực thiết kế chính, và mớ ma trận phức tạp bắt đầu trông bớt tùy tiện hơn nhiều. Không dựa vào bất kỳ phép loại suy "token đặt câu hỏi" nào, chúng ta sẽ thấy rằng các truy vấn phát sinh từ một vấn đề đối xứng, trong khi các giá trị và các đầu chú ý (attention heads) xuất hiện khi chúng ta thay thế một ma trận trọng số động cồng kềnh bằng một tập hợp nhỏ các phép biến đổi có thể tái sử dụng.
Và khi chúng ta điều chỉnh mô hình đồ chơi của mình với Transformer gốc (tự hồi quy), chúng ta sẽ kết thúc với một mối liên hệ hấp dẫn cuối cùng: MLP – khối truyền thẳng thường bị bỏ qua – có thể được xem như một kho khóa-giá trị của riêng nó.
Sẵn sàng tự mình phát minh ra Transformer chưa? Đầu tiên, chúng ta cần quay trở lại năm 2014 và hỏi tại sao mạng thần kinh hồi quy (RNN) lại không đủ.
Tại sao bộ nhớ cố định thất bại
Có nhiều vấn đề với mạng thần kinh hồi quy (RNN) tiêu chuẩn. Một số vấn đề, như vấn đề "tiêu biến gradient", đã được giải quyết bởi mạng LSTM (Long Short-Term Memory network) cực kỳ phổ biến của Hochreiter và Schmidhuber [1], một dạng RNN tiên tiến hơn. Nhưng một vấn đề cốt lõi vẫn còn tồn tại đối với tất cả các dạng: RNN "ép" các đầu vào trong quá khứ vào bộ nhớ cố định.
Để hiểu tại sao, hãy nhớ rằng một RNN có một trạng thái bộ nhớ được "ghi" bởi đầu vào hiện tại và trạng thái trước đó. Mối liên hệ giữa các trạng thái theo thời gian này là nơi "hồi quy" xuất phát. Hãy xem xét RNN hai lớp sau được mở rộng theo thời gian:
Hình 1: RNN mở rộng theo thời gian. Ảnh của tác giả
Ở đây, các đầu vào có màu xanh lá cây, các đầu ra có màu xanh lam, và hai lớp trung gian của mạng tính toán các kích hoạt mạng thần kinh tiêu chuẩn có màu xám. Tất cả các thành phần là các vectơ, và các mũi tên có hướng là các trọng số ma trận nhân với các đầu vào của chúng. Để xem mạng tại một thời điểm, chỉ cần nhìn vào một lát cắt dọc duy nhất của sơ đồ; trong lát cắt đó, có hai đơn vị màu xám cố định cùng nhau đại diện cho "bộ nhớ" của mạng tại thời điểm đó.
Hãy sử dụng một phép loại suy thô thiển để chỉ ra tại sao "bộ nhớ cố định" này lại là một vấn đề. Giả sử bạn mã hóa câu "Tôi có năm đô la" vào bộ nhớ của RNN, mà chúng ta sẽ biểu thị bằng hình chữ nhật màu xám bên dưới:
Hình 2: Phép loại suy bộ nhớ. Ảnh của tác giả
Bây giờ hãy mở rộng câu đó thành "Tôi có năm đô la và bốn mươi xu trong túi":
Hình 3: Phép loại suy bộ nhớ nén. Ảnh của tác giả
Sau khi bổ sung thêm thông tin vào bộ nhớ hữu hạn, "sự cạnh tranh" về không gian lưu trữ tăng lên và một số thông tin trong bộ nhớ bị ghi đè. Điều này gây ra hậu quả nghiêm trọng khi cần truy xuất các dữ kiện cụ thể hoặc tuân thủ các chỉ dẫn rất chi tiết.
Có thể có ý kiến cho rằng: "Tại sao không sử dụng bộ nhớ động có khả năng mở rộng theo chuỗi đầu vào?"
Đây là một trực giác tuyệt vời. Đây chính xác là điều mà Bahdanau và cộng sự [2] đã thực hiện vào năm 2014 khi họ phổ biến ý tưởng về "cơ chế chú ý" (attention) trong mạng RNN (mạng RNN đã sử dụng cơ chế chú ý trước cả Transformer).
Ý tưởng cơ bản là giữ lại toàn bộ lịch sử các trạng thái RNN trước đó làm "bộ nhớ mở rộng" của chúng ta, có đặc tính tự nhiên là tăng lên theo chuỗi đầu vào. Hãy xem sơ đồ cập nhật sau đây (đây không phải là kiến trúc chính xác trong bài báo của Bahdanau, mà là một phép loại suy):
Hình 4: RNN với cơ chế chú ý. Ảnh của tác giả
Lưu ý các kết nối mới màu đỏ; chúng kết nối các trạng thái màu xám trong các lớp RNN với mọi đầu vào trước đó theo thời gian. Trước khi thêm các kết nối này, mỗi trạng thái buộc phải nén tất cả thông tin lịch sử và truyền nó đi theo các kết nối "đệ quy" từ trái sang phải. Nhưng việc nén này không còn cần thiết nữa vì mỗi trạng thái hiện có quyền truy cập trực tiếp vào toàn bộ lịch sử đầu vào, hay còn gọi là bộ nhớ đang phát triển của chúng ta.
Tuy nhiên, vẫn còn một thách thức lớn: tốc độ huấn luyện. Trong quá trình huấn luyện, chúng ta có sẵn toàn bộ chuỗi đầu vào. Nhưng để tạo ra đầu ra thứ N cuối cùng, cần N bước tuần tự theo thời gian do các phụ thuộc đệ quy; với các chuỗi đầu vào dài, chúng ta có các phép tính tuần tự dài không thể song song hóa bằng GPU.
Ý tưởng trong bài báo mang tính bước ngoặt của Vaswani và cộng sự [3] là: Điều gì sẽ xảy ra nếu chúng ta có thể loại bỏ các kết nối đệ quy từ trái sang phải đó? Điều gì sẽ xảy ra nếu các kết nối màu đỏ là tất cả những gì bạn cần? Xem sơ đồ sau đây thể hiện ý tưởng này ở cấp độ cao:
Hình 5: Cơ chế chú ý không có đệ quy. Ảnh của tác giả
Hãy đặt các kiến trúc đệ quy và không đệ quy cạnh nhau, và so sánh tổng số bước tính toán của chúng bằng cách đặt các nhãn có thứ tự cho mỗi bước:
Hình 6: Các bước thời gian – đệ quy so với không đệ quy. Ảnh của tác giả
Lưu ý rằng mô hình không đệ quy chỉ cần 2 bước tính toán, vì nó có thể tính toán từng lớp hoàn toàn song song sau khi lớp trước đó được tính toán. Mặt khác, mô hình đệ quy cần 5 bước tính toán do các phụ thuộc đệ quy trong mỗi lớp. Khi chuỗi dài hơn, mô hình không đệ quy




Nguồn tin: Towards Data Science — Tác giả: Sankar Srinivasan. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.