Một "Bộ phát hiện Attention Sink" mới giúp xác định các token chiếm phần lớn khối lượng attention trong giai đoạn prefill của quá trình suy luận mô hình ngôn ngữ lớn (LLM). Công cụ này cho thấy việc loại bỏ các token sink này khỏi bộ nhớ đệm key-value (KV cache) sẽ làm suy giảm hiệu suất mô hình, khiến chúng trở thành những điểm neo thiết yếu để duy trì sự ổn định khi tạo văn bản.

Tại sao giai đoạn prefill lại quan trọng

Hầu hết các nghiên cứu về LLM đều tập trung vào vòng lặp tạo token từng bước một, nhưng những gì diễn ra trước token đầu tiên—giai đoạn prefill—mới là yếu tố định hình cho mọi thứ tiếp theo. Trong quá trình prefill, mô hình xử lý toàn bộ prompt, xây dựng KV cache và phân bổ attention trên mọi vị trí. Vì hàm softmax tạo ra các trọng số attention phải có tổng bằng 1, mô hình không thể nói rằng "không có gì liên quan". Nó sẽ dồn phần xác suất còn dư vào một token dễ truy cập, thường là token đầu tiên trong chuỗi. Token đó trở thành một attention sink (điểm thu hút attention).

Attention sink là gì, theo cách hiểu đơn giản

Trong một Transformer, mỗi head tính toán một trọng số cho mọi cặp token. Khi sự phân phối bị lệch mạnh, một token duy nhất có thể nhận được một phần trọng số attention không tương xứng. Hiện tượng này không phải là lỗi; nó là hệ quả từ ràng buộc của hàm softmax. Token đầu tiên (thường là dấu hiệu bắt đầu câu) đóng vai trò như một "van xả" cho phần xác suất dư thừa không thể gán cho nơi khác.

Tầm quan trọng đối với việc quản lý KV-cache

KV cache lưu trữ các vector key và value cho mọi token đã được xử lý, cho phép tra cứu nhanh trong quá trình tạo văn bản. Trong các kịch bản ngữ cảnh dài (long-context), những người thực hành thường cắt tỉa cache để nằm trong giới hạn bộ nhớ GPU. Bộ phát hiện mới cho thấy việc xóa các token có vẻ "không quan trọng" một cách bừa bãi cũng sẽ xóa luôn cả các sink mà mô hình dựa vào, khiến hiệu suất bị sụt giảm nghiêm trọng. Việc giữ cố định các token sink trong cache giúp duy trì sự cân bằng nội tại của mô hình và giữ cho quá trình tạo văn bản ổn định.

Cách thức hoạt động của bộ phát hiện

  • Eager attention: Bản thực thi này bỏ qua các kernel nhanh như FlashAttention (vốn nén toàn bộ ma trận attention) và thay vào đó ghi lại điểm số attention thô cho mỗi head.
  • Layer-wide aggregation: Các điểm số được tính trung bình trên tất cả các lớp và các head để tạo ra một hồ sơ khối lượng attention duy nhất cho mỗi token.
  • Log-median absolute deviation (MAD): Vì trọng số attention bị lệch phải rất mạnh, một bài kiểm tra trung bình-độ lệch chuẩn đơn giản sẽ phân loại nhầm các biến động bình thường thành các giá trị ngoại lai (outliers). Việc chuyển đổi log các trọng số giúp chuẩn hóa phân phối; sau đó áp dụng MAD để gắn cờ các token có khối lượng attention vượt quá mức phân tán thông thường.

Hai loại sink được phát hiện

  1. True sinks (Sink thực sự) – Token bắt đầu câu (BOS) liên tục hấp thụ một lượng lớn attention, bất kể nội dung prompt là gì.
  2. Structural sinks (Sink cấu trúc) – Các token thuộc về các prompt cấp hệ thống, chẳng hạn như các dấu hiệu được sử dụng trong ChatML (<im_start>, <im_end>), tạo thành các cụm nhỏ cũng thu hút attention. Chúng đóng vai trò là các ranh giới logic, giúp mô hình phân biệt tin nhắn của người dùng với các hướng dẫn của hệ thống.

Quan điểm phản biện: Chúng ta có thực sự cần ma trận thô không?

Tác giả chỉ ra rằng nếu không có các con số thô, hiện tượng sink sẽ bị che khuất, và bất kỳ chính sách cắt tỉa cache nào dựa trên dữ liệu không đầy đủ đều có nguy cơ làm mất ổn định mô hình.

Điều cần theo dõi tiếp theo

Bộ phát hiện này là phần thứ hai trong loạt bốn phần bắt đầu với trình theo dõi entropy cho chất lượng tạo văn bản. Phần sắp tới sẽ tích hợp việc phát hiện sink với giải mã suy đoán dựa trên entropy (entropy-guided speculative decoding). Nghiên cứu cuối cùng sẽ là một nghiên cứu thực nghiệm.

Bài học rút ra: Attention sink không phải là một sự kỳ quặc khó hiểu; chúng là những trụ cột cấu trúc giúp phân phối attention của Transformer hoạt động ổn định trong giai đoạn prefill. Bất kỳ chiến lược cắt tỉa KV-cache nào bỏ qua chúng đều sẽ gây nguy hiểm cho sự ổn định của mô hình. Việc phát hiện và bảo tồn các token này là một biện pháp bảo vệ chi phí thấp có thể giúp quá trình suy luận ngữ cảnh dài vừa đáng tin cậy vừa hiệu quả.