Thủ thuật
Hướng dẫn thiết lập LLM nội bộ trên Mac mini M4 Pro
(giờ Việt Nam)
Tóm tắt AI
Hướng dẫn chi tiết cách chạy các mô hình LLM cục bộ trên Mac mini M4 Pro 48GB RAM, kết hợp dịch vụ oMLX và Tailscale để đồng bộ hóa trải nghiệm AI trên nhiều thiết bị Apple.
Bản dịch AI

Tôi đang chạy một máy chủ LLM cục bộ trên chiếc Mac mini M4 Pro với 48 GB RAM. Nó xử lý mọi thứ, từ backend cho agent Hermes của tôi đến các truy vấn chat nhanh trên điện thoại. Toàn bộ quá trình thiết lập chỉ mất khoảng 30 phút.
Đây là stack công nghệ:
Hermes chạy dưới dạng backend cho agent trên Mac mini, MacBook của tôi chạy client desktop còn điện thoại thì chạy Telegram. Đối với các nhu cầu không dùng Hermes, tôi sử dụng Apollo trên iOS cho các cuộc trò chuyện nhanh (đọc giống Claude, phù hợp cho các câu hỏi nhanh), Pi làm agent lập trình (tôi đã viết về thiết lập đó rồi), và Raycast AI trên máy Mac cho các tác vụ linh tinh.
Tại sao phải làm vậy?
Lý do chính để chạy cục bộ: các API đám mây giống như đất thuê. Họ có thể thay đổi giá cả, giới hạn mức sử dụng của bạn hoặc thay đổi mô hình đang chạy phía sau bất cứ khi nào họ muốn. Tôi từng thường xuyên chạm ngưỡng giới hạn của hai gói đăng ký 200 USD/tháng và cảm thấy như mình nhận được kết quả khác nhau từ chúng ở những thời điểm khác nhau. Đôi khi mô hình hoạt động tốt, đôi khi nó lại suy giảm chất lượng mà không hề báo trước.
Quyền riêng tư dữ liệu là một vấn đề khác. Bạn không biết các công ty này làm gì với dữ liệu của bạn sau khi họ có được nó. Họ có thể hạn chế cách sử dụng, có thể bán nó, hoặc có thể làm lộ dữ liệu. Dù thế nào đi nữa, nó tạo ra rủi ro về an ninh vận hành. Nếu bạn làm việc với mã nguồn nhạy cảm, dữ liệu khách hàng hoặc quy trình làm việc độc quyền, việc gửi nó đến một API bên thứ ba là quyết định bạn đưa ra một lần và không thể rút lại.
Sau đó là chủ quyền AI. Tôi đã theo dõi cách chính phủ Mỹ hạn chế việc triển khai các mô hình khác nhau. Điều đó có thể xảy ra bất cứ lúc nào từ bất kỳ chính phủ nào, vì bất kỳ lý do gì, và bạn không có quyền kiểm soát nó. Nếu quy trình làm việc của bạn phụ thuộc vào một mô hình đám mây bị hạn chế, bạn sẽ phải dừng lại hoặc xoay xở trong hoảng loạn. Cách duy nhất để tránh điều đó là tự sở hữu hạ tầng tính toán của riêng mình.
Các lợi ích thực tế khác:
Cách tôi thực sự sử dụng nó
Chiếc Mac mini luôn bật. Nó nằm trên bàn làm việc và tôi hầu như không để ý đến nó trừ khi cần dùng.
Hermes cũng chạy trên Mac mini, sử dụng một mô hình cục bộ trên cùng máy đó. Tôi truy cập vào agent của mình thông qua Telegram (trên điện thoại) và ứng dụng desktop Hermes trên MacBook. Ứng dụng desktop Hermes đóng vai trò như một ‘shell’ và kết nối với backend Hermes trên một thiết bị khác (trong trường hợp này là Mac mini). Điều này có nghĩa là tôi chia sẻ backend, lịch sử trò chuyện và bộ kỹ năng trên tất cả các thiết bị của mình.
Sau đó là mọi thứ khác:
Mục đích không phải là thay thế các mô hình dựa trên API. Mà là để xử lý 80% các yêu cầu không cần đến GPT-5 hay Claude Opus. Và khi tôi thực sự cần chúng, chúng vẫn luôn sẵn sàng. Chạy cục bộ chỉ đơn giản là bao phủ nhiều hơn các công việc hàng ngày của tôi mà không tốn phí.
Phân tích về mô hình
Chạy một mô hình lớn cục bộ chỉ xoay quanh một thứ: nó thực sự cần bao nhiêu RAM trong bộ nhớ. Hầu hết mọi người nhìn vào số lượng tham số và hiểu sai vấn đề, bởi vì sự khác biệt giữa mô hình dày đặc (dense) và mô hình hỗn hợp chuyên gia (mixture-of-experts - MoE) rất quan trọng trên phần cứng người dùng phổ thông.
Đây là cách đọc định danh:
Qwen3.6-35B-A3B-OptiQ-4bit
gemma-4-e4b-it-4bit
Sự khác biệt chính nằm ở phần A3B. Một mô hình dày đặc 27B luôn có 27 tỷ tham số được tải vào RAM cho mỗi token. Một mô hình MoE như Qwen3.6-35B-A3B có tổng cộng 35 tỷ tham số được phân bổ trên 256 chuyên gia, nhưng chỉ khoảng 3 tỷ thực sự được kích hoạt cho mỗi token. 32 tỷ còn lại nằm trong RAM mà không làm gì cả.
Trên chiếc Mac mini 48GB của tôi, mô hình Qwen3.6-35B-A3B ở định dạng 4-bit chiếm khoảng 20GB RAM. Điều đó để lại 28GB cho cửa sổ ngữ cảnh (context window), hệ điều hành và mọi thứ khác đang chạy trên máy. Gemma-4-E4B chỉ khoảng 2.4GB. Đủ nhỏ để giữ lại cho các tác vụ đơn giản mà việc dùng mô hình 20GB đầy đủ là quá dư thừa.
MacBook Air của bạn tôi có tổng cộng 16GB. Một mô hình dày đặc 27B ở định dạng 4-bit cần khoảng 14GB. Đó thực sự là tất cả những gì máy có, trừ đi phần dành cho hệ điều hành. Vì vậy, nó hoạt động được một lúc, rồi sau đó khi không đủ RAM, nó sẽ swap sang SSD và trở nên rất chậm chạp.
MoE thay đổi điều này. Mô hình 35B trong định danh của tôi sẽ vừa với cùng chiếc MacBook đó vì chỉ có 3B trọng số thực sự hoạt động trên mỗi token, nghĩa là dung lượng bộ nhớ GPU/Media Memory cần thiết giống như một mô hình dày đặc 6B. Tất cả 35 tỷ trọng số tham số vẫn nằm trong bộ nhớ thống nhất (unified memory).
Cách kiểm tra xem một mô hình có hoạt động trên phần cứng của bạn hay không:
Việc thay đổi mô hình rất dễ dàng
Đây là phần mà không ai nhắc đến. Bạn có thể thay đổi các mô hình cục bộ của mình vài tuần một lần khi có mô hình mới ra mắt. Nó thực sự chỉ là tải xuống và khởi động lại.
Quy trình làm việc:
Bảng điều khiển quản trị oMLX có sẵn trình duyệt mô hình HuggingFace. Tìm mô hình, nhấn tải xuống. Thay đổi mô hình trong Hermes, Pi, Raycast và Apollo, thế là xong.
Rất nhiều việc này cũng có thể thực hiện qua CLI, vì vậy tôi có thể SSH vào Mac mini từ bất kỳ thiết bị nào của mình.
Tại sao điều này quan trọng: khoảng cách giữa mô hình cục bộ và mô hình API đang thu hẹp nhanh chóng. Những gì được coi là chất lượng "tàm tạm" một năm trước thì nay đã có tính cạnh tranh cho hầu hết các tác vụ thực tế. Lập trình, suy luận, sử dụng công cụ là những nơi nó thực sự quan trọng. Và lượng tử hóa 4-bit từ OptiQ giữ cho chất lượng cao một cách đáng ngạc nhiên. Mô hình 35B-A3B ở 4-bit chỉ mất khoảng 1-2 điểm trên hầu hết các bài kiểm tra so với BF16 (16-bit floating point, mức cơ sở chưa nén). Đó là một sự đánh đổi chấp nhận được để sử dụng 48GB bộ nhớ thay vì 70GB.
Mạng lưới
Tailscale tạo ra một mạng lưới (mesh) giữa tất cả các thiết bị của tôi. Mac mini, iPhone, MacBook, tất cả đều nằm trên cùng một mạng riêng. Không có gì bị lộ ra internet công cộng.
Máy chủ oMLX lắng nghe trên cổng 8000. Bất kỳ thiết bị nào trên tailnet đều có thể kết nối. Raycast, Apollo iOS, Hermes desktop trên MacBook, tất cả đều truy cập cùng một endpoint. Không có sự sai lệch cấu hình giữa các thiết bị.
Khả năng duy trì bộ nhớ đệm KV của oMLX cũng rất quan trọng trên thiết lập tailnet. Các agent lập trình liên tục quay lại ngữ cảnh trước đó trong một phiên làm việc. oMLX lưu trữ từng khối vào SSD, vì vậy khi agent quay lại một tiền tố trước đó, nó được khôi phục từ ổ đĩa trong vài mili giây thay vì phải tính toán lại. Điều đó làm cho thiết lập cục bộ thực sự khả thi cho công việc của agent, nơi mà Hermes hoạt động.
Kết luận
Các mô hình cục bộ trên Apple Silicon không còn là một thử nghiệm phụ nữa. Mac mini M4 Pro xử lý nó mà không gặp chút khó khăn nào, các mô hình đủ tốt cho hầu hết các tác vụ và bạn có thể thay đổi chúng bất cứ khi nào bạn muốn. Bạn không phải trả tiền cho mỗi token. Bạn không định tuyến dữ liệu nhạy cảm qua các endpoint của bên thứ ba. Và khi một mô hình tốt hơn ra mắt vào tuần tới, bạn có thể thử nó với rất ít nỗ lực, chỉ tốn một chút dung lượng ổ cứng.
Tôi đã đặt hàng một chiếc Mac Studio M5 Max 128GB để nhận vào cuối năm nay, nhưng cho đến nay tôi cực kỳ hài lòng với hiệu năng của chiếc Mac mini M4 Pro này. Nếu bạn có các thiết bị Apple Silicon khác, hãy thử xem - bạn có thể cần thay đổi mô hình dựa trên thông số kỹ thuật của mình, nhưng thiết lập chung vẫn áp dụng được.
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.