1. Đặt vấn đề
Trong hệ thống AI local, cả CPU và GPU đều quan trọng, nhưng vai trò khác nhau. GPU mạnh trong tính toán song song, rất phù hợp để sinh câu trả lời từ LLM. CPU mạnh ở xử lý hệ thống, tiền xử lý dữ liệu, FAISS CPU, script, API, nén/giải nén, đọc file, batch xử lý và các tác vụ không cần tốc độ sinh token cao.
Câu hỏi không phải là “CPU hay GPU cái nào tốt hơn”, mà là “tác vụ nào nên chạy trên CPU, tác vụ nào nên chạy trên GPU”. Chọn đúng sẽ giúp hệ thống ổn định, tiết kiệm tài nguyên và phục vụ người dùng tốt hơn.
2. GPU phù hợp với tác vụ nào?
GPU nên ưu tiên cho:
- Chatbot tương tác cần phản hồi nhanh.
- Sinh văn bản dài.
- Tóm tắt tài liệu cần tốc độ.
- Model 7B/8B/14B quantized.
- Tác vụ viết báo cáo, bảng kiểm, kế hoạch.
- RAG generation.
- Một số embedding model nếu có hỗ trợ và cần tốc độ cao.
- Tác vụ nhiều token đầu ra.
Với người dùng cuối, tốc độ sinh token là yếu tố cảm nhận rõ nhất. GPU giúp cải thiện phần này.
3. CPU phù hợp với tác vụ nào?
CPU phù hợp với:
- FAISS CPU search.
- Xử lý tài liệu.
- Chunking.
- Trích xuất text.
- Làm sạch dữ liệu.
- Tạo metadata.
- Script tự động.
- API trung gian.
- Xử lý file upload.
- Batch nhỏ không gấp.
- Chạy model nhỏ khi GPU bận.
- Một số tác vụ nền vào ban đêm.
- Database, cache, log.
CPU nhiều nhân đặc biệt hữu ích khi bệnh viện xử lý nhiều file, nhiều tài liệu và nhiều tác vụ nền.
4. Khi nào chạy LLM bằng GPU?
Nên chạy LLM bằng GPU khi:
- Người dùng cần trả lời trực tiếp.
- Câu trả lời dài.
- Model từ 7B trở lên.
- Cần phục vụ nhiều người.
- Tác vụ dùng nhiều lần trong ngày.
- Cần trải nghiệm chatbot mượt.
- Tác vụ có RAG và prompt tương đối dài.
Ví dụ: chatbot QLCL, chatbot KHTH, trợ lý viết báo cáo, trợ lý tra cứu quy trình.
5. Khi nào có thể chạy bằng CPU?
Có thể chạy bằng CPU khi:
- Model nhỏ.
- Tác vụ không gấp.
- Xử lý batch nền.
- GPU đang bận.
- Tác vụ phân loại đơn giản.
- Sinh văn bản ngắn.
- Kiểm thử model.
- Tạo bản nháp không cần nhanh.
Nhưng cần chấp nhận tốc độ chậm hơn. CPU inference với model lớn thường không phù hợp cho chatbot nhiều người dùng.
6. Hybrid CPU-GPU
Một số cấu hình cho phép offload một phần layer lên GPU, phần còn lại chạy CPU. Cách này giúp chạy model lớn hơn VRAM nhưng tốc độ có thể giảm. Chỉ nên dùng khi:
- Cần thử model lớn.
- Tác vụ ít người dùng.
- Chấp nhận chậm.
- RAM đủ lớn.
- Không yêu cầu phản hồi tức thì.
Không nên dùng hybrid nặng cho chatbot toàn viện nếu làm hệ thống chậm.
7. FAISS chạy CPU hay GPU?
FAISS có thể chạy CPU hoặc GPU. Với nhiều bệnh viện, FAISS CPU đã đủ nhanh nếu index vừa phải và RAM tốt. GPU nên ưu tiên cho LLM generation. Chỉ cân nhắc FAISS GPU khi:
- Index rất lớn.
- Truy vấn vector nhiều.
- Cần latency rất thấp.
- GPU còn dư tài nguyên.
- Kiến trúc đã ổn định.
Giai đoạn đầu, FAISS CPU thường hợp lý và đơn giản hơn.
8. Embedding chạy CPU hay GPU?
Embedding có thể chạy CPU hoặc GPU tùy model. Nếu tạo embedding cho hàng chục nghìn tài liệu, GPU giúp nhanh hơn. Nhưng nếu embedding chỉ thực hiện khi cập nhật tài liệu định kỳ, có thể chạy batch ban đêm bằng CPU hoặc GPU khi ít người dùng.
Không nên để batch embedding chiếm GPU vào giờ cao điểm chatbot.
9. Lập lịch tài nguyên
Một nguyên tắc vận hành:
- Giờ hành chính: ưu tiên GPU cho chatbot người dùng.
- Ngoài giờ: chạy embedding, indexing, batch tóm tắt tài liệu.
- Tác vụ dài: đưa vào hàng đợi.
- Tác vụ quản trị: giới hạn quyền.
- Model lớn: chỉ cho nhóm cần dùng.
Điều này giúp hệ thống không bị nghẽn.
10. Cách nhận biết model đang chạy GPU hay CPU
Có thể kiểm tra bằng:
nvidia-smi: xem tiến trình dùng GPU, VRAM.ollama ps: xem model đang dùng CPU/GPU nếu hiển thị.htop: xem CPU load.nvtop: xem GPU realtime.- Log thời gian phản hồi.
Nếu CPU lên cao nhưng GPU thấp, có thể model chưa dùng GPU đúng hoặc đang offload nhiều.
11. Kết luận
GPU nên dành cho LLM tương tác và sinh văn bản cần tốc độ. CPU phù hợp với xử lý dữ liệu, FAISS, API, batch, script và tác vụ nền. Với bệnh viện, chiến lược tốt là dùng GPU cho trải nghiệm người dùng, dùng CPU/RAM lớn cho RAG và xử lý tài liệu, đồng thời lập lịch batch ngoài giờ để tránh tranh tài nguyên. Không phải mọi thứ đều cần GPU, nhưng chatbot muốn nhanh thì GPU là yếu tố rất quan trọng.
- Đăng nhập để gửi ý kiến