OpenArchLabOpen Architecture — From Models to Systems

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.

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

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

Sơ đồ luồng (4 bước)
  1. Hidden state của token

    Đi vào bộ chọn expert.

  2. Router chọn experts

    Tính scores và lựa chọn theo model.

  3. Dispatch và compute

    Gửi tới thiết bị giữ expert, thực hiện phép tính.

  4. 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.

7Bài liên quan

8Nguồn