Skip to content
tinAI
Go back

GitHub - danveloper/flash-moe: Chạy mô hình lớn trên laptop

Bài gốc: GitHub - danveloper/flash-moe: Running a big model on a small laptop

Tác giả: Unknown

Ngày đăng: Dịch ngày:

TL;DR

Dự án Flash-MoE cho phép chạy mô hình 397 tỷ tham số trên MacBook Pro với hiệu suất cao. Không sử dụng Python hay framework nào, chỉ sử dụng C và Metal cho quá trình tính toán, cho phép mô hình đạt tốc độ 4.4+ tokens/giây.

Flash-MoE: Chạy mô hình 397B tham số trên laptop

Đọc bài báo — Chi tiết kỹ thuật, hơn 90 thử nghiệm.

Flash-MoE là một công cụ suy luận thuần C/Metal cho mô hình Qwen3.5-397B-A17B với 397 tỷ tham số, chạy trên MacBook Pro với RAM 48GB đạt 4.4+ tokens/giây với chất lượng sản xuất.

Kết quả

Cấu hìnhtok/sChất lượngGhi chú
Chuyên gia 4-bit, hạt nhân FMA4.36Xuất sắcHiện tại tốt nhất. Gọi công cụ đầy đủ. 209GB trên đĩa.
Chuyên gia 4-bit, cơ bản3.90Xuất sắcTrước khi tối ưu hóa kernel FMA.
Chuyên gia 2-bit, tin OS5.74Tốt*120GB trên đĩa. *Không đáng tin cậy khi gọi công cụ.
2-bit cao nhất một token7.05Tốt*Burst cache ấm. *Không phù hợp cho việc dùng công cụ.

*Chuyên gia 2-bit gây ra lỗi định dạng JSON.

Phần cứng

Kiến trúc

Mô hình có 60 lớp transformer: 45 lớp GatedDeltaNet + 15 lớp full attention, mỗi lớp có 512 chuyên gia, K=4 kích hoạt mỗi token.

Kỹ thuật chính

  1. SSD Expert Streaming — Truy xuất dữ liệu expert từ SSD qua pread(), chỉ K=4 chuyên gia hoạt động mỗi lớp (~6.75MB/lớp).
  2. FMA-Optimized Dequant Kernel — Sử dụng kernel FMA trong GPU để tăng tốc.
  3. Metal Compute Shaders — Viết tay các kernel cho đại số ma trận vector.
  4. Deferred GPU Expert Compute — Tối ưu hóa việc xử lý song song GPU/CPU.
  5. Accelerate BLAS cho Linear Attention — Tăng tốc qua ‘cblas_sscal’ và ‘cblas_sgemv’.
  6. Trust the OS — Không sử dụng cache tùy chỉnh, tin tưởng quản lý page bởi OS.

Pipeline mỗi lớp (4.28ms trung bình 4-bit)

CMD3(prev) → CMD1: attention projections + delta-net  [1.22ms GPU]
           → CPU: flush results                       [0.01ms CPU]
           → CMD2: o_proj + norm + routing + shared   [0.55ms GPU]
           → CPU: softmax + topK routing              [0.003ms]
           → I/O: parallel pread K=4 experts          [2.41ms SSD]
           → CMD3: expert forward + combine + norm    [0.04ms encode, DEFERRED]

Trở ngại bộ nhớ hợp nhất

Trên Apple Silicon, việc xử lý DMA SSD và GPU không thể chồng lắp hiệu quả do chia sẻ cùng bộ điều khiển bộ nhớ.

Bắt đầu nhanh

cd metal_infer
make
# Suy luận 4-bit
./infer --prompt "Giải thích tính toán lượng tử" --tokens 100

# Suy luận 2-bit
./infer --prompt "Giải thích tính toán lượng tử" --tokens 100 --2bit

# Chat tương tác với công cụ gọi
./chat

# Phân tích thời gian mỗi lớp
./infer --prompt "Hello" --tokens 20 --timing

Cấu trúc dự án

metal_infer/
  infer.m               # Công cụ suy luận (~7000 dòng)
  shaders.metal         # Kernel tính toán (~1200 dòng)
  chat.m                # TUI chat tương tác
  tokenizer.h           # C BPE tokenizer
  main.m                # Benchmark chỉ MoE
  Makefile              # Hệ thống build

Những thử đã thử và hiệu quả

Đã giữ

Cách thứcKết quảẢnh hưởng
Kernel FMA dequantGPU compute -12%+12% tok/s

Đã bỏ (các thử nghiệm nổi bật)

Cách thứcKết quảLý do
Nén chuyên gia LZ4-13%Chi phí giải nén lớn hơn tiết kiệm cache nóng

An toàn

Dự án chạy trên máy phát triển chính, kiểm soát bộ nhớ chặt chẽ, không có nguy cơ OOM (Out of Memory).


Read Original (EN) Quay lại Newsletter