Originally published on NextFuture
Bạn cài model local vì nghe "chạy local là miễn phí". Cài xong, gõ một câu hỏi, rồi ngồi đợi tám giây mới thấy ký tự đầu tiên hiện ra.
Miễn phí thì đúng. Nhưng khoảng cách giữa ba lựa chọn miễn phí phổ biến nhất lên tới 4 lần về tốc độ sinh token, và bài đo dưới đây cho bạn đủ số liệu để chọn đúng trong hai phút.
Ba runtime, một máy, cùng một model
Một dev đã chạy cùng một model qua ba lựa chọn miễn phí phổ biến nhất trên cùng một cấu hình: RTX 4060 Ti 16GB, Ryzen 7 7700, 32GB RAM. Model dùng chung là Qwen2.5-Coder-7B-Instruct Q4_K_M, dung lượng 4,7 GB. Tác vụ đo: sinh 500 token code completion, chạy 10 lần, lấy trung vị.
Công cụToken/giâyĐộ trễ token đầuVRAM dùngThời gian cài
Ollama68 t/s0,4s5,8 GB2 phút
LM Studio61 t/s0,5s6,1 GB5 phút (GUI)
HF Inference API (free)~15 t/s thực tế2-8s (hàng đợi)0 (chạy cloud)1 phút
Chi phí của toàn bộ bảng trên, theo tác giả, là 0 USD. Ollama thắng về tốc độ — nhưng cột đáng đọc kỹ không phải cột token/giây, mà là cột độ trễ token đầu tiên.
Vì sao bản free của HF Inference API không nên nằm trong vòng lặp code
Tác giả mô tả bản miễn phí này dùng hàng đợi chung, có rate limit, và model bị unload giữa các lần gọi. Cùng tác vụ sinh 500 token đó, tính theo wall time, mất 20-40 giây.
Tác giả ghi con số 15 t/s là tốc độ "hiệu dụng", đặt cạnh khoảng đợi 2-8 giây cho token đầu tiên. Với một phím tắt autocomplete, độ trễ đó đủ để bạn tự gõ xong đoạn code trước khi gợi ý kịp về.
Chỗ hợp lý của nó: thử một model xem có vừa ý không, trước khi tải 8 GB về đĩa. Tác giả cũng chỉ ra một tài nguyên free khác của Hugging Face mà theo họ bị đánh giá thấp — Spaces với ZeroGPU, nơi community space được cấp thời lượng A10G miễn phí; họ cho biết đã chạy Flux và Whisper qua Gradio Spaces trong nhiều tuần với chi phí 0 USD và phần lớn thời gian không phải xếp hàng.
Ollama và LM Studio: 7 token/giây có đáng để đổi GUI không
Khoảng cách giữa hai công cụ local là 7 t/s (khoảng 10%), 0,3 GB VRAM và ba phút cài đặt. Tác giả nhận định LM Studio dùng chung llama.cpp bên dưới, chỉ khác ở giao diện và ở default đặt hơi chậm hơn.
Điểm thực sự tách hai công cụ này với dev là API. Ollama phơi endpoint tương thích OpenAI ở localhost:11434/v1, nên mọi thư viện bạn đã viết cho OpenAI chỉ cần đổi base_url:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama",
)
resp = client.chat.completions.create(
model="qwen2.5-coder:7b",
messages=[{"role": "user", "content": "Write a Python LRU cache"}],
)
print(resp.choices[0].message.content)
Đoạn trên là ví dụ minh hoạ theo cấu hình tác giả mô tả. Nếu team bạn đã có sẵn lớp wrapper quanh SDK OpenAI, đổi một dòng base_url là chuyển được toàn bộ tác vụ nhẹ xuống máy local mà không sửa business logic — đây mới là lý do chọn Ollama, không phải 7 t/s.
Autocomplete local có đủ dùng thật không
Tốc độ sinh token chỉ trả lời được một nửa câu hỏi. Nửa còn lại: gợi ý local có đủ tốt để bạn nhận không? Một dev khác đã huỷ GitHub Copilot sau hai năm dùng, thay bằng stack free và theo dõi số liệu trong ba tuần.
Họ chạy Tabby self-host bằng một lệnh Docker với model Qwen2.5-Coder-1.5B trên GPU, rồi trỏ extension VS Code vào localhost:8080. Kết quả họ ghi lại: độ trễ gợi ý khoảng 180ms, so với khoảng 300ms mà Copilot qua API cho họ; tỉ lệ chấp nhận gợi ý 31% trong ba tuần, so với mức lịch sử khoảng 34% của Copilot.
Đọc hai con số đó cạnh nhau: chênh 3 điểm phần trăm về tỉ lệ chấp nhận, đổi lại độ trễ thấp hơn khoảng 3 lần và 240 USD/năm không phải trả. Họ cũng nói thẳng model 1,5B yếu hơn rõ rệt ở các API hiếm, nhưng với boilerplate, test và pattern lặp lại thì gần như không khác.
Với dev Việt, phần đáng giá hơn tiền là dữ liệu: cấu hình Continue trỏ vào Ollama nghĩa là không có token nào rời khỏi máy. Nếu bạn đang làm dự án có ràng buộc NDA hoặc dữ liệu khách hàng, đó là điều kiện cần, không phải tiện ích.
Phần 10% mà stack local vẫn thua
Tác giả của bài đo autocomplete liệt kê ba chỗ họ vẫn thua sau ba tuần: refactor kiến trúc trải trên hơn 10 file, nơi model 7B local mất mạch; kiến thức về framework hiếm, nơi model nhỏ bịa API nhiều hơn; và thời gian setup — họ mất một cuối tuần, trong khi Copilot mất 5 phút.
Ba giới hạn này quyết định cách bố trí thực tế: để model local xử lý phần lặp lại và phần chạm vào code nhạy cảm, giữ model frontier cho các đợt refactor lớn. Đây là phân tích dựa trên các giới hạn vừa nêu, không phải con số đo được.
Nếu bạn cần GPU để fine-tune chứ không phải để code, tác giả bài benchmark đề xuất tier free của Google Colab: một GPU T4 miễn phí trong 12 giờ, chạy Unsloth và QLoRA, mà theo họ đáng hơn thuê GPU 0,50 USD/giờ trong giai đoạn còn thử nghiệm nhiều vòng.
Khung chọn trong hai phút
Trợ lý code hằng ngày: Ollama — 68 t/s, 0,4s tới token đầu, chạy offline.
Thử model mới trước khi tải về: HF Inference API bản free, chấp nhận 20-40 giây mỗi lần.
Fine-tune hoặc batch job, máy không có GPU: Colab free T4 với Unsloth.
Muốn GUI để duyệt model: LM Studio, đổi lấy 7 t/s và 3 phút cài thêm.
Đây là kết luận của tác giả bài đo trên đúng cấu hình máy của họ.
Việc nên làm tuần này
Đo lại trên máy bạn trước khi tin bảng trên: cùng model, cùng độ dài output, chạy 10 lần lấy trung vị — vì 4060 Ti 16GB không phản ánh laptop 8 GB VRAM. Theo dõi thêm một chỉ số bảng trên không có: VRAM còn trống khi editor, browser và model cùng chạy, vì đó mới là lúc token/giây rơi.
This article was originally published on NextFuture. Follow us for more fullstack & AI engineering content.
Top comments (0)