Back to articles
Technology Insight

Hướng Dẫn Tự Deploy DeepSeek-R1 Lên VPS 4GB RAM Với Llama.cpp Và GGUF Quantization

May 29, 2026

Đặt Vấn Đề: Thách Thức Triển Khai LLM Trên Hạ Tầng Chi Phí Thấp

Trong bối cảnh trí tuệ nhân tạo (AI) đang trở thành lõi công nghệ cho các giải pháp chuyển đổi số, việc tự chủ hạ tầng tính toán (Self-hosting) là ưu tiên hàng đầu của nhiều doanh nghiệp nhằm bảo mật dữ liệu và tối ưu chi phí. Sự xuất hiện của DeepSeek-R1 — mô hình ngôn ngữ lớn (LLM) chuyên về tư duy logic (Reasoning) — đã tạo nên một làn sóng mạnh mẽ nhờ hiệu năng tiệm cận các mô hình thương mại đóng nhưng sở hữu mã nguồn mở hoàn toàn.

Tuy nhiên, phiên bản gốc của DeepSeek-R1 có quy mô lên tới 671 tỷ tham số (671B), yêu cầu hệ thống siêu máy tính gồm nhiều cụm GPU chuyên dụng để vận hành. Để giải quyết bài toán này cho các doanh nghiệp vừa và nhỏ, nhà phát triển đã cung cấp các phiên bản chắt lọc tri thức (Distilled Models) với kích thước nhỏ hơn (từ 1.5B đến 70B). Bài viết này sẽ hướng dẫn kỹ thuật chi tiết để triển khai phiên bản DeepSeek-R1-Distill-Qwen-1.5B hoặc DeepSeek-R1-Distill-Llama-8B định dạng GGUF Quantization trực tiếp trên một cấu hình VPS tiêu chuẩn chỉ có 4GB RAM, sử dụng engine suy luận tối ưu hóa CPU Llama.cpp.

---

1. Hiểu Về Công Nghệ: Llama.cpp Và Kỹ Thuật GGUF Quantization

Để một hệ thống chỉ có 4GB RAM (không có GPU) có thể tải và xử lý được một mô hình ngôn ngữ lớn, hai công nghệ cốt lõi sau đây đóng vai trò quyết định:

Llama.cpp là gì?

Llama.cpp là một thư viện mã nguồn mở được viết bằng ngôn ngữ C/C++ thuần túy bởi Georgi Gerganov. Mục tiêu tối thượng của thư viện này là thực thi các mô hình LLM với hiệu năng cao nhất trên kiến trúc CPU (bao gồm x86_64 và ARM) thông qua việc tối ưu hóa tập lệnh toán học (AVX2, AVX-512) và quản lý bộ nhớ nghiêm ngặt, loại bỏ sự phụ thuộc bắt buộc vào phần cứng GPU đắt đỏ.

Cơ chế GGUF Quantization (Định lượng hóa)

Các trọng số (weights) của mô hình AI mặc định thường được lưu trữ ở định dạng số thực dấu phẩy động 16-bit (FP16) hoặc 32-bit (FP32). Một mô hình 1.5 tỷ tham số ở định dạng FP16 sẽ cần khoảng 3GB RAM chỉ để tải vào bộ nhớ, chưa tính bộ nhớ đệm phục vụ hội thoại (KV Cache).

GGUF (GPT-Generated Unified Format) là định dạng tệp tin cho phép áp dụng kỹ thuật Quantization — nén các trọng số từ 16-bit xuống còn 4-bit (Q4_K_M) hoặc 5-bit (Q5_K_M). Quá trình này giúp:

  • Giảm dung lượng tệp tin: Mô hình DeepSeek-R1 1.5B sau khi nén Q4_K_M chỉ còn nặng khoảng 1.1GB.
  • Giảm thiểu mức chiếm dụng RAM: Giúp hệ thống 4GB RAM hoàn toàn vận hành mượt mà cả mô hình lẫn hệ điều hành.
  • Giữ vững chất lượng: Các thuật toán nén hiện đại giúp giảm dung lượng nhưng độ suy hao về độ chính xác (Perplexity) là không đáng kể.
---

2. Chuẩn Bị Hạ Tầng VPS Và Môi Trường Hệ Điều Hành

Trước khi bắt đầu cài đặt, bạn cần sở hữu một máy chủ ảo (VPS) với các thông số tối thiểu sau:

  • Hệ điều hành: Ubuntu 22.04 LTS hoặc Ubuntu 24.04 LTS (64-bit).
  • Cấu hình vật lý: Tối thiểu 2 vCPU (khuyến khích kiến trúc CPU đời mới có hỗ trợ tập lệnh AVX2), 4GB RAM.
  • Ổ cứng: Tối thiểu 20GB SSD/NVMe trống.
Khuyến nghị quan trọng: Vì bộ nhớ RAM vật lý giới hạn ở mức 4GB, việc cấu hình bộ nhớ ảo (Swap Space) là bắt buộc để ngăn chặn tiến trình bị kill bởi cơ chế Out-Of-Memory (OOM) của Linux khi mô hình xử lý các chuỗi ngữ cảnh dài.

Khởi tạo Swap Space 4GB trên Ubuntu

Truy cập vào VPS thông qua SSH bằng quyền root và thực thi chuỗi lệnh sau:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Kiểm tra lại trạng thái bộ nhớ bằng lệnh free -m để đảm bảo hệ thống đã nhận đủ tổng dung lượng RAM vật lý và Swap.

---

3. Hướng Dẫn Các Bước Cài Đặt Chi Tiết

Quy trình triển khai bao gồm việc biên dịch mã nguồn Llama.cpp tối ưu cho CPU hiện tại, tải mô hình DeepSeek-R1 đã được định lượng hóa từ Hugging Face và thiết lập máy chủ dịch vụ.

Bước 1: Cập nhật hệ thống và cài đặt các package phụ thuộc

Đảm bảo môi trường phát triển của bạn có đầy đủ các công cụ biên dịch thiết yếu:

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential cmake git curl wget python3-pip

Bước 2: Tải và biên dịch Llama.cpp từ mã nguồn

Việc biên dịch trực tiếp trên VPS giúp Llama.cpp tự động nhận diện và tối ưu hóa cho kiến trúc vi xử lý cụ thể của nhà cung cấp dịch vụ cloud của bạn:

git clone [https://github.com/ggerganov/llama.cpp](https://github.com/ggerganov/llama.cpp)
cd llama.cpp
mkdir build
cd build
cmake ..
cmake --build . --config Release

Sau khi tiến trình hoàn tất, các file thực thi quan trọng như llama-cli (giao diện dòng lệnh) và llama-server (giao diện API) sẽ được khởi tạo trong thư mục bin.

Bước 3: Tải mô hình DeepSeek-R1 GGUF

Chúng ta sẽ chọn phiên bản DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf. Đây là phiên bản lý tưởng nhất cho VPS 4GB RAM, mang lại tốc độ phản hồi nhanh (Tokens per second cao) trong khi vẫn giữ được khả năng tư duy suy luận đặc trưng của dòng R1.

Quay lại thư mục gốc và tải mô hình thông qua Hugging Face CLI hoặc wget:

cd ~/llama.cpp
mkdir models
cd models
wget [https://huggingface.co/bartowski/DeepSeek-R1-Distill-Qwen-1.5B-GGUF/resolve/main/DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf](https://huggingface.co/bartowski/DeepSeek-R1-Distill-Qwen-1.5B-GGUF/resolve/main/DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf)
---

4. Vận Hành Mô Hình Và Tối Ưu Hóa Tham Số

Kiểm tra suy luận trực tiếp qua Terminal

Để kiểm tra xem mô hình có hoạt động ổn định hay không, thực hiện lệnh gọi kiểm tra trực tiếp với tham số tối ưu hóa luồng xử lý (Threads):

../build/bin/llama-cli -m DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf \
  -t 2 -c 2048 \
  -p "<|User|>Giải thích ngắn gọn khái niệm API là gì?<|Assistant|>" 

Lưu ý về các tham số hệ thống:

  • -t 2: Số lượng luồng CPU xử lý song song. Hãy đặt bằng số lượng vCPU thực tế của VPS. Đặt quá cao sẽ gây nghẽn cổ chai do tranh chấp tài nguyên (Context switching).
  • -c 2048: Kích thước cửa sổ ngữ cảnh (Context Window). Đối với RAM 4GB, mức 2048 hoặc 4096 tokens là giới hạn an toàn để tránh tràn bộ nhớ đệm KV Cache.
---

5. Khởi Tạo API Server Và Đóng Gói Thành Dịch Vụ Hệ Thống

Để tích hợp DeepSeek-R1 vào các ứng dụng doanh nghiệp (Website, Chatbot, Hệ thống CRM), chúng ta cần chạy mô hình dưới dạng một RESTful API Server tương thích chuẩn OpenAI.

Khởi chạy API Server nội bộ

../build/bin/llama-server -m DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf \
  -t 2 -c 4096 --host 127.0.0.1 --port 8080

Cấu hình Systemd Service để chạy ngầm và tự khởi động cùng OS

Tạo một file cấu hình dịch vụ hệ thống để quản lý tiến trình tự động:

sudo nano /etc/systemd/system/deepseek.service

Dán nội dung cấu hình sau vào file:

[Unit]
Description=DeepSeek-R1 Llama.cpp API Server
After=network.target

[Service] 
Type=simple
User=root
WorkingDirectory=/root/llama.cpp/models
ExecStart=/root/llama.cpp/build/bin/llama-server -m DeepSeek-R1-Distill-Qwen-1.5B-Q4_K_M.gguf -t 2 -c 4096 --host 127.0.0.1 --port 8080
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Kích hoạt và khởi chạy dịch vụ:

sudo systemctl daemon-reload
sudo systemctl enable deepseek.service
sudo systemctl start deepseek.service

Kiểm tra trạng thái hoạt động bằng lệnh: sudo systemctl status deepseek.service.

---

6. Đánh Giá Hiệu Năng Và Kết Luận

Sau khi hoàn tất cài đặt, qua các bài kiểm tra thực tế, cấu hình VPS 4GB RAM kết hợp Llama.cpp mang lại các chỉ số vận hành đáng chú ý:

Mô hình Mức chiếm dụng RAM Tốc độ xử lý (Prompt) Tốc độ sinh văn bản (Eval)
DeepSeek-R1-1.5B (Q4_K_M) ~1.6 GB - 2.1 GB ~25-30 tokens/s ~12-15 tokens/s

Mặc dù tốc độ sinh chuỗi văn bản tư duy (Chain-of-Thought tokens) trên CPU không thể so sánh với các cụm GPU cao cấp, nhưng với tốc độ dao động từ 12-15 tokens/giây, hệ thống hoàn toàn đáp ứng tốt cho các tác vụ xử lý bất đồng bộ (Asynchronous tasks), phân tích văn bản, phân loại dữ liệu, hoặc tích hợp chatbot chăm sóc khách hàng nội bộ không yêu cầu thời gian thực khắt khe.

Kết luận: Giải pháp ứng dụng GGUF Quantization và Llama.cpp chứng minh rằng doanh nghiệp hoàn toàn có thể tiếp cận công nghệ AI tiên tiến nhất hiện nay với mức chi phí hạ tầng tối thiểu. Đây là bước đệm hoàn hảo để thử nghiệm, đánh giá tính khả thi trước khi quyết định đầu tư các cụm phần cứng chuyên dụng quy mô lớn hơn.

Hướng Dẫn Tự Deploy DeepSeek-R1 Lên VPS 4GB RAM Với Llama.cpp Và GGUF Quantization | DPTCloud