- Ollama từng là công cụ giai đoạn đầu giúp đơn giản hóa việc chạy LLM cục bộ, nhưng về sau đã đánh mất niềm tin vì che giấu nguồn gốc và chuyển hướng sang lấy đám mây làm trung tâm
- Công lao của động cơ cốt lõi llama.cpp bị xem nhẹ, và khi chuyển sang backend ggml tự phát triển thì đã phát sinh suy giảm hiệu năng và tái xuất hiện lỗi cũ
- Cộng đồng tiếp tục chỉ trích vì gây hiểu lầm về tên mô hình, phát hành ứng dụng GUI không công khai mã nguồn, và cấu trúc Modelfile kém hiệu quả
- Nút thắt ở registry mô hình, lỗ hổng bảo mật, và cấu trúc khóa chặt theo nhà cung cấp mâu thuẫn với triết lý ưu tiên cục bộ
- Các lựa chọn mã nguồn mở như llama.cpp, LM Studio, Jan đã cung cấp hiệu năng và độ minh bạch cao hơn, đồng thời trở thành trung tâm của hệ sinh thái LLM cục bộ
Vấn đề của Ollama và các lựa chọn thay thế trong hệ sinh thái LLM cục bộ
-
Nguồn gốc và vai trò ban đầu của Ollama
- Ollama được chú ý như trình wrapper cho llama.cpp đầu tiên giúp đơn giản hóa việc chạy LLM cục bộ
- Người dùng có thể chạy mô hình mà không cần tự biên dịch C++ hay thiết lập máy chủ
- Sau đó, dự án dần che giấu nguồn gốc, gây hiểu nhầm cho người dùng, và rời xa triết lý lấy cục bộ làm trung tâm để chuyển sang cấu trúc lấy đám mây làm trung tâm dựa trên vốn đầu tư mạo hiểm
- Hai nhà sáng lập là Jeffrey Morgan và Michael Chiang, trước đó từng phát triển Kitematic, GUI cho Docker, rồi được Docker Inc. mua lại
- Xuất thân từ Y Combinator (W21), ra mắt công khai vào năm 2023 và tự định vị là “Docker for LLMs”
-
Ghi nhận công lao không thỏa đáng đối với llama.cpp
- Khả năng suy luận của Ollama phụ thuộc hoàn toàn vào llama.cpp của Georgi Gerganov
- Trong hơn 1 năm, README, website và tài liệu marketing đều không hề nhắc đến llama.cpp, thậm chí cả thông báo giấy phép MIT cũng bị bỏ sót
- Issue yêu cầu tuân thủ giấy phép của cộng đồng (#3185) không được phản hồi suốt hơn 400 ngày
- Sau đó, đồng sáng lập chỉ thêm đúng một dòng ở cuối README: “llama.cpp project founded by Georgi Gerganov”
- Phía Ollama nói rằng “chúng tôi đã thực hiện nhiều bản vá và sẽ dần chuyển sang động cơ riêng”, qua đó cố ý giảm nhẹ phần ghi nhận công lao
Chuyển sang backend riêng và suy giảm hiệu năng
-
Đưa vào backend tùy biến dựa trên ggml
- Vào giữa năm 2025, Ollama chuyển từ llama.cpp sang bản triển khai riêng dựa trên ggml
- Lý do được đưa ra là để tăng độ ổn định, nhưng kết quả lại là tái đưa vào các lỗi vốn đã được sửa từ trước
- Xuất hiện hàng loạt vấn đề như lỗi structured output, mô hình thị giác thất bại, và xung đột assertion của GGML
- Các mô hình mới như GPT-OSS 20B không hoạt động hoặc gặp lỗi không hỗ trợ kiểu tensor
- Gerganov trực tiếp chỉ ra rằng Ollama đã fork ggml không đúng cách
-
Kết quả so sánh hiệu năng
- Benchmark của cộng đồng cho thấy llama.cpp nhanh hơn Ollama 1,8 lần (161 so với 89 tokens/s)
- Trên CPU cũng tồn tại chênh lệch hiệu năng 30~50%
- Trong bài test Qwen-3 Coder 32B, llama.cpp cho throughput cao hơn 70%
- Nguyên nhân được cho là do kiến trúc daemon của Ollama, cơ chế offload GPU kém hiệu quả, và backend lỗi thời
Gây hiểu lầm về tên mô hình
-
Trường hợp DeepSeek-R1
- Ollama ghi các mô hình rút gọn như DeepSeek-R1-Distill-Qwen-32B đơn giản là “DeepSeek-R1”
- Dù không phải mô hình 671B tham số thật sự, nó vẫn dùng cùng một tên
- Người dùng hiểu lầm rằng mình đã “chạy DeepSeek-R1 trên máy cục bộ”, từ đó ảnh hưởng đến danh tiếng của DeepSeek
- Các GitHub issue liên quan (#8557, #8698) đều bị xử lý là trùng lặp rồi để đó chưa giải quyết
- Hiện tại,
ollama run deepseek-r1 vẫn chạy mô hình rút gọn
Ra mắt ứng dụng đóng
-
Phát hành GUI app không công khai mã nguồn
- Tháng 7/2025, Ollama GUI app cho macOS và Windows được công bố
- Ứng dụng được phát triển trong repository riêng tư, phát hành không kèm giấy phép và không công khai mã nguồn
- Với một dự án từng duy trì hình ảnh mã nguồn mở, đây là bước chuyển mạnh sang hướng đóng
- Cộng đồng nêu ra khả năng phụ thuộc AGPL-3.0 và lo ngại vi phạm giấy phép
- Website đặt nút tải xuống cạnh liên kết GitHub, tạo ấn tượng như thể đây là phần mềm mã nguồn mở
- Sau nhiều tháng im lặng, đến tháng 11/2025 mã mới được gộp vào repository chính
- XDA chỉ trích rằng “một dự án tự nhận là mã nguồn mở cần nói rõ việc có công khai hay không”
Sự kém hiệu quả của Modelfile
-
Trùng lặp với định dạng GGUF
- Định dạng GGUF đã chứa toàn bộ thông tin cần thiết để chạy mô hình trong một tệp duy nhất
- Ollama lại bổ sung thêm một tệp cấu hình riêng tên là Modelfile, có cấu trúc tương tự Dockerfile
- Nó định nghĩa lặp lại những thông tin đã có trong GGUF, gây ra độ phức tạp không cần thiết
- Ollama chỉ tự nhận diện danh sách template được hardcode, còn template mới thì bị bỏ qua
- Kết quả là định dạng chỉ dẫn của mô hình bị hỏng, và người dùng phải tự chuyển đổi thủ công
-
Chỉnh sửa tham số kém hiệu quả
- Khi thay đổi tham số, người dùng phải trích xuất bằng
ollama show --modelfile, chỉnh sửa rồi tạo lại bằng ollama create
- Trong quá trình này, toàn bộ mô hình 30~60GB bị sao chép lại
- Cộng đồng chỉ trích đây là cách làm “kém hiệu quả và tạo bản sao không cần thiết”
- Trong llama.cpp, tham số có thể điều chỉnh đơn giản bằng đối số dòng lệnh
-
Vấn đề tương thích template
- Ollama dùng cú pháp template của Go, không khớp với template Jinja mà các nhà làm mô hình thường dùng
- LM Studio và llama.cpp hỗ trợ Jinja trực tiếp, còn Ollama thì cần chuyển đổi
- Nhiều báo cáo cho thấy việc chuyển đổi lỗi gây ra hỏng định dạng hội thoại
Nút thắt của registry mô hình
-
Chậm trễ trong đăng ký mô hình
- Dù mô hình mới đã được đưa lên Hugging Face, với Ollama vẫn phải được đóng gói và đăng ký thủ công thì mới dùng được
- Các định dạng lượng tử hóa được hỗ trợ cũng bị giới hạn như Q4_K_M, Q8_0
- Vì vậy, luôn có độ trễ từ lúc mô hình phát hành đến khi có thể dùng trên Ollama
- Trong cộng đồng đã lan truyền các bài PSA khuyên rằng “muốn test model mới thì hãy dùng llama.cpp hoặc vLLM”
-
Hạn chế về lượng tử hóa
- Ollama không hỗ trợ các dòng Q5, Q6, IQ
- Khi người dùng yêu cầu, câu trả lời nhận được là “hãy dùng công cụ khác”
- Dù đã có thể gọi trực tiếp Hugging Face bằng lệnh
ollama run hf.co/{repo}:{quant},
dữ liệu vẫn bị sao chép vào kho hash nội bộ và không thể chia sẻ, đồng thời vấn đề template vẫn tiếp diễn
Chuyển hướng sang đám mây và vấn đề bảo mật
-
Đưa mô hình đám mây vào
- Cuối năm 2025, Ollama bổ sung các mô hình được host trên đám mây
- Dù là công cụ vốn lấy cục bộ làm trung tâm, một số mô hình lại gửi prompt tới máy chủ bên ngoài
- Khi dùng các mô hình bên thứ ba như MiniMax, dữ liệu có thể bị chuyển ra ngoài
- Ollama ghi rõ rằng “không lưu log”, nhưng chính sách của bên thứ ba thì không rõ ràng
- Với các mô hình dựa trên Alibaba Cloud, không có đảm bảo về việc lưu giữ dữ liệu
-
Lỗ hổng bảo mật
- CVE-2025-51471: lỗ hổng cho phép máy chủ registry độc hại đánh cắp token xác thực
- Đã có PR sửa lỗi nhưng không được hợp nhất suốt nhiều tháng
- Với một công cụ lấy quyền riêng tư cục bộ làm giá trị cốt lõi, đây là vấn đề cấu trúc nghiêm trọng
Cấu trúc xoay quanh vốn đầu tư mạo hiểm
-
Mô hình lặp lại
- Bọc một dự án mã nguồn mở để thu hút người dùng → gọi vốn → chuyển sang kiếm tiền
- Các bước đi theo từng giai đoạn của Ollama
- Khởi đầu là mã nguồn mở, xây trên nền llama.cpp
- Giảm nhẹ nguồn gốc, đóng gói như một sản phẩm độc lập
- Dùng registry và định dạng mô hình để tạo khóa chặt hệ sinh thái
- Ra mắt GUI đóng
- Đưa vào dịch vụ đám mây để kiếm tiền
-
Cấu trúc khóa chặt theo nhà cung cấp
- Ollama lưu mô hình bằng tên tệp đã băm, khiến việc tương thích với công cụ khác trở nên khó khăn
- Có thể nhập GGUF nhưng việc xuất ra lại được thiết kế bất tiện
- Người dùng bị trói vào hệ sinh thái Ollama
Công cụ thay thế
-
llama.cpp
- Cung cấp OpenAI-compatible API server (
llama-server), web UI, khả năng điều khiển tham số chi tiết và throughput cao
- Tháng 2/2026, ggml.ai gia nhập Hugging Face, giúp bảo đảm tính bền vững
- Dựa trên giấy phép MIT, với hơn 450 người đóng góp
-
Các lựa chọn khác
- llama-swap: hỗ trợ nạp nhiều mô hình và hot-swap
- LiteLLM: cung cấp proxy tương thích OpenAI giữa nhiều backend
- LM Studio: dựa trên GUI, dùng llama.cpp, tương thích đầy đủ với GGUF
- Jan, Msty: ứng dụng desktop mã nguồn mở, thiết kế ưu tiên cục bộ
- koboldcpp, Red Hat ramalama: chạy mô hình theo kiểu container, ghi rõ nguồn gốc minh bạch
Kết luận: hướng đi của hệ sinh thái LLM cục bộ
- llama.cpp của Georgi Gerganov là nền tảng của làn sóng đổi mới AI cục bộ
- Nhờ cộng đồng hợp tác, các mô hình mạnh có thể chạy được cả trên phần cứng phổ thông
- Ollama đã phát triển trên nền tảng đó, nhưng
đã đánh mất niềm tin vì che giấu nguồn gốc, suy giảm chất lượng, đóng lại và chuyển sang đám mây
- Điều hệ sinh thái LLM cục bộ cần không phải là Ollama mà là llama.cpp
- Tính mở thực sự và hiệu năng tốt hơn hiện đã được các công cụ do cộng đồng dẫn dắt cung cấp
3 bình luận
Tôi khá đồng ý, và có vẻ như nếu muốn dùng cho ra hồn ở local thì LM Studio tốt hơn.
Lúc đầu tôi cũng bắt đầu với Ollama, nhưng dạo gần đây tôi đã chuyển sang LM Studio từ lâu rồi.
Ý kiến trên Hacker News
Hầu hết người dùng LLM cục bộ cho rằng Ollama đã giải quyết được vấn đề UX
Có thể chạy mô hình chỉ với một dòng lệnh, và driver ROCm cũng được xử lý tự động
Trong khi đó, llama.cpp ngay từ cái tên đã nghe như một thư viện C++, nên người dùng phổ thông khó tiếp cận
Tôi chỉ không muốn phải tự build chương trình, mà chỉ muốn dùng thử cho vui thôi
Tôi dùng Mac Mini nhưng công cụ CLI cũng ổn. Điểm mạnh của Ollama là cài đặt dễ và tải mô hình thuận tiện, nên tôi kỳ vọng công cụ thay thế cũng phải tiện như vậy
Tôi nghĩ kiểm soát chất lượng là rất quan trọng để tránh việc hỗ trợ mô hình bị tích hợp trong trạng thái hỏng hoặc GGUF sai bị tải lên
Tất nhiên bạn có thể dùng trực tiếp runc, nhưng đa số vẫn chọn
docker runUX là yếu tố cốt lõi của việc tiếp nhận công nghệ, và nếu một dự án không làm tốt giao diện thì cũng chẳng có lý do gì để wrapper lại là điều xấu
Tôi đã mệt vì cứ phải lặp lại cùng một luận điểm, nên gom lại dòng thời gian và nguồn mà tôi biết trong một lần
Về lựa chọn thay thế, tôi đề xuất llama-file. llamafile của Mozilla AI chạy trên mọi OS bằng một file thực thi duy nhất và hoàn toàn mã nguồn mở
Nó dựa trên CosmopolitanC do Justine Tunney tạo ra, và sử dụng llama.cpp một cách chính thức
Tôi nghĩ Ollama tốt hơn về mặt dễ dùng gấp 1000 lần
llama.cpp rất tuyệt, nhưng không thân thiện với người dùng phổ thông
Tôi bắt đầu với Ollama nhưng đã chuyển sang llama.cpp để có các bản sửa lỗi mới nhất
Dù vậy tôi vẫn dùng Ollama để quản lý mô hình. Nó tiện đến mức tôi tự viết script để quản lý thư mục cache
Nếu chỉ là ứng dụng chat đơn giản thì còn được, nhưng khi cần API tương thích OpenAI và quản lý mô hình thì mức độ dễ tiếp cận giảm hẳn
Muốn thay đổi liên tục thì phải tạo file mô hình mới, mà như vậy còn phức tạp hơn
Cách tiếp cận kiểu Docker lại bất tiện với người dùng phổ thông, còn người dùng nâng cao thì llama.cpp tốt hơn
Có người tóm lược hai cách nhìn về giấy phép MIT
Người tạo ra llama.cpp là Georgi Gerganov chỉ bày tỏ sự không hài lòng về việc thiếu ghi công. Tức là ông ấy hành động gần với cách hiểu thứ nhất hơn
MIT là văn bản pháp lý chứ không phải hướng dẫn đạo đức
Cá nhân tôi cho rằng phần mềm hướng tới người dùng thì nên dùng GPL
Dùng MIT rồi sau đó lại than phiền việc công ty mang mã đi dùng là mâu thuẫn
Tôi cho rằng công ty không có đạo đức, chỉ con người mới có
Cuối cùng cả hai dự án đều tiếp tục phát triển, và người dùng có thêm nhiều lựa chọn hơn
Trước đây nó khá bất tiện vì không thể đổi thư mục mô hình mặc định
Muốn đăng ký mô hình thì phải trải qua quy trình giống Dockerfile, và mô hình bị sao chép vào bộ nhớ hash nên không thể đổi vị trí
Vì thế tôi đã chuyển sang LM Studio. Nó không hoàn toàn mã nguồn mở, nhưng cho phép lộ thư mục mô hình và tích hợp với Hugging Face
OLLAMA_MODELStrong file cấu hình máy chủVì Ollama sao chép file mô hình vào bộ nhớ blob băm, nên không thể chia sẻ với công cụ khác
Có lẽ đây là thiết kế để khử trùng lặp, nhưng kết quả là khiến việc thử công cụ khác trở nên khó khăn hơn
Vì file mô hình rất lớn nên dung lượng lưu trữ và tải xuống là gánh nặng đáng kể
Trên Arch Linux,
pacman -Ss ollamacho ra 16 kết quả, nhưngllama.cpphaylmstudiothì ra 0Mong một ngày nào đó điều này sẽ thay đổi
Đều hỗ trợ các bản Vulkan, ROCm và CUDA
zypperMỗi bản phân phối có phiên bản và mức hỗ trợ khác nhau, và rốt cuộc đó chính là lý do tồn tại của vô số bản phân phối Linux
yay -S llama.cpptrên CachyOS, và nó nhanh hơn nhiều, tốt hơn OllamaCái tên “llama.cpp” giờ nghe không còn thân thiện nữa
Trước đây nó gắn với mô hình Llama của Meta, nhưng giờ đã có nhiều mô hình mã nguồn mở mạnh hơn
Giờ đây cái tên “Local LLaMA” đang được dùng như một cách gọi chung cho việc chạy mô hình cục bộ
Tôi đã tránh Ollama ngay từ đầu vì nó có mùi muốn kiểm soát toàn bộ workflow
Kết quả là tôi nghĩ đó đúng là một lựa chọn sáng suốt
Cấu trúc lưu trữ blob băm của Ollama là cái bẫy lớn nhất
Nếu đã tải mô hình trong vài tháng, thì khi chuyển sang công cụ khác sẽ phải tải lại toàn bộ
Phần lớn người dùng chỉ nhận ra điều này sau khi đã đầu tư khá sâu, và lúc đó mới cảm thấy chi phí rời bỏ rất lớn