OpenArchLabOpen Architecture — From Models to Systems

E · Training Architecture

Normalization · Pre, Post, Sandwich và QK-Norm

Các phép chuẩn hóa biên độ vector (RMSNorm, LayerNorm) và cách đặt vị trí chuẩn hóa (Pre-Norm, Post-Norm, Sandwich-Norm, QK-Norm) để giữ huấn luyện ổn định.

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

1Định nghĩa

Trong mỗi lớp Transformer, phép chuẩn hóa (normalization) có nhiệm vụ giữ cho độ lớn của các vector kích hoạt không bị phóng đại hoặc teo nhỏ khi đi qua hàng chục lớp liên tiếp. Hầu hết LLM hiện đại dùng RMSNorm thay cho LayerNorm truyền thống vì RMSNorm chỉ chia cho căn trung bình bình phương mà bỏ qua bước trừ giá trị trung bình, giúp giảm phép tính trong kernel mà vẫn giữ chất lượng tương đương.

Bên cạnh công thức chuẩn hóa, vị trí đặt norm quanh nhánh residual ảnh hưởng lớn đến độ ổn định: Pre-Norm chuẩn hóa đầu vào trước khi đưa vào Attention/FFN để đường cộng residual thông suốt; Sandwich-Norm (hoặc Post-res-norm như ở OLMo 2, Gemma) bọc thêm một lớp chuẩn hóa ngay đầu ra của nhánh con; còn QK-Norm chuẩn hóa trực tiếp hai vector Query và Key trước khi nhân vô hướng để ngăn điểm số Attention bị vọt quá lớn ở độ phân giải thấp.

Ví dụ đời thường: Phép chuẩn hóa (Normalization) trong mạng sâu giống như bộ ổn áp điện hoặc bộ cân bằng âm lượng tự động giữa các tầng khuếch đại âm thanh. Nếu không có bộ ổn áp giữ mức tín hiệu nằm trong ngưỡng chuẩn ở mỗi tầng (Pre-Norm, Sandwich-Norm hay QK-Norm), âm thanh đi qua vài chục loa nối tiếp sẽ hoặc bị rè cháy loa (nổ số học) hoặc nhỏ dần rồi tắt hẳn.

2Luồng

Sơ đồ luồng (3 bước)
  1. Đọc phương trình block

    Xác định norm đứng trước F, sau F hay sau dấu cộng.

  2. Đọc head layout

    Xác định axes của QK-Norm và epsilon.

  3. Kiểm tra tín hiệu qua độ sâu

    Theo dõi activations, logits attention và gradients.

Mã Mermaid
flowchart TD
  step1["Đọc phương trình block"]
  step2["Đọc head layout"]
  step3["Kiểm tra tín hiệu qua độ sâu"]
  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

Ghi đủ loại norm, vị trí, epsilon, bias và cách tham số hóa scale khi so checkpoint. Các thay đổi này cần trọng số/training phù hợp, không phải toggle thay thế tự do.

Kết quả OLMo 2 phụ thuộc phối hợp normalization và QK-Norm trong thí nghiệm của họ. Không gán mọi cải thiện cho riêng một norm hoặc kết luận kiến trúc nào luôn ổn định hơn.

Bias Q/K/V hay output là tham số của phép chiếu, độc lập với RMSNorm. gpt-oss có projection biases; đừng dùng công thức parameter count bỏ mọi bias cho model này.

MiniMax-M2 config ghi qk_norm_type=per_layer. vLLM dựng norm với chiều head_dim×total_num_heads cho Q và tương tự cho K: đây là vector ghép heads, khác normalize độc lập mỗi head. Khi tensor parallel, phép giảm và learned scale cũng phải theo đúng phạm vi.

4Profiling

  • Ổn định

    Đo gradient norm, activation RMS và phân phối attention logits theo layer trên cùng dữ liệu.

  • Đếm tham số và parity

    Đọc shape learned scale/bias; kiểm tra forward parity trước và sau chuyển backend.

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ụ

Đặt norm khác nhau

Nếu N(x+F(x)) co cả x thì đường identity cũng bị chuẩn hóa; x+N(F(x)) vẫn giữ x trực tiếp. Hai sơ đồ không đổi tên cho nhau được.

Hai đầu khác độ lớn

Khi một đầu có norm gấp 10 đầu kia, RMS trên vector ghép bị đầu lớn chi phối. RMS riêng mỗi đầu cho kết quả khác; phải đọc code khi config chỉ ghi qk_norm=true.

6Thuật ngữ

Residual branch
Nhánh F(x) cộng vào đường x; vị trí norm làm thay đổi forward và gradient.
QK-Norm
Chuẩn hóa query/key; cần biết axes và scale, không chỉ tên module.
Glossary (7)
Tensor
Mảng số nhiều chiều, như một vector, ma trận hoặc nhóm ma trận.
Vector
Danh sách các số biểu diễn một token hoặc đặc trưng.
Checkpoint
Bản lưu trạng thái model; phạm vi states phụ thuộc mục đích serving hay resume.
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.
Backward pass
Tính gradients ngược qua các phụ thuộc của forward graph.
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