OpenArchLabOpen Architecture — From Models to Systems

E · Training Architecture

Attention gates & sinks · ba cơ chế khác nhau

Phân biệt ba cơ chế điều tiết luồng thông tin trong Attention: cổng nhân đầu ra (Output Gate), điểm hút học được trong softmax (Learned Sink) và giữ token đầu khi streaming.

LESSON ID arch-attention-gates GROUP Bản đồ nền tảng LLM
Mục lục bài học

1Định nghĩa

Trong các biến thể Attention hiện đại, kỹ sư bổ sung các cơ chế cổng (gates) và điểm hút (sinks) để kiểm soát cách phân phối trọng số chú ý. Thứ nhất là Output Gate: nhân đầu ra của phép tính attention với một cổng kích hoạt (sigmoid hoặc SiLU) phụ thuộc đầu vào trước khi chiếu về vector ẩn, giúp mô hình chủ động tắt bớt tín hiệu nhiễu từ ngữ cảnh.

Thứ hai là Attention Sink — cần phân biệt rõ hai cơ chế cùng tên nhưng khác hẳn bản chất: một là Learned Sink trong kiến trúc mô hình (thêm một tham số điểm ảo vào mẫu số của softmax để khi token hiện tại không cần chú ý vào từ nào trong quá khứ, nó dồn xác suất thừa vào điểm ảo này mà không làm bẩn vector đầu ra); hai là Streaming Sink ở tầng quản lý KV cache (luôn giữ lại vài token đầu tiên của câu cùng cửa sổ gần nhất để mô hình không bị loạn phân phối khi cắt bỏ lịch sử giữa chừng).

Ví dụ đời thường: Output Gate giống như van chỉnh lưu lượng nước ở đầu vòi giúp khóa bớt khi dòng nước quá mạnh; Learned Attention Sink giống như một chiếc phễu thoát nước tràn đặt sẵn bên cạnh khay — khi không có ly nào cần rót thêm nước, lượng nước dư sẽ chảy vào phễu thoát đó thay vì tràn bừa ra làm ướt các ly trên bàn; còn Streaming Sink giống như việc luôn giữ lại trang bìa mục lục và vài trang cuối khi đọc sách dài.

2Luồng

Sơ đồ luồng (3 bước)
  1. Tính attention

    Đọc KV theo mask hoặc tập sparse.

  2. Áp sink / gate đúng chỗ

    Sink ở softmax, output gate sau phép trộn value.

  3. Chiếu và cộng residual

    Giữ shape và thứ tự của checkpoint.

Mã Mermaid
flowchart TD
  step1["Tính attention"]
  step2["Áp sink / gate đúng chỗ"]
  step3["Chiếu và cộng residual"]
  step1 --> step2
  step2 --> step3

Luồng mô tả cơ chế hoặc quy trình kiểm tra. Các ví dụ số là giả định giáo dục; demo Atlas không chạy kiến trúc production này.

3Giải pháp

Đọc code để phân biệt sigmoid gate, sink logits và token retention. Đặt gate trước softmax thay vì sau output tạo một hàm khác.

gpt-oss còn dùng SwiGLU có clamp và scale riêng, cùng projection biases. Không chuyển weights sang vanilla SwiGLU rồi mong forward parity. Quantization MXFP4 của experts cũng không có nghĩa KV cache mặc định là FP4.

Đánh giá sink/gate qua ablation hoặc implementation parity; không suy rằng một cơ chế luôn chữa mọi attention sink hay làm model tốt hơn.

Trong reference gpt-oss: g=min(g,7), u=clip(u,−7,7), z=g·sigmoid(1.702g)·(u+1), trước output projection. Vanilla SwiGLU dùng SiLU(g)·u. Cần giữ cả cách xen kẽ channels của projection trong weights, không chỉ đổi activation name.

4Profiling

  • Mass và saturation

    Đo softmax mass của sink, gate distribution và mức saturation theo head/layer.

  • Forward parity

    So output khi chuyển backend, kể cả bias, clamp và scale activation.

Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.

5Ví dụ

Ví dụ sink số

Scores token [0,0] và sink=0 cho mỗi token mass 1/3. Với values [2,4], output là 2, thay vì 3 khi không có sink. Đây là softmax minh họa, không phải thêm một token value mới.

Gate theo đầu

Gate 0.1 trên một head giảm toàn bộ output head đó; router top-2 MoE lại chọn hai mạng có trọng số khác. Hai cơ chế có vị trí và chi phí khác nhau.

6Thuật ngữ

Output gating
Điều tiết output attention trước projection; cần đúng vị trí gate.
Sink logit
Điểm softmax bổ sung với đóng góp value bằng 0 trong gpt-oss.
Glossary (8)
Model weights
Các tham số số học được học và lưu trong checkpoint.
Checkpoint
Bản lưu trạng thái model; phạm vi states phụ thuộc mục đích serving hay resume.
Cache
Bộ nhớ giữ kết quả có thể dùng lại; trong attention thường giữ key/value vectors.
Logits
Điểm số chưa chuẩn hóa cho các token ứng viên trước khi chọn token.
Activation
Giá trị trung gian được tạo ra trong forward của mạng neural.
Mask
Quy tắc vị trí nào được nhìn nhau hoặc được tính vào loss.
Forward pass
Tính kết quả model từ đầu vào theo weights hiện tại.
Tensor shape
Kích thước các chiều của tensor; ảnh hưởng layout, kernel và memory.

7Bài liên quan

8Nguồn