vLLM là engine mã nguồn mở dùng để chạy (inference) và phục vụ mô hình ngôn ngữ lớn trên server GPU với tốc độ và thông lượng cao. Điểm mạnh của vLLM đến từ kỹ thuật PagedAttention quản lý bộ nhớ KV cache hiệu quả và continuous batching gộp nhiều yêu cầu cùng lúc, nên một GPU phục vụ được nhiều người dùng đồng thời hơn. vLLM cung cấp API tương thích chuẩn OpenAI, dễ nối với Open WebUI, Dify hoặc ứng dụng tự viết. Phù hợp khi doanh nghiệp cần chatbot nội bộ cho hàng chục người; với một người dùng trên PC, Ollama đơn giản hơn.
vLLM là gì và vì sao được dùng nhiều trên server AI
vLLM là một inference engine, tức phần mềm nạp mô hình ngôn ngữ vào GPU và sinh câu trả lời. Dự án khởi nguồn từ nhóm nghiên cứu tại Đại học California, Berkeley và hiện được cộng đồng lớn phát triển dưới dạng mã nguồn mở.
Khi chỉ một người hỏi AI, hầu hết công cụ chạy mô hình đều cho tốc độ chấp nhận được. Vấn đề xuất hiện khi 20–50 nhân viên cùng dùng chatbot nội bộ: các yêu cầu xếp hàng, người sau chờ lâu. vLLM được thiết kế để giải quyết đúng bài toán này, tối ưu tổng số token sinh ra mỗi giây trên toàn hệ thống (thông lượng) khi có nhiều yêu cầu song song.
Hai kỹ thuật cốt lõi
- PagedAttention: quản lý bộ nhớ KV cache (phần nhớ ngữ cảnh của từng cuộc hội thoại) theo từng trang nhỏ, giống cách hệ điều hành quản lý RAM, giảm lãng phí VRAM.
- Continuous batching: liên tục gộp yêu cầu mới vào lô đang chạy thay vì chờ cả lô xong, giúp GPU luôn bận.
Kết quả là cùng một GPU, vLLM thường phục vụ được nhiều người đồng thời hơn so với công cụ hướng tới máy cá nhân.
vLLM khác Ollama, LM Studio thế nào
Ollama và LM Studio hướng tới sự đơn giản trên máy cá nhân: cài một lần, tải mô hình, dùng ngay, chạy được cả trên CPU và nhiều loại GPU. vLLM hướng tới server: cấu hình nhiều hơn, chủ yếu tối ưu cho GPU, và phát huy rõ nhất khi tải cao.
| Tiêu chí | vLLM | Ollama |
|---|---|---|
| Mục tiêu chính | Phục vụ nhiều người, thông lượng cao | Dùng cá nhân, dễ cài |
| Phần cứng | Chủ yếu GPU server, hỗ trợ nhiều GPU | CPU, GPU tiêu dùng, Mac |
| Định dạng mô hình | Chủ yếu trọng số chuẩn Hugging Face, AWQ, GPTQ, FP8 | GGUF lượng tử hóa |
| Độ khó triển khai | Trung bình đến cao, thường dùng Docker trên Linux | Thấp |
| API | Tương thích chuẩn OpenAI | API riêng và tương thích OpenAI |
| Khi tải thấp | Ưu thế không rõ | Đủ dùng |
Phần cứng cần thiết để chạy vLLM
Yêu cầu phần cứng của vLLM phụ thuộc vào kích thước mô hình, định dạng lượng tử hóa, độ dài ngữ cảnh và số người dùng đồng thời. Các con số dưới đây là ước lượng có điều kiện để định hướng:
- Mô hình 7B–8B ở độ chính xác 16-bit: trọng số chiếm khoảng 15–16 GB VRAM, cần thêm chỗ cho KV cache, nên GPU 24 GB là mức thoải mái để phục vụ vài người cùng lúc với ngữ cảnh vừa phải.
- Cùng mô hình lượng tử hóa 4-bit (AWQ/GPTQ): trọng số giảm còn khoảng 5–6 GB, phần VRAM còn lại dành cho KV cache, phục vụ được nhiều yêu cầu song song hơn.
- Mô hình 30B–32B 4-bit: thường cần khoảng 20 GB VRAM trở lên cho trọng số, nên dùng GPU 48 GB hoặc chia trên hai GPU 24 GB.
- Mô hình 70B: thường cần nhiều GPU kết hợp tensor parallelism.
Các thành phần khác
- RAM hệ thống nên lớn hơn tổng VRAM để nạp mô hình thuận lợi.
- SSD NVMe giúp tải mô hình nhanh khi khởi động.
- Nguồn, tản nhiệt và UPS đủ cho GPU chạy tải liên tục.
- Hệ điều hành Linux là môi trường được hỗ trợ tốt nhất; driver và CUDA phải khớp phiên bản yêu cầu.
Luôn kiểm tra danh sách phần cứng và phiên bản được hỗ trợ trên tài liệu chính thức trước khi mua.
Các bước triển khai vLLM cơ bản
Chuẩn bị
- Server Linux có GPU NVIDIA (hoặc phần cứng khác được vLLM hỗ trợ tại thời điểm triển khai), driver mới.
- Docker và bộ công cụ cho phép container dùng GPU.
- Tài khoản Hugging Face nếu mô hình yêu cầu đồng ý điều khoản trước khi tải.
Các bước
- Chọn mô hình phù hợp tiếng Việt và giấy phép sử dụng thương mại.
- Chạy container vLLM chính thức, chỉ định tên mô hình, cổng dịch vụ và thư mục lưu mô hình.
- Đặt tham số quan trọng: độ dài ngữ cảnh tối đa, tỷ lệ VRAM dành cho vLLM, số GPU nếu chia mô hình.
- Bật khóa API để chỉ ứng dụng được cấp quyền mới gọi được.
- Kết nối giao diện như Open WebUI hoặc Dify vào địa chỉ API tương thích OpenAI của vLLM.
- Đặt server sau tường lửa, chỉ mở trong mạng nội bộ hoặc qua VPN.
Kiểm tra kết quả
Gửi thử yêu cầu từ ứng dụng, đo thời gian ra token đầu tiên và tốc độ sinh chữ. Sau đó mô phỏng 10–20 yêu cầu đồng thời để xem độ trễ khi tải cao.
Lỗi thường gặp khi chạy vLLM
- Hết VRAM khi khởi động: độ dài ngữ cảnh tối đa đặt quá lớn khiến vLLM không đủ chỗ cho KV cache. Giảm max model length hoặc dùng mô hình lượng tử hóa.
- Phiên bản CUDA, driver không khớp: container báo lỗi không tìm thấy GPU. Dùng image chính thức tương ứng với driver.
- Tải mô hình thất bại: mô hình yêu cầu chấp nhận điều khoản hoặc cần token Hugging Face.
- Chọn sai định dạng: tải file GGUF dành cho Ollama rồi đưa vào vLLM; hỗ trợ GGUF trong vLLM hạn chế, nên dùng định dạng được khuyến nghị.
- Mở API ra internet không có khóa: bất kỳ ai cũng có thể dùng GPU của bạn.
- Không giám sát: không theo dõi nhiệt độ GPU, số yêu cầu chờ, dẫn tới máy quá tải mà không ai biết.
vLLM cung cấp chỉ số dạng metrics có thể đưa vào Prometheus, Grafana để giám sát. Với doanh nghiệp nhỏ, ít nhất nên có cảnh báo khi dịch vụ dừng và khi nhiệt độ GPU vượt ngưỡng.
Doanh nghiệp vừa và nhỏ có cần vLLM không
Câu trả lời phụ thuộc vào số người dùng đồng thời và yêu cầu bảo mật dữ liệu.
- Dưới 5 người, dùng thỉnh thoảng: Ollama trên một PC có GPU là đủ, dễ quản trị hơn.
- 10–50 người, dùng hằng ngày, dữ liệu nhạy cảm: vLLM trên server GPU nội bộ là lựa chọn hợp lý, kết hợp Open WebUI làm giao diện.
- Tải không đều, chưa chắc nhu cầu: thử nghiệm bằng GPU thuê theo giờ trên đám mây trước khi mua server.
- Không có người quản trị Linux: cần đối tác hỗ trợ vận hành, hoặc dùng dịch vụ AI đám mây có cam kết bảo mật dữ liệu.
Ví dụ
Một văn phòng luật 25 người muốn trợ lý soạn thảo không gửi hồ sơ ra ngoài. Phương án phổ biến: server một GPU 24–48 GB VRAM chạy vLLM với mô hình mở cỡ vừa lượng tử hóa, Open WebUI làm giao diện, đăng nhập theo tài khoản nhân viên. Khi nhu cầu tăng, thêm GPU hoặc thêm server phía sau bộ cân bằng tải.
Đo hiệu quả và tối ưu vLLM sau khi triển khai
Ba chỉ số nên theo dõi:
- Time to first token: thời gian từ lúc gửi câu hỏi tới khi chữ đầu tiên xuất hiện; quyết định cảm giác “nhanh hay chậm” của người dùng.
- Tokens per second mỗi người: tốc độ chữ chạy ra trên màn hình.
- Thông lượng tổng: tổng token mỗi giây toàn hệ thống khi nhiều người dùng.
| Cách tối ưu | Lợi ích | Đánh đổi |
|---|---|---|
| Dùng mô hình lượng tử hóa AWQ/GPTQ | Tiết kiệm VRAM, phục vụ nhiều người hơn | Chất lượng có thể giảm nhẹ |
| Giảm độ dài ngữ cảnh tối đa | Nhiều chỗ cho KV cache | Không xử lý được tài liệu quá dài |
| Bật prefix caching | Nhanh hơn khi nhiều yêu cầu chung system prompt | Tốn thêm bộ nhớ cache |
| Chia mô hình trên nhiều GPU | Chạy mô hình lớn hơn | Phức tạp hơn, cần GPU đồng bộ |
Trước khi mua GPU cho vLLM, hãy thuê một máy GPU đám mây vài giờ, chạy đúng mô hình và mô phỏng số người dùng thật. Con số đo được đáng tin hơn mọi bảng thông số.
Muốn đưa AI vào công việc của doanh nghiệp? PCTech tư vấn, đánh giá mức sẵn sàng AI và triển khai chatbot, AI agent, tự động hóa cho doanh nghiệp.
10 câu hỏi, 2 phút, nhận mức độ và việc nên làm tiếp theo. Dùng thử ngay
Câu hỏi thường gặp
vLLM có chạy trên Windows được không?
vLLM được hỗ trợ tốt nhất trên Linux. Trên Windows thường phải chạy qua WSL2 hoặc Docker, phù hợp thử nghiệm hơn là vận hành chính thức.
vLLM có miễn phí không?
vLLM là phần mềm mã nguồn mở, dùng miễn phí. Chi phí nằm ở phần cứng GPU, điện năng và công quản trị.
Có nên dùng vLLM thay Ollama trên laptop không?
Thường là không. Trên máy cá nhân một người dùng, Ollama hoặc LM Studio dễ cài và đủ nhanh. vLLM phát huy khi có nhiều yêu cầu đồng thời trên server GPU.
vLLM chạy được mô hình nào?
vLLM hỗ trợ nhiều họ mô hình mở phổ biến trên Hugging Face. Danh sách thay đổi theo phiên bản, hãy xem mục mô hình được hỗ trợ trong tài liệu chính thức.
vLLM có dùng được với Open WebUI không?
Có. vLLM cung cấp API tương thích chuẩn OpenAI, Open WebUI kết nối qua địa chỉ API này để làm giao diện chat cho nhân viên.
Một GPU 24 GB với vLLM phục vụ được bao nhiêu người?
Không có con số cố định. Kết quả phụ thuộc mô hình, mức lượng tử hóa, độ dài câu hỏi và câu trả lời. Cách chắc chắn nhất là đo bằng tải mô phỏng giống thực tế.
Bài viết liên quan
- Ollama vs vLLM: chọn công cụ chạy mô hình AI nội bộ
- Server AI nội bộ cho doanh nghiệp nhỏ: khi nào cần, cấu hình ra sao
- Cần bao nhiêu VRAM để chạy LLM 7B, 14B, 32B, 70B?
- Quantization (lượng tử hóa) mô hình AI là gì? Giảm bộ nhớ mà vẫn giữ chất lượng
- Open WebUI là gì? Giao diện chat cho mô hình AI tự host
- Thuê GPU đám mây hay mua server GPU? Cách tính chi phí sở hữu (TCO)
- Docker cho ứng dụng AI nội bộ: vì sao nên dùng và triển khai thế nào
- Tự dựng “ChatGPT nội bộ” chạy trên server công ty