Sản phẩm
Swiftlet: Chạy mô hình Qwen 80B trên Mac với 4.3GB RAM và 35B trên iPhone
(giờ Việt Nam)
Tóm tắt AI
Swiftlet là runtime tối ưu hóa bằng Swift và Metal, cho phép chạy các mô hình Qwen MoE khổng lồ trên thiết bị Apple bằng cách nạp dữ liệu theo yêu cầu, giúp tiết kiệm đáng kể bộ nhớ RAM.
Bản dịch AI
Chạy các mô hình Qwen 35B và 80B trên các thiết bị Apple thông thường, bao gồm cả iPhone.
Swiftlet là một runtime Swift + Metal dành cho dòng mô hình lai MoE Qwen3-Next và Qwen3.5/3.6. Nó chỉ giữ lại phần lõi dày đặc (dense core) nhỏ gọn của mô hình trong bộ nhớ và truyền phát (stream) các trọng số Mixture-of-Experts đã được định tuyến từ bộ lưu trữ theo yêu cầu. Kết quả là:
Phiên bản 35B cũng chạy được trên iPhone 17 với khoảng 2,5 GB RAM, đạt tốc độ khoảng 1 tok/s ở thời điểm hiện tại. Theo hiểu biết của chúng tôi, đây là lần đầu tiên một mô hình thuộc phân khúc này chạy nguyên bản (natively) trên điện thoại.
Trạng thái: đã hoạt động hoàn chỉnh từ đầu đến cuối. Cả hai mô hình đều tạo ra kết quả đầu ra chính xác và đã được kiểm chứng. Trọng tâm hiện tại là tốc độ kernel (vòng lặp giải mã bị giới hạn bởi dispatch, không phải bởi IO, nên vẫn còn dư địa để tối ưu). Một kỳ vọng cần làm rõ một cách trung thực: chỉ có khoảng 3B tham số được kích hoạt cho mỗi token, vì vậy các mô hình này trò chuyện và viết lách như các mô hình lớn nhưng khả năng truy xuất thông tin lại giống các mô hình nhỏ.
Bắt đầu nhanh: dùng thử trên Mac
Lệnh tương tự cũng thực hiện đóng gói lại (repack) các checkpoint MLX thô (--from-hf mlx-community/... hoặc --source /path/to/checkpoint).
Yêu cầu: Apple Silicon, macOS 14+ hoặc iOS 17+, dung lượng SSD trống cho container (18 GB cho bản 35B, 42 GB cho bản 80B).
Dùng thử trên điện thoại của bạn
Bản 35B chạy trên iPhone bên trong ứng dụng Priv AI trên App Store: mở Settings, sau đó chọn Experimental Models và tải xuống mô hình. Nó truyền phát từ bộ lưu trữ và trò chuyện ngay trên thiết bị mà không cần máy chủ.
Tính năng Experimental Models được tích hợp trong phiên bản ứng dụng mới nhất, hiện vẫn đang trong quá trình xét duyệt của App Store, vì vậy có thể mất vài ngày để xuất hiện. Nếu bạn muốn trải nghiệm trên điện thoại ngay hôm nay, hãy tự build ứng dụng từ mã nguồn: ứng dụng là mã nguồn mở tại leonickson1/localLLM. Hãy clone repo này cạnh thư mục swiftlet, mở dự án Xcode và chạy trên iPhone của bạn.
Cách thức hoạt động
Các mô hình này chỉ kích hoạt khoảng 3B tham số cho mỗi token. Mỗi lớp định tuyến mọi token đến 10 trong số 512 chuyên gia (đối với bản 80B) hoặc 8 trong số 256 chuyên gia (đối với bản 35B). Swiftlet:
75% các lớp sử dụng cơ chế chú ý (attention) tuyến tính Gated DeltaNet với trạng thái tái phát (recurrent state) có kích thước cố định, vì vậy không có bộ nhớ đệm KV (KV cache) tăng dần cho các lớp đó ở bất kỳ độ dài ngữ cảnh nào.
Bốn cách sử dụng
Swiftlet trước hết là một thư viện:
Độ chính xác
Mọi lớp của quá trình truyền xuôi (forward pass) (tái phát Gated DeltaNet, chú ý GQA có cổng, định tuyến MoE thưa) đều được xác thực dựa trên các triển khai tham chiếu mlx-lm với các fixture theo từng lớp, ở dạng định dạng f32 và int4. Giải mã tăng dần (incremental decoding) được xác minh so với xử lý toàn bộ chuỗi. Các kernel Metal được kiểm tra so với tham chiếu CPU chính xác, và các kernel GPU nhanh và vô hướng được xác minh là tạo ra kết quả đầu ra giống hệt nhau. Các container có thể được xác minh byte-by-byte so với các checkpoint nguồn. Việc truyền phát (streaming) không bao giờ làm thay đổi ngữ nghĩa của mô hình: một chuyên gia sẽ đưa ra câu trả lời giống hệt nhau dù lấy từ bộ nhớ đệm hay từ đĩa.
Mối quan hệ với TurboFieldfare
TurboFieldfare đã chứng minh luận điểm truyền phát chuyên gia (expert-streaming) cho Gemma trên máy Mac, và Swiftlet đã tiếp thu một số bài học thiết kế từ dự án này với lòng biết ơn: truyền phát chuyên gia bằng pread vào một nhóm slot giới hạn thay vì mmap, loại bỏ (evict) bằng LFU cộng với tính gần đây (recency), đóng gói chuyên gia theo bước nhảy (stride) cố định để một lần lấy dữ liệu là một lần đọc, cài đặt bằng cách định tuyến các byte đã tải xuống trực tiếp vào vị trí container cuối cùng của chúng, và biên dịch shader tại thời điểm chạy (runtime).
Mọi thứ khác đều được xây dựng tại đây, từ đầu, với khoảng 10 nghìn dòng Swift và Metal dựa trên các tham chiếu mlx-lm thay vì mã nguồn của TurboFieldfare:
colibrì đã cung cấp thông tin cho tư duy về chính sách lưu trữ đệm và vị trí đặt dữ liệu. mlx-lm là tham chiếu về độ chính xác xuyên suốt dự án.
Swiftlet được xây dựng với sự cộng tác của Claude Code.
Giấy phép
Apache 2.0. Trọng số mô hình được tải xuống riêng biệt và vẫn chịu sự điều chỉnh bởi các điều khoản riêng của chúng (các mô hình Qwen: Apache 2.0). Xem THIRD_PARTY_NOTICES.md.
Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.