Ollama là công cụ mã nguồn mở giúp bạn chạy mô hình ngôn ngữ lớn (LLM) cục bộ ngay trên phần cứng cá nhân. Thay vì phụ thuộc vào API đám mây tính tiền theo lượt gọi, bạn tải mô hình về, quản lý và vận hành chúng trên máy mình với quy trình cài đặt tối giản.
Dự án kế thừa tư duy sản phẩm từ Jeffrey Morgan và Michael Chiang, bộ đôi từng làm Kitematic và Docker Desktop. Cách họ hiểu về hạ tầng thể hiện rõ trong thiết kế: Ollama đối xử với một mô hình AI như một đơn vị đóng gói, có phiên bản, kéo về và chạy được bằng một câu lệnh.

Ollama giải quyết vấn đề gì?
Trước khi Ollama xuất hiện, chạy LLM nội bộ đi kèm gánh nặng vận hành lớn. Kỹ sư phải tự quản lý các file trọng số (weights) hàng chục GB, dựng môi trường CUDA cho GPU và gỡ những chuỗi phụ thuộc Python dễ vỡ. Rào cản đó đủ để đẩy AI cục bộ ra khỏi tầm với của người không chuyên về hạ tầng AI.
Ollama gom toàn bộ phần khó đó vào một lớp trải nghiệm duy nhất: tải mô hình, phát hiện phần cứng, nạp trọng số và tối ưu tài nguyên đều tự động. Nền tảng đứng trên ba trụ cột:
- Quyền sở hữu: Bạn toàn quyền kiểm soát mô hình. Không phải lo nhà cung cấp đổi chính sách API hay khai tử phiên bản mô hình mà ứng dụng của bạn đang phụ thuộc.
- Chi phí: Chạy trên phần cứng có sẵn nghĩa là không phát sinh chi phí theo token. Bạn thử nghiệm, lặp lại, chạy các tác vụ RAG liên tục mà không nhìn chừng hóa đơn.
- Quyền riêng tư: Dữ liệu không rời khỏi máy. Đây là lý do 85% công ty trong Fortune 500 dùng Ollama cho những mảng nhạy cảm như chính phủ, y tế và tài chính.
Bên trong Ollama có gì?
Về kiến trúc, Ollama là một lớp bọc viết bằng Go, điều phối hai engine suy luận bên dưới. Trên máy x86 dùng GPU NVIDIA hoặc AMD, nó gọi llama.cpp. Trên Apple Silicon, nó dùng MLX để khai thác bộ nhớ hợp nhất và các nhân tăng tốc của chip M-series.

Mô hình vận hành gồm ba thành phần:
- Model Registry: thư viện mô hình tại
ollama.com/library, nơi các mô hình đã được nén (quantized) sẵn để tải về là chạy được ngay. - Local Runtime: lo việc nạp mô hình vào RAM/VRAM. Hệ thống tự nhận diện GPU (NVIDIA, AMD hay Apple Silicon) để phân lớp (layer offloading) cho hợp phần cứng.
- CLI và REST API: một giao diện dòng lệnh, kèm cổng API tương thích chuẩn OpenAI. Muốn đưa mô hình cục bộ vào ứng dụng có sẵn, bạn chỉ đổi địa chỉ endpoint.
Ollama dùng định dạng GGUF cho thư viện cục bộ, vốn là định dạng sinh ra để nén mô hình xuống vừa VRAM máy phổ thông. Nếu bạn muốn hiểu sâu phần nén mô hình và cách chọn cấu hình máy, bài về local AI đi kỹ vào phần đó.
Bạn làm gì với Ollama trong thực tế?
Quy trình làm việc đi thẳng vào việc. Cài xong, bạn dùng pull để tải mô hình và run để chạy:

ollama pull gemma4
ollama run gemma4Phần đáng giá nhất của Ollama nằm ở Modelfile. Nó cho phép bạn đóng gói một cấu hình AI theo cách Dockerfile đóng gói môi trường phần mềm: đặt persona, chỉnh tham số hệ thống như temperature hay num_ctx (cửa sổ ngữ cảnh) mà không cần đụng tới trọng số hay trả tiền huấn luyện lại.
Ví dụ, để dựng một trợ lý viết tài liệu kỹ thuật, bạn tạo file Modelfile:
FROM gemma4
SYSTEM """
Bạn là chuyên gia viết tài liệu kỹ thuật.
Viết rõ ràng, súc tích, có tiêu đề và gạch đầu dòng.
"""
PARAMETER temperature 0.2
PARAMETER num_ctx 4096Rồi khởi tạo bằng ollama create tech-writer -f Modelfile. Tham số num_ctx ở đây quyết định dung lượng KV cache, tức là phần giữ cho cửa sổ ngữ cảnh không ăn hết VRAM còn lại. Vì API tương thích chuẩn OpenAI và chạy ở localhost:11434, các công cụ cộng đồng như Open WebUI, Continue.dev hay AnythingLLM cắm thẳng vào được.
Chạy cục bộ hay chạy trên cloud của Ollama?
Lựa chọn phụ thuộc vào quy mô và mức độ nhạy cảm của dữ liệu.

- Chạy cục bộ: hợp cho dev/test, dựng RAG nội bộ, hoặc khi dữ liệu tuyệt đối không được rời máy, với chi phí bằng không. Ollama nạp trọng số và cửa sổ ngữ cảnh vừa đủ, nên bạn vẫn còn VRAM cho việc khác.
- Ollama Cloud: dành cho khối lượng token lớn hoặc những mô hình vượt quá phần cứng cá nhân. Cùng một câu lệnh, cùng một API, chỉ khác chỗ mô hình thực sự chạy.
Ollama vừa gọi xong vòng Series B trị giá 65 triệu USD, nâng tổng vốn lên 88 triệu USD, phần lớn để dựng hạ tầng cloud này. Cách dùng hợp lý là giữ giai đoạn phát triển ở local cho rẻ, rồi chuyển sang cloud khi cần mở rộng nhanh mà không phải viết lại workflow.
Giới hạn thật sự của Ollama
Ollama không phải lời giải cho mọi bài toán. Khi đặt cạnh một runtime chuyên phục vụ như vLLM, nó lộ ra vài nhược điểm cố hữu.

| Đặc điểm | Ollama | vLLM |
|---|---|---|
| Một người dùng | ~62 token/s | ~71 token/s |
| Khi hàng trăm yêu cầu đổ vào | Xếp hàng, xử lý tuần tự | Vẫn mở rộng, gấp 15–20 lần |
| Quản lý KV cache | Cấp phát liền khối, dễ phân mảnh | PagedAttention |
| Định dạng hỗ trợ | Chủ yếu GGUF | Safetensors, GPTQ, AWQ, FP8 |
| Độ trễ so với llama.cpp trực tiếp | Dày thêm khoảng 5–15% | Bám sát phần cứng |
Con số một người dùng dễ gây hiểu nhầm, nên cần nói rõ: phần lớn khoảng cách giữa 62 và 71 token/s đến từ mức nén mô hình khác nhau, không phải từ engine. Khác biệt thật nằm ở chỗ khác. Ba giới hạn kỹ thuật đáng nhớ:
- Xử lý đồng thời: mặc định Ollama xếp hàng các yêu cầu và xử lý tuần tự. vLLM dùng PagedAttention để quản lý bộ nhớ theo kiểu bộ nhớ ảo, nhờ đó phục vụ được nhiều người cùng lúc. Bạn có thể nới bằng biến môi trường
OLLAMA_NUM_PARALLEL, nhưng throughput (thông lượng) vẫn khiêm tốn. - Cách dùng VRAM: vLLM mặc định chiếm phần lớn VRAM để làm KV cache pool (chỉnh qua
gpu_memory_utilization), đổi lấy throughput. Ollama giữ thái độ dè dặt hơn, dễ sống chung với các tác vụ GPU khác nhưng không tối ưu bằng khi cần phục vụ số đông. - Định dạng mô hình: Ollama bám GGUF, nên các định dạng nén khác như GPTQ, AWQ hay FP8 không phải sân của nó.
Vì những lựa chọn kiến trúc đó, Ollama không phải công cụ để phục vụ một API công khai cho hàng trăm người dùng đồng thời. Nó là công cụ phát triển tốt, và là nút thắt cổ chai nếu bị đẩy vào vai trò máy chủ suy luận quy mô lớn.
Nên bắt đầu từ đâu?
Cài đặt gọn trong một lệnh:
curl -fsSL https://ollama.com/install.sh | shTrên Windows, dùng irm https://ollama.com/install.ps1 | iex. Sau đó ollama run gemma4 là bạn có phiên chat đầu tiên chạy hoàn toàn trên máy mình.
Dùng Ollama khi bạn làm dự án cá nhân, dựng agent chạy cục bộ, hoặc làm prototype cho một người dùng. Khi hệ thống bắt đầu phục vụ nhiều người cùng lúc và độ trễ dâng lên, đó là lúc cân nhắc chuyển sang vLLM — không phải vì Ollama tệ, mà vì hai công cụ này sinh ra cho hai bài toán khác nhau.
Tài liệu tham khảo
- GitHub — ollama/ollama
- Ollama: all aboard open models — Ollama Blog
- How to Run and Customize LLMs Locally with Ollama — freeCodeCamp
- Ollama vs LM Studio vs vLLM vs llama.cpp vs MLX 2026 — Codersera
- llama.cpp vs Ollama vs vLLM: One User vs Many (2026) — InsiderLLM
- Ollama 2026 Review: The Default Local LLM Runner — AIFoss
- Open-source AI developer tool Ollama raises $65M to grow its platform — SiliconANGLE
- Ollama Release Notes & Changelog — releases.sh