Tóm tắt nhanh
- Mô hình mở nằm trên Hugging Face. Trên Mac, hãy tìm bản MLX (thường do mlx-community đăng) hoặc tệp GGUF cho llama.cpp, Ollama và LM Studio.
- Bộ nhớ quyết định mô hình nào vừa: một mô hình MLX 4-bit cần khoảng 0,56 GB cho mỗi tỷ tham số, cộng thêm chỗ cho ngữ cảnh và macOS.
- Mô hình có giới hạn truy cập cần một tài khoản Hugging Face miễn phí, giấy phép đã chấp nhận và một token.
- Chạy chúng bằng MLX Harness, mlx-lm, LM Studio hoặc Ollama.
1Tìm mô hình ở đâu
Hugging Face lưu trữ phần lớn các mô hình có trọng số mở. Cùng một mô hình thường có nhiều bản, và định dạng quyết định ứng dụng nào chạy được:
| Định dạng | Trông như thế nào | Chạy trong |
|---|---|---|
| MLX | Một thư mục gồm các tệp safetensors và config.json, tên kiểu Model-4bit | mlx-lm, LM Studio, MLX Harness |
| GGUF | Một hoặc vài tệp .gguf, tên kiểu Q4_K_M | llama.cpp, Ollama, LM Studio |
| Trọng số gốc | Tệp safetensors độ chính xác đầy đủ từ nhà phát triển mô hình | Chuyển sang MLX trước, hoặc chọn một bản dựng sẵn |
Chưa biết dùng runtime nào? MLX, Ollama và llama.cpp so sánh chúng. Hoàn toàn mới với tất cả những thứ này? Hãy bắt đầu với chạy LLM trên Mac.
2Chọn kích cỡ vừa bộ nhớ
Trọng số của mô hình phải nằm vừa trong bộ nhớ và còn dư chỗ. MLX lưu một trọng số đã lượng tử hóa bằng số bit của nó cộng với một hệ số tỷ lệ và một độ lệch dùng chung cho mỗi nhóm 64 trọng số, tức thêm khoảng nửa bit cho mỗi trọng số (MLX). Vì vậy 4-bit tốn khoảng 0,56 GB cho mỗi tỷ tham số và 8-bit khoảng 1,06 GB.
| Số tham số | 4-bit (MLX) | 8-bit (MLX) | 16-bit |
|---|---|---|---|
| 3 tỷ | khoảng 1,7 GB | khoảng 3,2 GB | 6 GB |
| 8 tỷ | khoảng 4,5 GB | khoảng 8,5 GB | 16 GB |
| 14 tỷ | khoảng 7,9 GB | khoảng 14,9 GB | 28 GB |
| 32 tỷ | khoảng 18 GB | khoảng 34 GB | 64 GB |
| 70 tỷ | khoảng 39 GB | khoảng 74 GB | 140 GB |
Theo mặc định, macOS chỉ cho GPU dùng một phần bộ nhớ hợp nhất; Compare giả định khoảng ba phần tư, và README của mlx-lm chỉ cách nâng giới hạn này trên macOS 15 trở lên bằng sudo sysctl iogpu.wired_limit_mb=N (mlx-lm). Với mô hình mixture-of-experts, tổng số tham số quyết định bộ nhớ, còn số tham số hoạt động quyết định tốc độ. Compare làm phép tính này cho mọi mô hình phổ biến và mọi chip Apple, và Mac tốt nhất để chạy LLM cục bộ giải thích vì sao băng thông quyết định tốc độ.
3Lượng tử hóa: 4-bit, 8-bit và các mức khác
Lượng tử hóa lưu mỗi trọng số bằng ít bit hơn, nên mô hình chiếm ít bộ nhớ hơn và chạy nhanh hơn, đổi lại giảm đôi chút chất lượng. 4-bit là điểm khởi đầu thường gặp trên Mac. 8-bit gần với bản gốc hơn và lớn gấp đôi. Dưới 4 bit, tệp nhỏ đi nhưng câu trả lời kém đi nhanh hơn, nên chỉ thử khi không thì một mô hình lớn hơn sẽ không vừa.
- Bản MLX ghi rõ trong tên: -4bit, -8bit, và đôi khi có bản độ chính xác hỗn hợp giữ các lớp nhạy cảm ở nhiều bit hơn.
- Tệp GGUF dùng cách đặt tên của llama.cpp: Q4_K_M, Q5_K_M, Q8_0, v.v. Khi bạn chạy một kho GGUF trên Hugging Face trong Ollama mà không chỉ định bản nào, Ollama chọn Q4_K_M nếu có (Hugging Face).
- Tự tạo bản MLX từ trọng số gốc:
mlx_lm.convert --model mistralai/Mistral-7B-Instruct-v0.3 -qghi ra một bản 4-bit (mlx-lm).
4Dung lượng ổ đĩa và nơi lưu mô hình
Bản tải về lớn xấp xỉ phần trọng số trong bảng trên, nên một mô hình 8B 4-bit chỉ vài gigabyte còn một mô hình 70B lên tới hàng chục gigabyte. Thử nhiều kích cỡ hoặc nhiều bản của cùng một mô hình sẽ cộng dồn rất nhanh.
mlx-lm và các công cụ Hugging Face khác giữ bản tải về trong ~/.cache/huggingface/hub; đặt HF_HOME hoặc HF_HUB_CACHE để chuyển chỗ. hf cache ls cho biết trong đó có gì và hf cache rm xóa một mô hình (Hugging Face). Ollama và LM Studio giữ mô hình trong thư mục riêng và tự quản lý.
5Mô hình có giới hạn truy cập và token Hugging Face
Một số mô hình, trong đó có Llama, bị giới hạn truy cập: bạn cần chấp nhận điều khoản của nhà phát triển trước khi tải về (Hugging Face).
- Đăng nhập vào một tài khoản Hugging Face miễn phí và mở trang của mô hình.
- Chấp nhận điều khoản bằng nút trên trang (mặc định là Agree and send request to access repo). Một số nhà phát triển duyệt yêu cầu thủ công, nên sẽ lâu hơn.
- Tạo một access token trong phần cài đặt Hugging Face của bạn.
- Đưa token cho công cụ của bạn: chạy
hf auth logintrong Terminal cho mlx-lm và các công cụ Hugging Face khác (Hugging Face), hoặc dán vào ô token Hugging Face của ứng dụng.
6Chạy mô hình: bốn cách
mlx-lm: MLX của Apple trong Terminal
Cài bằng pip, rồi chỉ định bất kỳ mô hình MLX nào trên Hugging Face; lần chạy đầu tiên sẽ tải mô hình về (mlx-lm).
pip install mlx-lm
mlx_lm.generate --model mlx-community/Llama-3.2-3B-Instruct-4bit --prompt "How tall is Mt Everest?"
mlx_lm.chat --model mlx-community/Llama-3.2-3B-Instruct-4bitmlx_lm.server phục vụ mô hình qua API kiểu OpenAI tại localhost:8080 cho các ứng dụng khác (mlx-lm):
mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit
curl localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "Say this is a test!"}]}'LM Studio: ứng dụng có trình duyệt mô hình
LM Studio tìm và tải mô hình từ Hugging Face ngay trong ứng dụng, và chạy cả mô hình MLX trên Apple Silicon lẫn GGUF qua llama.cpp. Ứng dụng cần Apple Silicon và macOS 14 trở lên, và khuyến nghị bộ nhớ từ 16 GB (LM Studio).
Ollama: một lệnh
Ollama chạy mô hình từ thư viện riêng của nó, và chạy trực tiếp mọi kho GGUF trên Hugging Face, có thể kèm thẻ lượng tử hóa (Hugging Face):
ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:IQ3_MMLX Harness: ứng dụng miễn phí của chúng tôi
MLX Harness là ứng dụng Mac miễn phí của chúng tôi, xây dựng trên vMLX: nó tìm mô hình MLX trên Hugging Face, trò chuyện, chạy công cụ và mô hình hình ảnh, và phục vụ mọi thứ qua API cục bộ. Gateway của nó cũng dùng cổng 8080, nên đừng chạy nó cùng mlx_lm.server trên cùng một cổng. Khi bạn không dùng Mac, MLX Node có thể cho MLX Network mượn máy.
7Câu hỏi
- Tải LLM cho Mac ở đâu?
- Từ Hugging Face. Hãy tìm bản MLX, nhiều bản do mlx-community đăng, hoặc tệp GGUF. LM Studio và Ollama có thể tìm và tải giúp bạn.
- Nên tải mô hình cỡ nào?
- Mô hình có trọng số nằm thoải mái trong bộ nhớ Mac: ở 4-bit khoảng 0,56 GB cho mỗi tỷ tham số, tức khoảng 4,5 GB cho mô hình 8B và 39 GB cho 70B, cộng thêm chỗ cho ngữ cảnh. Compare trên mlx.app kiểm tra giúp bạn theo đúng máy Mac của bạn.
- Trên Mac nên dùng MLX hay GGUF?
- Cả hai đều chạy tốt trên Apple Silicon. Bản MLX được làm cho MLX của Apple và chạy trong mlx-lm, LM Studio và MLX Harness; tệp GGUF chạy trong llama.cpp, Ollama và LM Studio.
- Tôi có cần tài khoản Hugging Face không?
- Không cần với mô hình công khai. Mô hình có giới hạn truy cập cần một tài khoản miễn phí, giấy phép đã chấp nhận và một access token.
- Mô hình đã tải có chạy offline được không?
- Có. Khi các tệp đã nằm trên Mac, mô hình chạy mà không cần internet và prompt của bạn ở lại trên Mac.
Nguồn
- Hugging Facehuggingface.co
- mlx-communityhuggingface.co
- mlx-lmgithub.com
- MLXml-explore.github.io
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- Hugging Facehuggingface.co
- mlx-lmgithub.com
- LM Studiolmstudio.ai
- LM Studiolmstudio.ai
- Ollamaollama.com