# Ollama là gì? Chạy mô hình ngôn ngữ lớn ngay trên máy của bạn

> Ollama giúp cài đặt và chạy các LLM cục bộ trên máy cá nhân, đơn giản và không gửi dữ liệu ra ngoài. Công cụ hợp cho kỹ sư cần chạy mô hình mở offline.

Nguồn: https://camnangai.com/ky-thuat/ollama-la-gi  
Xuất bản: 2026-08-10

[**Ollama**](https://ollama.com) là công cụ mã nguồn mở giúp bạn chạy [mô hình ngôn ngữ lớn (LLM)](https://camnangai.com/kien-thuc-ai/llm-la-gi) 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.

![Một mô hình ngôn ngữ lớn chạy ngay trên máy tính cá nhân, dữ liệu ở lại trong máy thay vì gửi lên đám mây](https://camnangai.com/articles/ollama-la-gi/01-infographic-vn.webp)

## 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](https://camnangai.com/kien-thuc-ai/token-ai-la-gi). Bạn thử nghiệm, lặp lại, chạy các tác vụ [RAG](https://camnangai.com/kien-thuc-ai/rag-la-gi) 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.

![Kiến trúc Ollama: lớp điều phối viết bằng Go nằm trên hai engine suy luận llama.cpp và MLX, kèm ba thành phần thư viện mô hình, runtime cục bộ và CLI với REST API](https://camnangai.com/articles/ollama-la-gi/02-vn.webp)

Mô hình vận hành gồm ba thành phần:

1. **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.
2. **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.
3. **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](https://camnangai.com/kien-thuc-ai/local-ai-chay-tren-may-ca-nhan) đ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:

![Cách dùng Ollama trong thực tế: kéo mô hình về bằng dòng lệnh, gói cấu hình lại trong một Modelfile, rồi gọi ra qua API tương thích chuẩn OpenAI](https://camnangai.com/articles/ollama-la-gi/03-vn.webp)

```bash
ollama pull gemma4
ollama run gemma4
```

Phầ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](https://camnangai.com/kien-thuc-ai/context-window)) 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`:

```dockerfile
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 4096
```

Rồ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.

![So sánh chạy cục bộ với Ollama Cloud: cùng một câu lệnh và một API ở cả hai bên, bên cục bộ được riêng tư và chi phí bằng không, bên cloud có mô hình lớn hơn](https://camnangai.com/articles/ollama-la-gi/04-vn.webp)

- **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.

![Giới hạn xử lý đồng thời: Ollama xếp hàng và phục vụ từng yêu cầu một, trong khi vLLM gộp nhiều yêu cầu chạy song song](https://camnangai.com/articles/ollama-la-gi/05-vn.webp)

| Đặ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ớ:

1. **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.
2. **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.
3. **Đị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:

```bash
curl -fsSL https://ollama.com/install.sh | sh
```

Trê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](https://github.com/ollama/ollama)
- [Ollama: all aboard open models — Ollama Blog](https://ollama.com/blog/all-aboard-open-models)
- [How to Run and Customize LLMs Locally with Ollama — freeCodeCamp](https://www.freecodecamp.org/news/run-and-customize-llms-locally-with-ollama)
- [Ollama vs LM Studio vs vLLM vs llama.cpp vs MLX 2026 — Codersera](https://codersera.com/blog/ollama-vs-lm-studio-vs-vllm-vs-llama-cpp-vs-mlx-2026/)
- [llama.cpp vs Ollama vs vLLM: One User vs Many (2026) — InsiderLLM](https://insiderllm.com/guides/llamacpp-vs-ollama-vs-vllm/)
- [Ollama 2026 Review: The Default Local LLM Runner — AIFoss](https://aifoss.dev/blog/ollama-review-2026/)
- [Open-source AI developer tool Ollama raises $65M to grow its platform — SiliconANGLE](https://siliconangle.com/2026/07/09/open-source-ai-developer-tool-ollama-raises-65m-grow-platform/)
- [Ollama Release Notes & Changelog — releases.sh](https://releases.sh/ollama)
