Triển khai mô hình AI cục bộ (Local LLMs) trên VPS
Triển khai mô hình AI cục bộ (Local LLMs) trên VPS: Hướng dẫn Ollama & vLLM
Việc chạy các mô hình ngôn ngữ lớn (Large Language Models - LLMs) cục bộ trên VPS đang trở thành xu hướng mạnh mẽ năm 2026. Thay vì phụ thuộc vào các dịch vụ cloud đắt đỏ như OpenAI hay Grok API với chi phí token cao và rủi ro bảo mật dữ liệu, bạn hoàn toàn có thể triển khai Llama 3, Mistral, Gemma hay Phi-3 trực tiếp trên máy chủ ảo cá nhân. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng Ollama và vLLM để phục vụ API nội bộ nhanh chóng, ổn định và tiết kiệm.
1. Tại sao nên chạy Local LLMs trên VPS?
Chạy AI cục bộ mang lại nhiều lợi thế vượt trội:
- Bảo mật dữ liệu: Dữ liệu nhạy cảm không rời khỏi hạ tầng của bạn.
- Chi phí ổn định: Chỉ trả tiền thuê VPS thay vì trả theo token hoặc usage.
- Tốc độ phản hồi: Latency thấp khi phục vụ nội bộ hoặc người dùng gần datacenter.
- Tùy chỉnh: Fine-tune model theo domain cụ thể mà không lo bị kiểm soát.
Một VPS có GPU (hoặc CPU mạnh) có thể chạy thoải mái các model 7B-13B parameters ở mức chấp nhận được, thậm chí 70B với kỹ thuật quantization.
// Ví dụ cấu trúc config cho việc quản lý Local LLM service
interface LLMConfig {
modelName: string; // "llama3:8b", "mistral:7b"
quantization: string; // "q4_0", "q5_K_M", "fp16"
contextLength: number; // 8192, 32768 tokens
gpuLayers: number; // Số layer offload lên GPU
maxBatchSize: number;
}
const appConfig: LLMConfig = {
modelName: "llama3:8b",
quantization: "q5_K_M",
contextLength: 16384,
gpuLayers: 35,
maxBatchSize: 4
};
console.log(`Khởi tạo model: ${appConfig.modelName} với ${appConfig.gpuLayers} layers trên GPU`);
2. Yêu cầu phần cứng VPS tối ưu
Để chạy Local LLMs hiệu quả, cấu hình VPS cần đáp ứng:
| Model Size | RAM tối thiểu | GPU VRAM | Phù hợp VPS |
|---|---|---|---|
| 7B-8B (Llama 3, Mistral) | 16GB | 8-12GB | VPS GPU entry-level |
| 13B-34B | 32GB+ | 16-24GB | VPS GPU trung cấp |
| 70B (quantized) | 64GB+ | 24GB+ (multi-GPU) | VPS cao cấp |
Lưu ý: Ưu tiên VPS có GPU NVIDIA (A100, RTX 4090, L40s) và hỗ trợ CUDA. NVMe storage ít nhất 100GB để lưu model.
3. Ollama - Giải pháp đơn giản & nhanh chóng
Ollama là công cụ lý tưởng cho người mới bắt đầu. Nó cho phép tải và chạy model chỉ với vài lệnh, đồng thời tự động phục vụ API OpenAI-compatible.
Cách cài đặt trên Ubuntu VPS:
// Bash script mẫu cài đặt Ollama (chạy trong terminal VPS)
const installOllamaScript = `
curl -fsSL https://ollama.com/install.sh | sh
# Tải model Llama 3
ollama pull llama3:8b
# Chạy service
ollama serve
`;
// Khởi động model
console.log("Đang pull và chạy: ollama run llama3:8b");
Sau khi chạy, bạn có thể truy cập API tại http://localhost:11434. Ollama hỗ trợ giao diện web đẹp và dễ quản lý model.
4. vLLM - Tối ưu hiệu suất phục vụ production
vLLM là framework chuyên sâu cho inference tốc độ cao, hỗ trợ continuous batching, PagedAttention và nhiều kỹ thuật tối ưu GPU.
Cài đặt vLLM (yêu cầu Python 3.10+ và CUDA):
// Python script khởi chạy vLLM server
import subprocess
def start_vllm_server():
cmd = [
"python", "-m", "vllm.entrypoints.openai.api_server",
"--model", "meta-llama/Meta-Llama-3-8B-Instruct",
"--quantization", "awq",
"--tensor-parallel-size", "1",
"--max-model-len", "16384",
"--port", "8000"
]
subprocess.Popen(cmd)
print("vLLM server đang chạy tại http://0.0.0.0:8000")
# Gọi hàm
start_vllm_server();
vLLM thường nhanh hơn Ollama 2-4 lần ở throughput, rất phù hợp cho ứng dụng có nhiều user đồng thời.
5. Phục vụ API nội bộ cho ứng dụng
Cả Ollama và vLLM đều tương thích OpenAI client. Bạn có thể kết nối dễ dàng từ code frontend/backend.
// Ví dụ gọi API từ ứng dụng Node.js / TypeScript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://your-vps-ip:11434/v1", // hoặc port 8000 của vLLM
apiKey: "ollama" // không cần key thật với Ollama
});
async function generateResponse(prompt: string) {
const completion = await client.chat.completions.create({
model: "llama3:8b",
messages: [{ role: "user", content: prompt }],
temperature: 0.7,
max_tokens: 1024
});
console.log(completion.choices[0].message.content);
return completion.choices[0].message.content;
}
generateResponse("Giải thích lợi ích của Local LLM trên VPS?");
6. Tối ưu hiệu suất & Quản lý tài nguyên
- Sử dụng quantization (Q4, Q5, AWQ, GPTQ) để giảm VRAM.
- Offload layer lên GPU một cách thông minh qua tham số --num-gpu-layers.
- Monitor tài nguyên bằng công cụ như nvidia-smi, htop hoặc Prometheus + Grafana.
- Kết hợp với Docker để dễ dàng scale và quản lý môi trường.
- Cache response và sử dụng rate limiting cho API.
Đối với VPS tại Việt Nam hoặc Singapore, độ trễ nội bộ sẽ cực thấp, phù hợp cho chatbot hỗ trợ khách hàng, trợ lý nội bộ doanh nghiệp.
7. Bảo mật và Chi phí vận hành
Expose API qua Nginx reverse proxy với SSL (Let's Encrypt). Sử dụng firewall (UFW) chỉ cho phép IP nội bộ truy cập. Tránh public trực tiếp model ra internet trừ khi có authentication mạnh.
Về chi phí: Một VPS GPU 8GB VRAM + 32GB RAM thường rơi vào khoảng 30-80 USD/tháng tùy nhà cung cấp, rẻ hơn rất nhiều so với chi phí API cloud khi traffic lớn.
8. Kết luận: Checklist triển khai Local LLMs
Trước khi bắt đầu dự án, hãy kiểm tra:
- VPS của bạn có GPU NVIDIA và đủ VRAM cho model mục tiêu?
- Chọn Ollama cho prototyping nhanh hay vLLM cho production cao tải?
- Đã có kế hoạch quantization và monitoring tài nguyên?
- API đã được bảo mật và tích hợp tốt với ứng dụng?
- Model nào phù hợp nhất với use-case (Llama 3 cho đa năng, Mistral cho tốc độ)?
Với Ollama và vLLM, bạn hoàn toàn làm chủ được mô hình AI của mình trên VPS. Đây không chỉ là giải pháp tiết kiệm mà còn là bước tiến quan trọng hướng tới sovereignty dữ liệu và AI cá nhân hóa. Hãy bắt đầu ngay hôm nay để xây dựng ứng dụng thông minh mà không lo phụ thuộc cloud!
Hy vọng hướng dẫn chi tiết này giúp bạn triển khai thành công Local LLMs trên hạ tầng VPS của mình trong năm 2026.
```