Bỏ qua tới nội dung chính
Quay lại tin tức

LLM trên thiết bị iPhone: thời gian chạy nào nhanh nhất? MLX so với llama.cpp so với LiteRT-LM so với CoreML

Dev.to Machine Learning· Daisuke Majima· 2/6/2026opensource

Tôi muốn chạy một LLM trên iPhone. Tuy nhiên, có một số môi trường chạy (runtime) và không rõ nên chọn cái nào. Và tôi không tìm thấy nhiều bài kiểm tra so sánh trực tiếp. Môi trường chạy (Runtime) Tóm tắt MLX Apple đang mạnh mẽ gia nhập lĩnh vực LLM trên thiết bị và đẩy mạnh phát triển. llama.cpp Tiêu chuẩn cộng đồng đã trưởng thành, được thử nghiệm kỹ lưỡng cho các LLM cục bộ. LiteRT-LM Chỉ dành cho Gemma-4, nhưng là sản phẩm chủ lực của Google, cuối cùng đã được triển khai. CoreML-LLM Cho phép bạn sử dụng Apple Neural Engine, một thành phần mà thế giới LLM vốn bị chi phối bởi GPU/Metal thường bỏ qua. Tôi đã xây dựng nó — liệu nó có thể cạnh tranh được không...? Được rồi, hãy thực hiện thôi. Trên một chiếc iPhone 17 Pro (A19 Pro), tôi đã chạy cùng một m

Tôi muốn chạy một mô hình ngôn ngữ lớn (LLM) trên iPhone. Tuy nhiên, có một số môi trường chạy (runtime) và việc lựa chọn không hề dễ dàng. Tôi cũng không tìm thấy nhiều bài đánh giá so sánh trực tiếp. Môi trường chạy Tóm tắt MLX Apple đang tích cực tham gia vào lĩnh vực LLM trên thiết bị và đẩy mạnh phát triển. llama.cpp Tiêu chuẩn cộng đồng đã trưởng thành, được thử nghiệm kỹ lưỡng cho các LLM cục bộ. LiteRT-LM Chỉ dành cho Gemma-4, nhưng là một sản phẩm mạnh mẽ của Google, cuối cùng đã được triển khai. CoreML-LLM Cho phép sử dụng Apple Neural Engine (ANE), một thành phần thường bị bỏ qua trong thế giới LLM vốn bị chi phối bởi GPU/Metal. Tôi đã xây dựng nó — liệu nó có thể cạnh tranh được không...? Được rồi, hãy bắt đầu. Trên một chiếc iPhone 17 Pro (A19 Pro), tôi đã chạy cùng một mô hình trên bốn môi trường suy luận trên thiết bị và đo tốc độ giải mã cũng như bộ nhớ. Kết luận: "Đối với các LLM cục bộ trên iPhone, MLX là lựa chọn mặc định." "Đối với riêng Gemma 4, LiteRT-LM là vô đối." Kết luận trước Tốc độ giải mã: Qwen 3.5 2B nhanh nhất trên MLX (61 tok/s). Gemma 4 E2B là một chiến thắng quyết định cho LiteRT-LM (55 tok/s). Bộ nhớ: CoreML / ANE (Apple Neural Engine) thắng áp đảo. Nó chạy Qwen 3.5 2B chỉ với 241 MB (khoảng 1/5 so với MLX). Tuy nhiên, tốc độ chậm nhất. CoreML đã nỗ lực tốt. Các khuyến nghị về trường hợp sử dụng sẽ được trình bày ở cuối. Điều kiện thử nghiệm Mục Chi tiết Thiết bị iPhone 17 Pro (A19 Pro / iOS 26.4.2) Môi trường chạy MLX Swift / llama.cpp / LiteRT-LM / CoreML(ANE) Mô hình Gemma 4 E2B, Qwen 3.5 2B (cả hai đều khoảng 4-bit) Tác vụ trò chuyện ngắn (tạo 128 token) Tổng hợp trung vị của 3 lần chạy lạnh Số liệu tốc độ giải mã tok/s (càng cao càng tốt), bộ nhớ cao nhất MB (càng thấp càng tốt) Kết quả 1: tốc độ giải mã (tok/s, càng cao càng tốt) Môi trường chạy Gemma 4 E2B Qwen 3.5 2B 🔴 LiteRT-LM 55,4 🏆 — (chỉ Gemma) 🟣 MLX-Swift 47,5 61,2 🏆 🔵 llama.cpp 37,8 39,1 🟠 CoreML/ANE 33,4 27,9 Đối với Gemma 4 E2B, LiteRT-LM chiếm ưu thế. Đây là môi trường chạy trên thiết bị của Google, chạy Gemma ở định dạng .litertlm (INT4 QAT) riêng trên GPU — tối ưu hóa mô hình của bên thứ nhất và môi trường chạy của bên thứ nhất đã mang lại hiệu quả. API Swift đã được phát triển trong một thời gian dài; xin chúc mừng những người đã hoàn thành nó. Trong khi đó, đối với Qwen 3.5 2B, MLX là nhanh nhất (61 tok/s). Apple rõ ràng đang cạnh tranh nghiêm túc trong lĩnh vực LLM cục bộ. (Danh mục của LiteRT-LM chỉ có Gemma (.litertlm), vì vậy nó không cạnh tranh với Qwen.) Kết quả 2: bộ nhớ cao nhất (MB, càng thấp càng tốt) Môi trường chạy Gemma 4 E2B Qwen 3.5 2B 🔴 LiteRT-LM 641 🏆 — 🟣 MLX-Swift 2.900 1.279 🔵 llama.cpp 3.156 1.479 🟠 CoreML/ANE 1.187 241 🏆 CoreML / ANE thắng áp đảo — Qwen 3.5 2B chỉ với 241 MB. Điều này đến từ phương pháp MLKV phân đoạn (Qwen35MLKVGenerator của CoreML-LLM) phân đoạn trọng số và bộ nhớ đệm KV lên ANE — khoảng 1/5 so với MLX (1.279) và llama.cpp (1.479). Nếu bạn muốn chạy một mô hình lớp 2B trên iPhone có bộ nhớ hạn chế, hoặc tránh xung đột với ứng dụng và các tính năng khác về bộ nhớ, ANE là một lựa chọn rất mạnh mẽ. Lưu ý về tính công bằng CoreML/ANE: ANE được thiết kế để tối ưu bộ nhớ/năng lượng hơn là thông lượng. Lần tải đầu tiên kích hoạt biên dịch ANE, do đó thời gian tải lâu hơn. Giải mã được ước tính bằng số lượng mảnh được tạo (≈ token). LiteRT-LM: không có API giới hạn số lượng token đầu ra tối đa, vì vậy nó tạo ra cho đến khi đạt EOS (≈ phản hồi đầy đủ 458 token); các môi trường khác cắt ở 128. Nhưng giải mã là một tốc độ, vì vậy sự so sánh vẫn có giá trị. Các con số đến từ bộ đếm điểm chuẩn riêng của LiteRT-LM (getBenchmarkInfo). Tất cả đều là khoảng 4-bit, nhưng các lược đồ lượng tử hóa khác nhau một chút tùy theo môi trường chạy (MLX 4bit / GGUF Q4_K_M / LiteRT INT4-QAT / CoreML INT4-palettized / INT8). Khuyến nghị theo trường hợp sử dụng Nhanh chóng, đa năng, nhiều mô hình → MLX Swift. Nhanh nhất trên Qwen, dễ dàng từ Swift và mlx-community có vô số mô hình. Đây là lựa chọn hàng đầu cho các LLM (mô hình ngôn ngữ lớn) cục bộ trên thiết bị của Apple. Gemma nhanh nhất có thể → LiteRT-LM. Đối với dòng Gemma, mạnh nhất về cả tốc độ và bộ nhớ. Không có đối thủ. Ưu tiên bộ nhớ (bất kỳ thiết bị nào/cùng tồn tại với các tính năng khác) → CoreML/ANE. 241 MB là đặc biệt. Nếu có thể chấp nhận tốc độ, đây là lựa chọn mạnh nhất cho bộ nhớ và năng lượng thấp. Tính di động/chạy ở mọi nơi → llama.cpp. Tài sản GGUF và mọi nền tảng. Không hào nhoáng nhưng chắc chắn. Phương pháp và khả năng tái tạo Mọi lần chạy đều được thực hiện không giao diện người dùng từ máy Mac thông qua devicectl (không chạm vào thiết bị); các mô hình được tải từ máy Mac. JSONL kết quả thô và biểu đồ nằm trong kho lưu trữ. Một dòng = "1 thời gian chạy × 1 mô hình × 1 thiết bị" — Các PR (yêu cầu kéo) được hoan nghênh: 👉 https://github.com/john-rocky/apple-silicon-llm-bench Tôi sẽ viết một bài báo riêng về hậu trường tự động hóa đo lường hoàn chỉnh và các cuộc chiến xây dựng (git-LFS/SwiftPM unsafe-flags/@preconcurrency, v.v.). Tóm tắt LLM trên thiết bị iPhone: "MLX/LiteRT-LM cho tốc độ, CoreML/ANE cho bộ nhớ." Hy vọng điều này hữu ích cho việc phát triển LLM cục bộ của bạn! Ban đầu được xuất bản bằng tiếng Nhật trên Qiita. Tôi phát triển AI di động/CoreML/ARKit và viết về chúng. GitHub/X

Nguồn tin: Dev.to Machine Learning — Tác giả: Daisuke Majima. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.