Chạy LLM cục bộ (Gemma 3) trên iOS bằng MLC-LLM
(blog.devstory.co.kr)Đây là bài viết tổng hợp cách chạy mô hình Gemma 3 cục bộ trên thiết bị iOS thông qua MLC-LLM cùng các chỉ số hiệu năng thực tế.
Tóm tắt
- Sử dụng MLC-LLM: Xây dựng môi trường suy luận mượt mà với độ trễ gần như không đáng kể ngay cả trên thiết bị di động nhờ tăng tốc bằng Metal API
- Quy trình build Gemma 3 1B: Hướng dẫn toàn bộ workflow từ tải mô hình trên Hugging Face đến lượng tử hóa q4f16_1, áp dụng mẫu hội thoại (
gemma3_instruction) và biên dịch kernel Metal - Chỉ số hiệu năng và tài nguyên:
- Gemma 2 2B: chiếm khoảng 2.4GB VRAM
- Gemma 3 1B: chiếm khoảng 1.14GB VRAM
- Mẹo chạy: Bao gồm cách đóng gói mô hình tùy chỉnh vào dự án Xcode thông qua cấu hình
mlc-package-config.json
Đánh giá
- Khi tận dụng MLC-LLM, có thể triển khai trực tiếp LLM hiệu năng cao lên thiết bị iOS để đồng thời đạt được lợi thế về bảo vệ quyền riêng tư và khả năng chạy offline
- Mô hình có vẻ gặp đôi chút khó khăn khi tạo ra phản hồi có cấu trúc như định dạng JSON
- Để ứng dụng cho các tính năng cần system prompt phức tạp hoặc các tác vụ trích xuất dữ liệu, có vẻ vẫn cần thêm các bước bổ trợ như prompt engineering hoặc fine-tuning bổ sung
- Nếu trong tương lai kết hợp thêm việc kết nối pipeline chuyên dụng cho mô hình và tối ưu hóa dự án, có thể kỳ vọng xây dựng được các dịch vụ AI on-device thực tiễn hơn
7 bình luận
Tôi đang chạy qwen 3 0.6b q5 trên Galaxy Fold 4. Nhưng đến giờ thì vẫn có cảm giác hơi thiếu thiếu.
Tôi muốn biết chính xác điểm nào còn chưa như mong đợi.
Liệu là do mô hình quá nhỏ nên hiệu năng của LLM chưa tốt, hay là hiệu năng thực thi khi chạy cục bộ còn chưa như mong đợi?
Hiệu năng khá đáng tiếc. Vì hiện vẫn chưa hỗ trợ GPU hay một số NPU nhất định nên chạy chậm lắm..
Tôi đang nghiên cứu mô hình gemma3 1b int4 trên Galaxy Note 20 Ultra
Đây là mức có thể chạy được trên các mẫu máy cũ.
Ồ, cho hỏi có hỗ trợ tăng tốc Vulkan không?
Có lẽ trên Galaxy Note20 sẽ khó dùng mượt cho đến khi xuất hiện một mô hình chạy tốt trên CPU cấu hình thấp hơn, tức là đã được tối ưu hóa tốt hơn, đúng không?
Nhìn vào nội dung phía trên thì có ghi là nó được tạo cho kernel Metal chuyên dụng trên Mac.
Tôi được biết rằng nếu dùng MLX thì có thể tải và chạy nhanh hơn so với GGUF thông thường.
Nhưng đến bản 4b thì vẫn hơi mơ hồ ;;