Tự host LLM với vLLM: Benchmark throughput và PagedAttention so với Ollama
Khi nào nên chuyển từ Ollama sang vLLM? Ollama là công cụ tuyệt vời cho cá nhân hoặc phát triển trên máy local. Tuy nhiên khi đưa vào Production phục vụ hàng trăm request đồng thời concurrent users, …
☰ Mục lục bài viết (4 phần) Mở / Đóng mục lục
Khi nào nên chuyển từ Ollama sang vLLM?#
Ollama là công cụ tuyệt vời cho cá nhân hoặc phát triển trên máy local. Tuy nhiên khi đưa vào Production phục vụ hàng trăm request đồng thời (concurrent users), Ollama bộc lộ điểm yếu lớn về throughput vì cơ chế quản lý bộ nhớ KV Cache còn đơn giản.
vLLM là framework phục vụ suy luận LLM mã nguồn mở chuẩn công nghiệp hiện nay, nổi tiếng với thuật toán PagedAttention (quản lý bộ nhớ KV Cache tương tự như kỹ thuật phân trang bộ nhớ ảo của hệ điều hành).
Thiết lập vLLM server bằng Docker#
docker run --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
-p 8000:8000 \
--ipc=host \
vllm/vllm-openai:latest \
--model Qwen/Qwen2.5-Coder-14B-Instruct \
--gpu-memory-utilization 0.90 \
--max-model-len 8192 \
--enable-chunked-prefill
Server sau khi chạy sẽ cung cấp API hoàn toàn tương thích với chuẩn OpenAI (/v1/chat/completions), giúp bạn dễ dàng cắm vào bất kỳ thư viện frontend hoặc backend nào mà không cần sửa code.
Kết quả đo lường tải (Stress Testing với Locust)#
- Kịch bản: 50 người dùng gửi request đồng thời (Concurrency = 50), prompt 1.000 tokens, output 300 tokens.
- Ollama: Throughput đạt ~65 tokens/s, độ trễ p95 lên tới 8.4 giây. Nhiều request bị nghẽn trong hàng đợi.
- vLLM (PagedAttention): Throughput đạt 280 tokens/s (gấp 4.3 lần!), p95 giảm xuống chỉ còn 1.8 giây nhờ Continuous Batching thông minh.
Góc thảo luận#
Anh em đang tự host LLM bằng công cụ gì cho production? Có ai thử nghiệm qua TGI (Text Generation Inference) của Hugging Face chưa?
Xem thêm nội dung liên quan:
Thảo luận
1 phản hồi
Tham gia thảo luận
Bài liên quan trong #AI & Trợ lý lập trình
-
Lập trình viên có bị thay thế bởi AI không? 5 kỹ năng bắt buộc phải nâng cấp trong 2 năm tới
Hoàng Nam (Tech Lead) · 💬 1 -
Áp dụng Model Context Protocol (MCP) của Anthropic để kết nối AI với Postgres và Docker
Hoàng Nam (Tech Lead) · 💬 1 -
So sánh mô hình Embedding đa ngữ: OpenAI text-embedding-3 vs BGE-M3 vs Cohere
Minh Trí (AI Engineer) · 💬 1 -
Xây dựng Voice AI Agent thời gian thực với WebRTC và Whisper Live: Độ trễ dưới 500ms
Lan Anh (Senior Frontend) · 💬 1 -
Cấu hình Rate Limiting ở tầng Nginx và API Gateway: Chống DDOS Layer 7 hiệu quả
Đức Huy (DevOps Specialist) · 💬 1