Chạy LLM cục bộ trên iPhone: Bộ nhớ, Core ML, MLX và những hạn chế
Apple
Meta
Bài viết khám phá cách chạy các mô hình ngôn ngữ lớn (LLM) cục bộ trên iPhone, bao gồm kiến trúc Apple Silicon, bộ nhớ hợp nhất, lượng tử hóa, bộ nhớ đệm KV, so sánh giữa Core ML và MLX, hiện tượng giảm xung nhịp do nhiệt, và một quy trình xử lý kết hợp. Kết luận rằng các mô hình cục bộ chỉ phù hợp cho các tình huống cần bảo mật dữ liệu hoặc hoạt động ngoại tuyến, trong khi các mô hình đám mây vượt trội hơn trong các trường hợp khác.
Tác giả, một lập trình viên iOS, giải thích những thách thức khi chạy các mô hình ngôn ngữ nhỏ (LLM) cục bộ trên iPhone. Apple Silicon sử dụng bộ nhớ hợp nhất được chia sẻ bởi CPU, GPU và ANE, với dung lượng bộ nhớ khả dụng cho ứng dụng bị hạn chế. Lượng tử hóa giảm kích thước mô hình (ví dụ: từ FP16 xuống INT4) nhưng có thể làm giảm độ chính xác. Bộ nhớ đệm KV (KV cache) tăng theo độ dài hội thoại và có thể kích hoạt Jetsam (trình quản lý bộ nhớ hệ thống). Core ML cung cấp tối ưu hóa tĩnh và biên dịch AOT, hỗ trợ ANE nhưng có giới hạn về độ dài ngữ cảnh. MLX sử dụng đánh giá lười biếng (lazy evaluation) và đồ thị động (dynamic graphs), hoạt động tốt hơn trong các vòng lặp tự hồi quy (autoregressive) nhưng gây ra nhiều nhiệt hơn và hiện tượng giảm xung nhịp (throttling). Việc giảm xung nhịp do nhiệt làm giảm hiệu suất GPU để giữ nhiệt độ thiết bị dưới 43–45°C nhằm đảm bảo sự thoải mái cho người dùng. Tác giả khuyến nghị theo dõi trạng thái nhiệt và đề xuất một quy trình kết hợp (hybrid pipeline) để tạo sinh ổn định.
Nguồn: Habr — хаб ИИ —
bản gốc
