Ngay lúc này, khi Qwen, DeepSeek và loạt mô hình Trung Quốc liên tục tung ra phiên bản mới khiến giới làm AI ở Mỹ đứng ngồi không yên, tất cả những cỗ máy đó đều chạy trên cùng một cơ chế lõi: self-attention. Nếu từng thắc mắc vì sao một mô hình ngôn ngữ biết "nó" trong câu trỏ về ai, câu trả lời nằm gọn trong phép nhân ba ma trận Query, Key, Value. Dưới đây là cơ chế này theo từng bước.

Query, Key, Value: ba vai trò của cùng một từ

Hình dung self-attention như một thư viện thu nhỏ bên trong mô hình. Mỗi token (từ hoặc mảnh từ) khi đi vào tầng attention sẽ được nhân với ba ma trận trọng số riêng, ký hiệu W_Q, W_K, W_V, để tạo ra ba vector tương ứng: Query (điều nó muốn tìm), Key (nhãn mô tả nó là gì) và Value (nội dung nó mang theo). Cùng một từ "mèo" vừa tự hỏi "tôi cần chú ý đến ai", vừa dán nhãn "tôi là danh từ chỉ con vật" để từ khác tìm đến, vừa mang theo nghĩa để chia sẻ nếu được chọn.

Scaled dot-product: đo độ ăn khớp

Lấy ví dụ câu "Con mèo ngồi trên thảm vì nó mệt". Khi xử lý từ "nó", mô hình lấy vector Query của "nó" nhân vô hướng (dot product) với vector Key của từng từ khác trong câu, bao gồm cả "mèo", "thảm", "ngồi". Kết quả là một con số cho biết "nó" và từ kia liên quan với nhau đến mức nào: Query("nó") nhân Key("mèo") thường cho điểm cao hơn hẳn Query("nó") nhân Key("thảm"), vì ngữ cảnh gợi ý "nó" chỉ con mèo chứ không phải cái thảm. Trước khi sang bước tiếp theo, các điểm này được chia cho căn bậc hai của số chiều vector Key. Mục đích của bước "scaled" là giữ giá trị không tăng quá lớn, tránh làm hàm phía sau bị bão hòa.

Softmax: biến điểm số thành trọng số attention

Dãy điểm thô sau đó đi qua hàm softmax để được chuẩn hóa thành các trọng số có tổng bằng 1. Với ví dụ trên, kết quả có thể là "nó" dành khoảng 70% sự chú ý cho "mèo", 10% cho "ngồi", phần còn lại rải rác cho các từ khác. Đây là các trọng số thể hiện mức độ mỗi token chú ý tới những token còn lại trong câu. Khi tính cho toàn bộ token, kết quả tạo thành một ma trận vuông có số hàng và số cột đều bằng độ dài câu.

Context vector: gộp thông tin lại

Ở bước cuối, trọng số attention của "nó" được dùng để tính tổng có trọng số của toàn bộ vector Value trong câu: 70% từ Value của "mèo", 10% từ Value của "ngồi" và phần còn lại từ các từ khác. Kết quả là một context vector mới cho "nó", giờ đã mang đậm thông tin từ "mèo" dù bản thân từ "nó" không hề chứa nghĩa đó. Khi nhiều đầu attention (multi-head) và nhiều tầng được xếp chồng lên nhau, transformer dần hình thành biểu diễn ngữ nghĩa sâu cho cả câu. Đây là nền tảng giúp mô hình hiểu ngữ cảnh tốt hơn.

Toàn bộ phép toán trên chủ yếu là nhân ma trận và softmax, không cần xử lý tuần tự từng bước, nên có thể chạy song song rất nhanh trên GPU. Đó cũng là lý do self-attention thay thế hoàn toàn mạng hồi quy cũ và trở thành viên gạch nền cho mọi cuộc đua mô hình ngôn ngữ lớn hiện nay, từ Mỹ đến Trung Quốc.