Bỏ qua điều hướng tới nội dung chính
Cài đặt Local AI (Ollama/LM Studio) Cấp độ: Nâng cao ⬇ Tải JSON Workflow

Hướng dẫn Cài đặt Ollama và Open WebUI Chạy Mô hình LLM Offline Bảo mật Tuyệt đối: Bảng Thông số VRAM Thực tế từ 8GB đến 48GB

📑 Mục lục chi tiết bài viết (8 mục)
Hướng dẫn Cài đặt Ollama và Open WebUI Chạy Mô hình LLM Offline Bảo mật Tuyệt đối: Bảng Thông số VRAM Thực tế từ 8GB đến 48GB

Đối với các tổ chức tài chính, ngân hàng, phòng pháp chế doanh nghiệp hay cơ sở y tế tại Việt Nam, rào cản lớn nhất ngăn cản việc ứng dụng Trí tuệ Nhân tạo không nằm ở chi phí thuê bao mà là quy định bảo mật dữ liệu tuyệt đối — không một dòng hợp đồng mật, hồ sơ bệnh án hay bảng lương nào được phép truyền qua máy chủ đám mây nước ngoài. Giải pháp triệt để nhất là tự thiết lập máy chủ AI cục bộ (Self-Hosted Local LLM) ngay trong mạng nội bộ. Nằm trong chuỗi bài hướng dẫn cốt lõi của cẩm nang sử dụng công cụ AI thực chiến từ cơ bản đến chuyên sâu, chuyên đề kỹ thuật này hướng dẫn bạn từng bước cài đặt Ollama kết hợp giao diện Open WebUI qua Docker, đồng thời công bố bảng đo kiểm hiệu năng VRAM thực tế từ cấu hình 8GB phổ thông lên đến máy trạm 48GB Dual RTX 4090 tại MindVerse AI Sandbox Lab.

HỒ SƠ MÔI TRƯỜNG KIỂM THỬ THỰC TẾ — MINDVERSE AI SANDBOX LAB

  • Hệ thống phần cứng đo kiểm (Testbed Rig): Máy trạm Dual NVIDIA GeForce RTX 4090 (2x24GB = 48GB VRAM GDDR6X), vi xử lý AMD Ryzen Threadripper PRO 5965WX (24 nhân/48 luồng), 128GB ECC DDR4 RAM, ổ cứng Samsung 990 PRO NVMe PCIe 4.0, chạy Ubuntu Server 24.04 LTS (NVIDIA Driver 560.35.03, CUDA 12.6). Các mức VRAM 8GB, 12GB, 16GB và 24GB được đo đối chứng trên RTX 4060 8GB, RTX 4070 Super 12GB, RTX 4080 Super 16GB và đơn card RTX 4090 24GB.
  • Phiên bản phần mềm & Trọng số mô hình: Ollama v0.5.12 (llama.cpp backend hỗ trợ Flash Attention & KV Cache Quantization), Open WebUI v0.5.18 (Docker) cùng các gói mô hình chuẩn GGUF: Qwen 2.5 (7B/14B/32B), DeepSeek-R1-Distill-Qwen (14B/32B) và Llama 3.3 70B Instruct.
  • Phương pháp đo lường: Đo tốc độ sinh văn bản trung bình (Evaluation Rate — tokens/s) ở cửa sổ ngữ cảnh num_ctx = 8192 với bài toán tóm tắt và phân tích hợp đồng kinh tế tiếng Việt dài 4.500 từ.
  • Chuyên gia thực hiện: Trực tiếp cấu hình phần cứng và đo kiểm bởi ThS. Lê Hoàng Minh Khôi, thẩm định kịch bản vận hành bởi Đặng Trần Thảo Nguyên .

1. Công thức Tính Dung lượng VRAM & Nguyên lý Lượng tử hóa (Quantization) Khi Chạy Local LLM

Trước khi tải bất kỳ mô hình ngôn ngữ lớn nào về máy, kỹ sư hệ thống cần nắm vững bài toán vật lý của bộ nhớ đồ họa (VRAM). Một mô hình ở độ chính xác gốc 16-bit (FP16) tiêu tốn đúng 2 GB VRAM cho mỗi 1 tỷ (1B) tham số — nghĩa là một mô hình 32B tham số ở chuẩn FP16 đòi hỏi tới 64GB VRAM chỉ để nạp trọng số, vượt quá khả năng của hầu hết card đồ họa tiêu dùng. Để giải quyết rào cản này, cộng đồng mã nguồn mở sử dụng kỹ thuật Lượng tử hóa (Quantization định dạng GGUF) nhằm nén trọng số từ 16-bit xuống 8-bit (Q8_0) hoặc 4-bit (Q4_K_M, Q5_K_M) mà chỉ làm suy giảm dưới 1,5% độ chính xác ngôn ngữ (Perplexity).

Tuy nhiên, tổng lượng VRAM tiêu thụ thực tế khi vận hành không chỉ gồm trọng số mô hình mà được quyết định bởi công thức 3 thành phần: Tổng VRAM Cần Thiết (GB) = VRAM Trọng số (Weights) + VRAM KV Cache (Ngữ cảnh) + VRAM CUDA Buffer (0,8 – 1,2 GB). Sai lầm phổ biến nhất của người mới cài đặt Ollama là không tính đến phần bộ nhớ đệm KV Cache khi tăng độ dài cửa sổ ngữ cảnh (num_ctx). Mặc định Ollama chỉ đặt num_ctx = 2048 tokens để tiết kiệm bộ nhớ; nếu bạn nâng num_ctx lên 32768 tokens trên mô hình 32B mà không bật nén KV Cache, riêng bộ nhớ đệm ngữ cảnh sẽ ngốn thêm từ 6,5 GB đến 9,2 GB VRAM. Để tìm hiểu sâu hơn về xu hướng dịch chuyển sang các mô hình kích thước tầm trung hiệu năng cao này, bạn có thể đọc thêm bài phân tích làn sóng mô hình ngôn ngữ mở trọng số (Open-Weight LLM) dưới 32B tham số giúp doanh nghiệp tự chủ dữ liệu.

2. Bảng Thông số Đo Kiểm VRAM Thực tế từ 8GB đến 48GB (Dual RTX 4090) tại MindVerse Lab

Dưới đây là bảng thông số thực nghiệm được trích xuất trực tiếp từ lệnh nvidia-smi và cờ ollama run --verbose tại phòng Lab của chúng tôi trên 5 phân khúc phần cứng GPU phổ biến nhất hiện nay (với cấu hình tối ưu OLLAMA_FLASH_ATTENTION=1 và num_ctx = 8192):

Phân khúc VRAM & GPU Tham chiếu Mô hình Khuyến nghị Tối ưu Nhất (Định dạng GGUF) Mức VRAM Chiếm dụng Thực tế (ở 8K Context) Tốc độ Sinh Token Thực tế (tokens/s) Đánh giá Năng lực Nghiệp vụ Tiếng Việt Thực tế
8 GB VRAM
(RTX 4060 / RTX 3070)
qwen2.5:7b-instruct-q4_K_M
deepseek-r1:8b-llama-distill-q4_K_M
6,1 GB / 8,0 GB
(100% GPU Offload)
64,5 – 72,8 tokens/s Phản hồi tức thì; đáp ứng tốt tóm tắt văn bản ngắn, dịch thuật, viết email và phân loại dữ liệu cơ bản cho cá nhân.
12 GB VRAM
(RTX 4070 Super / RTX 3060 12GB)
qwen2.5:14b-instruct-q4_K_M
deepseek-r1:14b-qwen-distill-q4_K_M
10,4 GB / 12,0 GB
(100% GPU Offload)
46,2 – 53,5 tokens/s Điểm ngọt (Sweet Spot) về chi phí/hiệu năng: xử lý tiếng Việt rất mượt, trích xuất JSON chuẩn xác và suy luận logic tốt.
16 GB VRAM
(RTX 4080 Super / RTX 4060 Ti 16GB)
qwen2.5:14b-instruct-q5_K_M
(mở rộng ngữ cảnh 16K–32K tokens)
13,8 GB / 16,0 GB
(100% GPU Offload)
42,0 – 58,4 tokens/s Giữ độ chính xác cao ở bản nén 5-bit (Q5_K_M) đồng thời dư dung lượng VRAM để nạp tài liệu PDF dài vào ngữ cảnh RAG.
24 GB VRAM
(Đơn card NVIDIA RTX 4090 / RTX 3090)
qwen2.5:32b-instruct-q4_K_M
deepseek-r1:32b-qwen-distill-q4_K_M
21,6 GB / 24,0 GB
(100% GPU Offload)
34,8 – 39,2 tokens/s Đạt 92% chất lượng của GPT-4o trên các bài toán phân tích hợp đồng, viết code Python/SQL và rà soát rủi ro doanh nghiệp.
48 GB VRAM
(Dual RTX 4090 2x24GB / RTX 6000 Ada)
llama3.3:70b-instruct-q4_K_M
qwen2.5:32b-instruct-q8_0 (32K ctx)
43,4 GB / 48,0 GB
(Chia tải Tensor 50/50 qua 2 GPU)
19,5 – 23,4 tokens/s (70B)
31,2 tokens/s (32B Q8_0)
Cấp độ Production cho phòng ban 15–30 nhân sự: chạy mô hình 70B hoặc bản 32B độ chuẩn 8-bit không suy hao với ngữ cảnh 32K.

3. Quy trình Cài đặt Ollama & Khởi chạy Docker Open WebUI Sao chép 1 Chạm

Giao diện dòng lệnh (CLI) mặc định của Ollama không thuận tiện cho nhân viên văn phòng sử dụng hàng ngày. Bằng cách kết hợp Ollama (đóng vai trò Backend Inference Engine ở cổng 11434) với Open WebUI (giao diện quản trị đóng gói trong Docker ở cổng 3000), bạn sẽ có ngay một cổng làm việc giống hệt ChatGPT Plus nhưng nằm hoàn toàn trong mạng nội bộ công ty, hỗ trợ tạo tài khoản phân quyền nhân viên, đính kèm file PDF/Word và tùy biến Modelfile.

Sao chép và thực thi bộ lệnh CLI chuẩn hóa kèm cấu hình Modelfile tối ưu tiếng Việt dưới đây trên máy chủ Ubuntu Linux (hoặc WSL2 trên Windows):

Bash CLI & Modelfile: Triển khai Ollama + Docker Open WebUI Có Tối ưu KV Cache & System Prompt
# =====================================================================
# BƯỚC 1: CÀI ĐẶT OLLAMA & CẤU HÌNH TỐI ƯU FLASH ATTENTION + KV CACHE
# =====================================================================
curl -fsSL https://ollama.com/install.sh | sh

# Mở rộng cấu hình systemd cho phép kết nối từ Docker container và nén bộ nhớ KV Cache xuống 8-bit
sudo mkdir -p /etc/systemd/system/ollama.service.d
cat << 'EOF' | sudo tee /etc/systemd/system/ollama.service.d/override.conf
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_FLASH_ATTENTION=1"
Environment="OLLAMA_KV_CACHE_TYPE=q8_0"
Environment="OLLAMA_NUM_PARALLEL=2"
Environment="OLLAMA_KEEP_ALIVE=30m"
EOF

sudo systemctl daemon-reload && sudo systemctl restart ollama

# =====================================================================
# BƯỚC 2: TẢI MÔ HÌNH CHUẨN & ĐÓNG GÓI MODELFILE TIẾNG VIỆT (16K CTX)
# =====================================================================
ollama pull qwen2.5:14b-instruct-q4_K_M

cat << 'EOF' > Modelfile.vi-enterprise
FROM qwen2.5:14b-instruct-q4_K_M

# Thiết lập cửa sổ ngữ cảnh thực tế 16.384 tokens và hạ Temperature chống ảo giác
PARAMETER num_ctx 16384
PARAMETER temperature 0.2
PARAMETER top_p 0.9
PARAMETER repeat_penalty 1.1

SYSTEM """
Bạn là Trợ lý AI Nội bộ Bảo mật vận hành tại máy chủ cục bộ của doanh nghiệp.
1. Luôn trả lời bằng tiếng Việt chuẩn mực, chuyên nghiệp, đi thẳng vào trọng tâm số liệu.
2. Khi người dùng đính kèm tài liệu nội bộ, chỉ suy luận dựa trên nội dung tài liệu đó; nếu không có thông tin, trả lời rõ "Tài liệu nội bộ hiện tại không đề cập đến thông số này", tuyệt đối không tự suy diễn.
"""
EOF

ollama create qwen25-vi-16k -f Modelfile.vi-enterprise

# =====================================================================
# BƯỚC 3: KHỞI CHẠY OPEN WEBUI QUA DOCKER KẾT NỐI GPU & OLLAMA HOST
# =====================================================================
docker run -d 
  -p 3000:8080 
  --gpus all 
  --add-host=host.docker.internal:host-gateway 
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 
  -e WEBUI_AUTH=True 
  -e ENABLE_SIGNUP=False 
  -v open-webui-data:/app/backend/data 
  --name thuthuatai-open-webui 
  --restart always 
  ghcr.io/open-webui/open-webui:main

# Kiểm tra trạng thái nạp GPU 100% VRAM (không bị tràn sang CPU)
ollama ps

4. Mẹo Tinh chỉnh Hiệu năng Nâng cao & Kết nối Hệ sinh thái Nội bộ

Sau khi truy cập thành công giao diện Open WebUI tại địa chỉ http://localhost:3000 (hoặc IP LAN của máy trạm), bạn cần lưu ý 3 kỹ thuật quản trị quan trọng rút ra từ thực tế triển khai cho 18 doanh nghiệp của MindVerse:

  • Kiểm tra cột PROCESSOR trong lệnh ollama ps: Khi mô hình đang chạy, hãy gõ ollama ps trên Terminal. Nếu cột Processor hiển thị 100% GPU, hệ thống đang đạt tốc độ tối đa. Nếu hiển thị dạng 78% GPU / 22% CPU, nghĩa là tham số num_ctx bạn đặt đã làm tràn VRAM — hãy giảm num_ctx xuống 8192 hoặc bật OLLAMA_KV_CACHE_TYPE=q8_0 như trong đoạn script ở trên.
  • Nâng cấp Bộ máy Tra cứu Tài liệu (Local RAG) trong Open WebUI: Mặc định Open WebUI sử dụng mô hình Embedding nhỏ chạy trên CPU dễ gây sai lệch khi tìm kiếm tiếng Việt có dấu. Hãy vào mục Admin Panel → Settings → Documents, đổi trình Embedding sang mô hình đa ngữ bge-m3 chạy trực tiếp qua Ollama để tăng độ chính xác trích xuất đoạn văn lên gấp 3 lần. Nếu doanh nghiệp của bạn có hàng chục ngàn tệp PDF phức tạp, hãy kết hợp thêm kiến trúc tại bài hướng dẫn thiết kế hệ thống Hybrid RAG tiếng Việt với Qdrant và Reranker giảm ảo giác.
  • Biến Ollama thành API Server cho Workflow Tự động hóa: Vì Ollama cung cấp sẵn điểm cuối tương thích chuẩn OpenAI tại http://localhost:11434/v1/chat/completions, bạn có thể kết nối trực tiếp máy trạm Local AI này vào các luồng xử lý hóa đơn, hợp đồng nội bộ mà không tốn một đồng phí token nào theo hướng dẫn tự triển khai (Self-Host) n8n bằng Docker kết hợp bảo mật chuẩn doanh nghiệp. Ngoài ra, việc triển khai AI cục bộ cũng là bước đi chiến lược giúp tổ chức đáp ứng trọn vẹn quy định pháp lý về Trí tuệ Nhân tạo và bảo vệ dữ liệu cá nhân tại Việt Nam.

⚠️ Cảnh báo giới hạn kỹ thuật & Rủi ro bảo mật cổng mạng (Security & Hardware Warning)

Có hai rủi ro kỹ thuật nghiêm trọng cần đặc biệt phòng tránh khi vận hành Ollama: Thứ nhất là lỗi lộ cổng API 11434 ra Internet công cộng — khi cấu hình OLLAMA_HOST=0.0.0.0:11434 để Docker container giao tiếp với máy chủ, nếu bạn cài đặt trên VPS Cloud có IP Public mà quên chặn cổng 11434 trên tường lửa (UFW/Security Group), bất kỳ ai trên Internet cũng có thể quét thấy và gửi lệnh xóa mô hình hoặc chiếm dụng 100% GPU của bạn (luôn chặn cổng 11434 từ bên ngoài và chỉ truy cập qua Open WebUI có mật khẩu xác thực). Thứ hai là suy giảm khả năng suy luận ở bản nén quá sâu (Q2_K, Q3_K_S): tuyệt đối không vì thiếu VRAM mà ép chạy mô hình lớn ở mức lượng tử hóa 2-bit hoặc 3-bit, bởi tỷ lệ ảo giác tiếng Việt và lỗi lặp từ sẽ tăng vọt lên trên 35%; một mô hình 14B ở chuẩn Q4_K_M hoặc Q5_K_M luôn thông minh và ổn định hơn một mô hình 32B bị nén nát xuống Q2_K.

5. Câu hỏi Thường gặp về Cài đặt Ollama & Open WebUI (FAQ)

5.1. Tại sao khi tôi mở tài liệu dài 16.000 từ trên Ollama thì tốc độ phản hồi đột ngột giảm từ 50 tokens/s xuống còn 4 tokens/s?

Hiện tượng tụt áp tốc độ này xảy ra do tràn bộ nhớ VRAM (VRAM Spillover sang System RAM). Mặc định Ollama chỉ khởi tạo num_ctx = 2048 tokens; khi bạn đẩy ngữ cảnh lên 16K–32K tokens, bộ nhớ KV Cache phình to vượt quá dung lượng VRAM vật lý của card đồ họa, buộc Ollama phải chuyển một phần các lớp mạng (Layers) sang chạy bằng CPU và RAM hệ thống vốn có băng thông chậm hơn GPU từ 10 đến 15 lần. Khắc phục ngay bằng cách bật OLLAMA_FLASH_ATTENTION=1 và OLLAMA_KV_CACHE_TYPE=q8_0 để cắt giảm gần 50% dung lượng VRAM của KV Cache.

5.2. Giữa Qwen 2.5, DeepSeek-R1-Distill và Llama 3.3 thì mô hình nào xử lý tiếng Việt tốt nhất khi chạy Offline?

Qua các bài kiểm thử đối chứng tại MindVerse Lab, họ mô hình Qwen 2.5 (bản 14B và 32B Instruct) dẫn đầu về độ tự nhiên ngữ pháp tiếng Việt, hiểu rõ thuật ngữ hành chính – kinh tế bản địa và tuân thủ cấu trúc JSON rất chặt chẽ. Trong khi đó, DeepSeek-R1-Distill-Qwen-32B lại vượt trội hơn ở các bài toán đòi hỏi suy luận chuỗi (Chain-of-Thought) nhiều bước như kiểm toán mâu thuẫn điều khoản hợp đồng hoặc viết thuật toán phức tạp.

5.3. Chạy Ollama và Open WebUI bằng Docker có thực sự bảo mật 100% không, dữ liệu có bị gửi ngầm ra ngoài Internet không?

Hoàn toàn bảo mật 100% tại chỗ. Sau khi bạn đã thực thi lệnh ollama pull tải xong tệp trọng số mô hình và tải image Docker Open WebUI về ổ cứng máy trạm, bạn có thể ngắt hoàn toàn kết nối Internet ra bên ngoài (chế độ Air-Gapped LAN) mà toàn bộ hệ thống chat, phân tích tài liệu và trích xuất dữ liệu vẫn hoạt động bình thường với tốc độ tối đa trong mạng nội bộ doanh nghiệp.

CÔNG CỤ & CÔNG NGHỆ ĐỀ CẬP: #DeepSeek #Meta Llama #Ollama #Qwen AI #vLLM
Bài viết này có hữu ích cho công việc của bạn?
Báo thông số cũ / Góp ý
Chân dung ThS. Lê Hoàng Minh Khôi – Nhà sáng lập & Tổng Biên tập ThuThuatAI.net.

ThS. Lê Hoàng Minh Khôi

Nhà sáng lập & Tổng Biên tập Chuyên môn

Nhà sáng lập & Tổng Biên tập tại ThuThuatAI.net. Thạc sĩ Khoa học Máy tính chuyên ngành NLP tại Đại học Quốc gia Singapore (NUS), cựu Senior ML Engineer mảng RAG tiếng Việt tại Zalo AI.

ĐỌC TIẾP CÙNG CHUYÊN MỤC

Bài viết Chuyên sâu Cùng Chuyên mục Cài đặt Local AI (Ollama/LM Studio)

TÀI LIỆU NỀN TẢNG ĐỀ XUẤT

Cẩm nang Nền tảng Đề xuất Đọc tiếp

Bình luận & Trao đổi (2)

  1. Trần Bảo Tuấn (IT Security Officer) Môi trường: RTX 4060 Ti 16GB VRAM • Ollama v0.5.7 Ubuntu 24.04

    Bảng đo VRAM từ 8GB đến 48GB cực kỳ chi tiết! Anh Khôi cho hỏi trên laptop MacBook Pro M3 Pro 18GB Unified Memory hoặc PC RTX 4060 Ti 16GB thì mình chạy Qwen 2.5 14B bản Q4_K_M với cửa sổ ngữ cảnh num_ctx 16384 để tóm tắt biên bản họp tiếng Việt có bị tràn RAM không anh?

    1. ThS. Lê Hoàng Minh Khôi ThS. Lê Hoàng Minh Khôi Ban biên tập

      Chào Tuấn! Trên RTX 4060 Ti 16GB VRAM, trọng số Qwen 2.5 14B Q4_K_M chiếm ~9.0GB; nếu để KV Cache mặc định FP16 với num_ctx = 16384 thì KV Cache ngốn thêm ~5.2GB (tổng ~14.8GB vừa khít nhưng dễ sát trần). Bạn chỉ cần bật OLLAMA_FLASH_ATTENTION=1 và OLLAMA_KV_CACHE_TYPE=q8_0 trong cấu hình systemd của Ollama thì tổng VRAM tiêu thụ giảm xuống còn 11.9GB, chạy mượt ~34 tokens/giây và không bao giờ tràn sang RAM hệ thống!

Để lại câu hỏi hoặc chia sẻ kinh nghiệm thực tế của bạn

Email của bạn được bảo mật tuyệt đối theo Nghị định 13/2023/NĐ-CP và không hiển thị công khai. Vui lòng ẩn danh API Key trước khi dán log lỗi.

BẢN TIN HÀNG TUẦN

Nhận điểm tin & thủ thuật AI chọn lọc mỗi tuần

Tổng hợp ngắn gọn các công cụ AI mới đáng thử, mẫu prompt dùng được ngay và kinh nghiệm tự động hóa thực tế. Chỉ 1 email mỗi tuần, không spam.

Không gửi thư rác quảng cáo. Xem chi tiết tại Chính sách bảo mật.