- Giải thích cách chạy LLM cục bộ trên macOS và các công cụ được khuyến nghị
- LLM cục bộ là mô hình ngôn ngữ AI có thể chạy trên máy tính cá nhân, giúp duy trì quyền riêng tư dữ liệu và cho phép khám phá công nghệ theo hướng thử nghiệm
- Có thể tận dụng nhiều mô hình open-weight khác nhau để tóm tắt văn bản và dùng cho mục đích ghi chép cá nhân, nhưng chúng không có khả năng sáng tạo hay tư duy thực sự
- Hai công cụ chính có thể chạy trên macOS là llama.cpp và LM Studio, lần lượt cung cấp mã nguồn mở và giao diện người dùng thân thiện
- Khi chọn mô hình cần cân nhắc dung lượng bộ nhớ, runtime, mức lượng tử hóa, cũng như khả năng thị giác và suy luận
- Việc chạy LLM cục bộ giúp bảo vệ quyền riêng tư và thỏa mãn tò mò kỹ thuật; các mô hình nhỏ cũng mang lại giá trị thử nghiệm như một lựa chọn thay thế cho các mô hình lớn
Mở đầu: Góc nhìn cá nhân về LLM và cách sử dụng
- Bài viết này nói về trải nghiệm tự cài đặt và thử nghiệm LLM cục bộ (Local Large Language Model) trên macOS
- Tác giả có phần hoài nghi về LLM, nhưng thích thử các công nghệ mới nên đã tự tải về và dùng thử
- Cái nhìn về LLM nằm đâu đó giữa một bên xem nó chỉ là tự động hoàn thành nâng cao, và một bên cho rằng nó giống như một thực thể có cảm xúc và quyền lợi
- Về bản chất, nó dựa trên dự đoán từ tiếp theo, nhưng vẫn xuất hiện những hành vi phức tạp ngoài chủ đích (năng lực phát sinh)
- Nó không có sáng tạo hay tự ý thức; trong tương lai có thể xuất hiện các cỗ máy tiên tiến hơn, nhưng công nghệ hiện tại vẫn chưa đạt đến mức đó
Các ví dụ sử dụng LLM chính
- Hữu ích trong các việc như tóm tắt văn bản, cung cấp thông tin từ Internet, hoặc đưa ra thông tin y khoa đơn giản
- Với tác giả, nó được dùng để brain-dumping (tuôn hết suy nghĩ ra), hữu ích khi cần một đối tượng để trò chuyện
- Tác giả không quá tập trung vào bản thân câu trả lời, mà chỉ dùng như một công cụ ghi chép
- Điều quan trọng là không nên đồng cảm hóa hay nhân cách hóa AI quá mức
- Có thể dùng system prompt để điều chỉnh hành vi phản hồi của mô hình, nhưng tác giả thường không quá bận tâm đến việc này
Băn khoăn về năng suất và độ tin cậy
- Tác giả không đồng ý với nhận định rằng LLM làm tăng ‘năng suất’
- Do vấn đề độ tin cậy của câu trả lời (nói sai, ảo giác), nên bắt buộc phải kiểm tra lại thông tin
- Tránh những câu hỏi khó xác minh sẽ giúp ngăn ngừa ô nhiễm thông tin
Vì sao dùng LLM cục bộ
- Có niềm vui của thử nghiệm kỹ thuật, cùng cảm giác thú vị khi máy tính phản hồi bằng ngôn ngữ tự nhiên ngay trên máy cục bộ
- Khi chỉ chạy trên máy tính của mình, nó có ưu thế về quyền riêng tư và bảo vệ thông tin nhạy cảm
- Nhiều dịch vụ AI thường lưu riêng dữ liệu người dùng và dùng cho việc huấn luyện
- Vì thiếu tin tưởng vào các công ty AI thương mại, cũng như các vấn đề đạo đức, quảng bá quá đà, phá hoại môi trường, vi phạm bản quyền..., tác giả ưu tiên các mô hình mã nguồn mở chạy cục bộ
Cách chạy LLM trên macOS
- Hai công cụ chính có thể chạy trên macOS là llama.cpp và LM Studio
-
- Được phát triển bởi Georgi Gerganov
- Cung cấp nhiều tùy chọn cấu hình đa dạng và chi tiết, hỗ trợ nhiều nền tảng, kèm khả năng tải mô hình và giao diện web đơn giản
- Ví dụ:
- Có thể chạy mô hình khuyến nghị Gemma 3 4B QAT bằng lệnh
llama-server -hf ggml-org/gemma-3-4b-it-qat-GGUF
- Khi truy cập
http://127.0.0.1:8080 trên trình duyệt, sẽ có một giao diện tối giản tương tự ChatGPT, phù hợp để thử nghiệm
-
2. LM Studio (mã nguồn đóng, dễ sử dụng)
- Cung cấp giao diện trực quan và nâng cao, có chức năng duyệt/tải mô hình/quản lý hội thoại, đồng thời cho biết liệu mô hình có thể chạy được hay không
- Tích hợp guardrail để ngăn việc tải mô hình quá lớn làm hệ thống bị treo
- Hỗ trợ dùng hai runtime trên macOS là
llama.cpp và MLX engine của Apple
- MLX nhanh hơn nhưng ít tùy chỉnh chi tiết hơn
- Mẹo sử dụng chính:
- Có thể đổi mô hình ngay trong lúc trò chuyện
- Có thể tạo nhánh hội thoại và thực hiện nhiều thử nghiệm khác nhau
- Có thể chỉnh sửa cả tin nhắn của người dùng lẫn của trợ lý
- Hỗ trợ tạo và tái sử dụng preset system prompt
- Có thể cấu hình cách xử lý khi cửa sổ ngữ cảnh vượt giới hạn (mặc định có các tùy chọn như giữ lại tin nhắn đầu/cuối)
Tiêu chí chọn mô hình LLM tốt
- Kích thước mô hình: RAM mới là ràng buộc chính hơn là dung lượng đĩa
- Với môi trường 16GB RAM, nên dùng mô hình 12GB trở xuống; vượt mức này có thể khiến hệ thống mất ổn định
- Mô hình càng lớn càng chậm, và khi thiếu bộ nhớ thì toàn bộ hệ thống có thể trở nên không ổn định
- Chọn runtime:
llama.cpp và runtime mặc định của LM Studio yêu cầu mô hình định dạng GGUF
- Runtime MLX của LM Studio yêu cầu mô hình dành riêng cho MLX
- Mô hình GGUF ổn định trên nhiều nền tảng và có nhiều tùy chọn cấu hình
- Mô hình MLX cho hiệu năng nhanh hơn đôi chút trên Apple Silicon
- Lượng tử hóa (Quantization): cân bằng giữa hiệu năng mô hình và hiệu quả bộ nhớ
- Phần lớn LLM được huấn luyện ở độ chính xác 16-bit
- Ngay cả khi lượng tử hóa xuống mức bit thấp hơn như 4-bit, mức suy giảm hiệu năng vẫn nhỏ trong một ngưỡng nhất định; nói chung Q4 là phù hợp
- Có nhiều ký hiệu lượng tử hóa phức tạp theo từng kernel như Q4_K_M..., nhưng người mới nên dùng mặc định
- Mô hình thị giác: mô hình có thể xử lý hình ảnh
- Một số mô hình có thể token hóa đầu vào hình ảnh để phân tích (đọc văn bản, nhận diện vật thể, ước lượng cảm xúc/phong cách...)
- Có thể làm OCR đơn giản, nhưng độ tin cậy kém hơn các công cụ OCR chuyên dụng
- Khả năng suy luận: một số mô hình thêm quá trình suy nghĩ trước khi tạo câu trả lời
- Một số mô hình bổ sung quá trình suy luận trước khi tạo đáp án, tăng cường khả năng ‘nghĩ’ so với mô hình thông thường
- Các mô hình nhỏ chuyên về suy luận có thể vượt qua mô hình thông thường cỡ trung hoặc lớn (điều này cũng thể hiện trong benchmark)
- Dạng mô hình suy luận mất nhiều thời gian hơn để trả lời và làm đầy cửa sổ ngữ cảnh nhanh hơn
- Sử dụng công cụ: có thể gọi công cụ bên ngoài
- Có thể dùng token gọi công cụ để tận dụng chức năng của MCP (tool server) được chỉ định trong system prompt
- Trong LM Studio, việc thêm và quản lý công cụ khá dễ; tuy nhiên gọi công cụ có thể tạo ra rủi ro bảo mật (khả năng tấn công rò rỉ dữ liệu) nên mặc định cần người dùng xác nhận
- Mặc định tích hợp JavaScript MCP (dựa trên Deno), cho phép tự động hóa các phép tính phức tạp, phân tích dữ liệu, tạo số ngẫu nhiên...
- Nếu thêm MCP tìm kiếm web, có thể phản ánh kết quả tìm kiếm thời gian thực, từ đó mở rộng mô hình vốn bị giới hạn về tri thức thế giới
- Nếu cần trí nhớ dài hạn, có thể dùng nhiều server mở rộng như MCP cho Obsidian
- Tuy nhiên MCP cũng làm đầy ngữ cảnh rất nhanh, nên chỉ bật khi thực sự cần thiết
- Agents
- Agent là cấu trúc mô hình sử dụng công cụ lặp đi lặp lại
- Các mô hình kết hợp cả suy luận lẫn khả năng dùng công cụ thường được xếp vào nhóm agent
- Dù chưa hoàn hảo, đây vẫn là một khái niệm đầy thử thách và thú vị
Mô hình được khuyến nghị và mẹo sử dụng
- Trong giao diện tích hợp của LM Studio, có thể dễ dàng so sánh và khám phá runtime, lượng tử hóa, đặc tính mô hình, kích thước...
- Với
llama.cpp, có thể dùng mục GGUF model trên Hugging Face
- Không có nhiều mô hình đáp ứng đầy đủ mọi tiêu chí, nên nên tải nhiều mô hình khác nhau để thử nghiệm
- Danh sách mô hình được khuyến nghị:
- Gemma 3 12B QAT: mạnh về thị giác, tạo văn bản nhanh và chất lượng tốt
- Qwen3 4B 2507 Thinking: nhỏ gọn, tốc độ/chất lượng tốt, có cả bản suy luận và bản thường
- GPT-OSS 20B: hiệu năng tốt nhất hiện nay, hỗ trợ suy luận 3 cấp, chậm nhưng năng lực cao nhất
- Phi-4 (14B) : trước đây là lựa chọn ưa thích, hiện vẫn có cả bản suy luận và bản thường
Kết luận và mẹo sử dụng
- Dù các mô hình nhỏ chưa thể thay thế hoàn toàn các mô hình lớn hiện đại, tính hữu ích của việc chạy cục bộ là rất rõ ràng
- Thử nghiệm cục bộ giúp hiểu cách thuật toán vận hành và cải thiện khả năng bù đắp điểm yếu của chúng
- LM Studio hiển thị mức sử dụng cửa sổ ngữ cảnh theo thời gian thực
- Nếu yêu cầu mô hình tóm tắt nội dung hội thoại ngay trước khi ngữ cảnh đầy, có thể giữ lại thông tin quan trọng hiệu quả hơn
- Hãy xem LLM cục bộ như một ‘thần đèn số trong máy tính (Genie)’ dành cho cá nhân, và tận hưởng trải nghiệm thử nghiệm thú vị
3 bình luận
Dùng qwen3:4b trên ollama là ổn đấy.
Không thấy nhắc đến Ollama nhỉ
Ý kiến trên Hacker News
Tôi cũng thấy khá kỳ diệu là chỉ cần tải xuống một tệp cỡ 10GB là laptop có thể tóm tắt văn bản, trả lời câu hỏi, thậm chí suy luận đơn giản. Điều quan trọng là sự cân bằng giữa kích thước mô hình và RAM. Với máy 16GB thì khoảng 12B~20B gần như là giới hạn. Nhưng các mô hình này thực tế không dùng Apple Neural Engine (ANE), mà chạy trên GPU thông qua Metal. Core ML vẫn chưa thực sự tốt cho runtime tùy biến, và Apple cũng không cung cấp quyền truy cập lập trình viên cấp thấp vào ANE. Ngoài ra còn có các vấn đề liên quan đến băng thông bộ nhớ và SRAM. Hy vọng một ngày nào đó Apple sẽ ánh xạ tốt workload transformer lên ANE bằng các tối ưu hóa Core ML
Tôi đã luôn cảm thấy Apple cần một CEO mới. Nếu tôi điều hành Apple, tôi đã chủ động đưa local LLM vào mạnh mẽ và xây dựng một inference engine tối ưu cả cho các mô hình được thiết kế cho Nvidia. Tôi cũng sẽ bán các bộ xử lý Apple Silicon cấp máy chủ và mở thông số GPU để mọi người có thể tự khai thác. Apple có vẻ đang đi con đường quá an toàn. Tim Cook rất xuất sắc với vai trò COO, nhưng ông ấy vẫn đang điều hành công ty theo đúng phong cách đó. Giờ tôi nghĩ cần một nhà đổi mới chứ không phải COO
Theo thông tin reverse engineering (ví dụ như các trường hợp có thể truy cập trực tiếp ANE từ Asahi Linux), Apple Neural Engine trên M1/M2 chỉ được tối ưu cho statically scheduled MADD với giá trị INT8 hoặc FP16. Các mô hình local mới nhất lại được lượng tử hóa mạnh hơn, nên khi các giá trị mô hình bị đệm về FP16/INT8 thì băng thông bộ nhớ bị lãng phí. Trong khi đó GPU có thể dequantize đầu vào nhanh chóng và đệm vào thanh ghi để đưa vào matrix unit, nhờ vậy băng thông bộ nhớ được dùng hiệu quả hơn. Dù vậy, NPU/ANE vẫn có thể hữu ích cho các tác vụ như tiền xử lý prompt. Phần này bị giới hạn bởi xử lý phép toán hơn là sinh token, nên có thể giảm điện năng tiêu thụ và tránh giới hạn làm mát. Thông tin thêm: Whisper.cpp Pull Request, thông tin ANE cũ, tổng hợp chi tiết của tinygrad. M3/M4 hiện chưa được Asahi hỗ trợ nên tương lai sẽ ra sao vẫn chưa rõ. Có vẻ dòng M3 cũng không khác M2 quá nhiều về hiệu năng
Nếu muốn workload transformer chạy tốt trên ANE thì công cụ chuyển đổi mô hình đã có sẵn.<br>Cách chuyển các mô hình tạo bằng TensorFlow, PyTorch, v.v. sang Core ML: CoreML Tools Docs
Tôi cũng thấy thú vị ở chỗ Apple Neural Engine không tích hợp với local LLM. Có vẻ Apple, AMD và Intel đều chưa hỗ trợ NPU đúng nghĩa trong llama.cpp. Tôi tò mò vì sao lại vậy
Tôi đang chạy GLM 4.5 Air và gpt-oss-120b khá ổn. Độ trễ của GPT OSS đặc biệt ổn. Máy là MacBook M4 128GB. Hiện tại nó cực kỳ mạnh, nhưng chẳng bao lâu nữa sẽ thành bình thường. Những mô hình này giờ đã bắt đầu tiến sát các mô hình tiên tiến nhất
Đến giờ thì local LLM vẫn quá hạn chế, kiểu như ChatGPT bản đầu năm 2022, nên tôi chưa tìm được ứng dụng nào thực sự hữu ích. Tôi muốn biết trong cộng đồng đã có những ca sử dụng nào hữu ích. Ví dụ có người kể local LLM bịa ra một cuộc phỏng vấn với Tôn Tử, và những giới hạn kiểu này khiến tôi lăn tăn. Nên tôi tò mò thực tế có thể dùng nó vào đâu
Tôi đã thử nhiều LLM, nhưng trên Macbook từ 48GB trở lên thì Gemma3:27b là loại tốt nhất để phân tích nhật ký cá nhân hay dữ liệu nhạy cảm. Các mô hình Trung Quốc đưa lời khuyên cuộc sống hài hước quá mức. Ví dụ tôi tâm sự với Deepseek thì nó lập cho tôi hẳn một kế hoạch đời sống kiểu Khổng giáo. Gemma thì mang màu sắc phương Tây hơn nhiều
Local LLM chủ yếu được dùng cho tự động hóa hơn là cho những thứ cần tính đúng-sai dựa trên sự thật. Ví dụ như phân loại, tóm tắt, tìm kiếm, kiểm tra chính tả. Nó cần hiểu ngôn ngữ tôi muốn và các khái niệm đời thường, nhưng không nhất thiết phải biết toàn bộ lịch sử loài người, ngôn ngữ lập trình hay y tế. Thậm chí bạn không cần tự prompt trực tiếp cho LLM; hệ điều hành hay ứng dụng có thể tự động gọi LLM mỗi khi cần
Tôi ghi lại mọi cảm xúc, suy nghĩ, việc đã làm trong Obsidian. Tôi không muốn đưa các ghi chú riêng tư như vậy lên cloud, nên quản lý bằng chromeDB và trò chuyện với chúng qua LLM. Gần đây tôi còn dùng cả các mô hình abliterated đã bỏ cơ chế từ chối (xóa từ chối trong transformers). Tôi cũng dùng trong công việc. Tôi đã làm một mcp để tự động hóa xử lý dữ liệu tài chính, và vì chạy mô hình local nên không lo rò rỉ thông tin
Nó cũng dùng được trong môi trường Internet yếu hoặc hay mất kết nối. Dù LLM không phải loại tiên tiến nhất thì vẫn tốt hơn là không có gì. Ví dụ khi Internet bị cắt vì bão, bạn vẫn có thể lấy ngay hướng dẫn an toàn cần thiết từ local LLM
Tôi dùng mô hình local để làm prototype ứng dụng hoặc trong giai đoạn đầu phát triển.<br>Thứ nhất, chi phí phát triển giảm rõ rệt. Thứ hai, do giới hạn hiệu năng nên nó buộc mình phải kết hợp composition cẩn thận hơn, điều này lại có ích. Nếu bạn thiết kế workflow bằng các local model đủ dùng (gpt-oss, qwen3, v.v.) thì sau này khi thay bằng cloud model (gpt-5-mini, v.v.) hiệu năng sẽ được nâng cấp ngay. Tất nhiên, nếu cứ nhét toàn bộ tài liệu vào context window của cloud model và ra kết quả tốt thì không cần chịu các ràng buộc của local model. Nhưng về dài hạn, chia nhỏ tác vụ và chạy local có thể rẻ hơn và nhanh hơn
Tôi đã thử chạy Hermes Mistral và ngay từ đầu nó đã hallucination rất nặng. Gần đây tôi lưu audio dream journal cá nhân trong thư mục Obsidian. Tôi dùng Whisper để lấy văn bản từ tệp .wav, rồi định dùng local LLM chỉ để sửa dấu câu và chia đoạn. Tôi đã dặn đừng thêm gì cả, chỉ cải thiện khả năng đọc thôi, thế mà Hermes lại đột nhiên bắt đầu bịa ra một cuộc phỏng vấn với Sun Tzu về Binh pháp Tôn Tử. Khi tôi dừng quy trình, nó xin lỗi nhưng cũng không giải thích nổi vì sao lại lôi Sun Tzu vào. Nếu cứ phải phát hiện những kiểu hallucination kỳ quặc thế này, thì tôi tự sửa còn hơn. Logic đó áp dụng cho gần như mọi lĩnh vực mà người ta muốn tận dụng local LLM. Hy vọng sau này sẽ khá hơn
Tôi nghĩ thời đại chạy trực tiếp các LLM tiên tiến nhất trên điện thoại hay laptop vẫn còn xa. Trước mắt thực tế hơn là đặt một hộp máy chủ AI ở nhà để chạy LLM. Thin client (như laptop) sẽ kết nối tới hộp này, còn khi cần thì xử lý phù hợp bằng mô hình nhỏ ngay trên máy. Nếu Apple tiếp tục chiến lược này với Mac Pro thì cũng khá tự nhiên. Một hộp LLM tại nhà giá 10.000~20.000 USD vẫn có thể chấp nhận được
Hiện tại bạn đã có thể chạy các mô hình mã nguồn mở mới nhất trên Mac Studio 512GB RAM (khoảng 10.000 USD). Ví dụ: video Qwen3-Coder-480B-A35B-Instruct chạy ở tốc độ 24 token/giây với 4bit, Deep Seek V3 0324 chạy 20 token/giây ở 4 bit. Cũng có thể ghép hai máy Mac Studio bằng MLX để chạy mô hình lớn hơn. Ví dụ DeepSeek R1 671B 8 bit
Tôi thấy Mac Pro quá đắt so với chi phí cái thùng máy lớn của nó nên không thực tế. Studio hợp lý hơn. Nvidia và AMD cũng sắp hỗ trợ lượng lớn bộ nhớ GPU băng thông cao trong desktop form factor. Nếu có thể kết nối từ laptop hay thiết bị khác tới máy chủ LLM ở nhà và dùng mà không lo pin cục bộ thì sẽ hoàn hảo
Trường hợp của tôi là đang chạy nhiều container docker trên AMD 395+ để vận hành nhiều ứng dụng khác nhau. Tôi chủ yếu dùng Qwen Code và mô hình GPT OSS 120b. Khi thế hệ mới sắp ra mắt, tôi sẽ nâng cấp dù giá đắt. Nó xứng đáng
Mức giá 10.000~20.000 USD là phi lý với đa số mọi người. Nếu lương kiểu Silicon Valley thì có thể, nhưng ngay cả Apple Vision Pro rẻ hơn nhiều còn bán chậm
Chẳng phải gpt-oss-120b cho hiệu năng tốt hơn với ít bộ nhớ hơn nhiều sao? Với Mac Studio 128GB RAM giá 4.000 USD là đã chạy được rồi
Không liên quan chủ đề, nhưng phần hiệu ứng chữ gợn sóng trong đoạn đầu tiên của mục 'opinions' khá ấn tượng
Tôi nghĩ local LLM là tương lai. Theo thời gian nó sẽ tiếp tục tiến bộ. Chỉ cần các mô hình cỡ trình độ năm ngoái cũng được phát hành rộng rãi thì chẳng còn lý do gì phải dùng chatgpt, anthropic hay các dịch vụ cloud khác. Cũng không cần một mô hình khổng lồ giải quyết mọi việc. Viễn cảnh gọi nhiều mô hình nhỏ theo từng tác vụ đang dần thành hiện thực. Không còn moat nữa
Hiệu năng local LLM chắc chắn sẽ còn tốt lên, nhưng tôi không chắc bao giờ nó mới đạt tới mức thực dụng cho người dùng phổ thông. Khả năng suy luận và code của mô hình local đã tiến bộ vượt bậc, nhưng nguyên nhân đến từ dữ liệu huấn luyện tốt hơn (RLHF, DPO, CoT, v.v.) và năng lực kỹ thuật. Tuy vậy, điều thực sự quan trọng vẫn là giảm hallucination bằng đầu ra thống kê thuần túy của bộ tham số full precision khổng lồ, và giữa mô hình đó với người tiêu dùng phổ thông là một khoảng cách phần cứng rất lớn. Tôi nghĩ còn phải hơn 10 năm nữa
Tôi cho rằng tương lai mới thực sự là điện toán đám mây an toàn và riêng tư
Các bài blog hay bài viết về việc dùng local LLM nhất định phải nêu rõ đã thử trên phần cứng nào
Tôi chọn LM Studio. Nó có nhiều cấu hình được chuẩn bị sẵn, nên rất trực quan để hiểu MacBook của mình làm được gì, cần thiết lập ra sao. Trải nghiệm 1~2 giờ rất đáng giá
Tôi có sở thích tải đại mô hình về chạy thử trên Mac Mini 16GB, và danh sách mô hình được tác giả gợi ý thực sự rất hữu ích. Tôi chỉ giữ lại 4~5 cái theo từng kích thước để thử, và đó là cách hiệu quả nhất
Mozilla-Ocho/llamafile cũng đáng tham khảo