D · Model / distributed
Mô hình nhiều chuyên gia và việc gửi token tới expert
Kiến trúc thay mạng truyền thẳng đặc (Dense FFN) bằng nhiều nhánh chuyên gia và dùng bộ định tuyến nội bộ chọn vài nhánh cho mỗi token.
1Định nghĩa
Mixture of Experts (MoE) là kiến trúc mở rộng dung lượng mô hình mà không làm tăng chi phí tính toán trên mỗi token theo cùng tỷ lệ. Thay vì buộc mọi token đi qua cùng một mạng truyền thẳng đặc (Dense FFN) khổng lồ, mỗi lớp MoE đặt nhiều mạng con song song gọi là các chuyên gia (experts) kèm một cổng định tuyến nhỏ (router/gating network).
Với mỗi token đi tới lớp MoE, cổng định tuyến chấm điểm và chỉ kích hoạt top-k chuyên gia phù hợp nhất (ví dụ chọn 2 hoặc 8 trong số 64 chuyên gia) để tính toán rồi cộng có trọng số các đầu ra lại. Nhờ đó, số tham số thực sự nhân ma trận cho một token (active parameters) nhỏ hơn nhiều so với tổng tham số của checkpoint, nhưng hệ thống vẫn phải giữ toàn bộ chuyên gia trong bộ nhớ HBM hoặc chia chúng qua nhiều máy bằng Expert Parallelism.
Ví dụ đời thường: Mô hình Mixture of Experts (MoE) giống như một bệnh viện đa khoa có quầy phân loại bệnh nhân ở cửa và hàng chục phòng khám chuyên khoa (tim mạch, mắt, tai mũi họng, nhi). Mỗi bệnh nhân đi vào không cần khám hết tất cả các bác sĩ trong viện (như mô hình Dense), mà chỉ được điều phối tới đúng 1–2 bác sĩ chuyên khoa phù hợp nhất, nên khám rất nhanh dù bệnh viện có quy mô cực lớn.
2Luồng
- Hidden state của token
Đi vào bộ chọn expert.
- Router chọn experts
Tính scores và lựa chọn theo model.
- Dispatch và compute
Gửi tới thiết bị giữ expert, thực hiện phép tính.
- Combine và tiếp tục
Ghép outputs vào dòng transformer.
Mã Mermaid
flowchart TD
step1["Hidden state của token"]
step2["Router chọn experts"]
step3["Dispatch và compute"]
step4["Combine và tiếp tục"]
step1 --> step2
step2 --> step3
step3 --> step4 3Giải pháp
Grouped matrix multiplication xử lý các nhóm tokens ở experts; expert parallel phân bố experts trên devices. Overlap transfer và compute khi có thể.
Phân phối tokens không đều làm một số experts/links bận hơn phần còn lại. Activated parameters nhỏ không có nghĩa total memory nhỏ.
Với N chuyên gia SwiGLU cùng kích thước d,m và mỗi token chọn k chuyên gia, riêng trọng số chuyên gia là N×3dm tổng và k×3dm hoạt động. Cần cộng router, attention và chuyên gia dùng chung nếu có. Đây là công thức có giả định, không phải phép đếm đủ cho mọi model MoE.
Khi training, theo dõi router/expert utilization và cơ chế cân bằng của checkpoint, chẳng hạn loss phụ hoặc chiến lược không dùng loss phụ. DeepSeek-V3 công bố cơ chế cân bằng không dùng auxiliary loss; không áp một công thức loss cân bằng cho mọi MoE.
Mô hình lưu nhiều chuyên gia có thể cần memory và communication lớn dù active parameters thấp. Expert parallelism là cách phân bố chuyên gia trên thiết bị; nó khác với việc model có kiến trúc MoE.
4Profiling
- Tokens trên mỗi expert
Đo độ lệch tải theo prompt distribution.
- Dispatch và expert compute
Tách communication khỏi kernels; xem worker nào quyết định thời gian step.
- Cân bằng khi training
Đếm token tới từng chuyên gia, router statistics, gradients và token bị drop nếu có; xem cả expert chưa được học đủ. So task quality cùng chi phí dispatch.
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ụ
Traffic theo một chủ đề
Router có thể chọn một số experts thường hơn; cần đo trên traffic đại diện.
Expert nằm khác node
Token dispatch tạo network work; phải tính vào gain của kiến trúc model.
Ví dụ số có giả định rõ
Một lớp minh họa có N=8, k=2, d=16, m=32: trọng số của tất cả chuyên gia là 8×3×16×32=12.288; đường chuyên gia mỗi token là 2×3×16×32=3.072. Chưa tính router và các khối chung. Đây là ví dụ tính toán, không phải cấu hình demo Atlas.
6Thuật ngữ
- Expert
- Một mạng con, thường là feed-forward network, nhận token được router chọn.
- Dispatch / combine
- Gửi dữ liệu tới experts rồi ghép outputs theo quy tắc của model.
- Router / top-k experts
- Mạng cho điểm chuyên gia rồi chọn k chuyên gia theo policy. Một số kiến trúc còn có chuyên gia dùng chung cho mọi token.
- Load balancing
- Cân bằng lượng token hoặc công việc giữa chuyên gia; cách huấn luyện và capacity policy phụ thuộc model.
Glossary (4)
- Multi-Layer Perceptron
- Mạng truyền thẳng gồm các phép biến đổi và hàm kích hoạt.
- Checkpoint
- Bản lưu trạng thái model; phạm vi states phụ thuộc mục đích serving hay resume.
- Runtime
- Phần mềm quản lý việc thực thi, buffers và phụ thuộc giữa phép toán.
- Worker
- Tiến trình hoặc máy thực hiện một phần công việc của hệ thống.