TECHDEV · Flagship · Công cụ open-source
servefit
Trước khi thuê GPU, hãy xem bản đồ. Tiêu đề báo chí ghi "production inference engine" và mặc định 64 chiếc GPU Blackwell. Thực tế: DeepInfer gom ~19k star trong một tuần (quét GitHub Trending 2026-10-28) trong khi chỉ phục vụ đúng một model — DeepSeek-V4.1-Flash — trên chip SM100+ hoặc Ascend 950, chạy offline-only, không có hệ thống KV-cache, không PD disaggregation, không load balancing (đối chiếu với upstream repo ngày 2026-11-01). servefit kiểm kê phần cứng của bạn, tính memory math cho model, đối chiếu engine-support matrix có ngày kiểm chứng, và cho biết bạn thật sự serve được gì — và bằng công cụ nào.
Python · CLI · Apache-2.0 · Python 3.10+ · Zero dependency. Chạy offline với --local <model-dir> hoặc --params/--layers/--kv-heads khai báo tay. Trước khi có bản release trên PyPI: pip install git+https://github.com/techdevfun/servefit.
Bài toán nó giải
OOM killer là một capacity planner rất tệ. Chọn LLM serving engine đồng nghĩa với việc gom ba sự thật thường không nằm cùng một chỗ: bạn thật sự có phần cứng gì, model tốn bao nhiêu bộ nhớ ở context length của bạn, và engine nào thật sự chạy được trên tổ hợp đó. servefit trả lời đúng câu đó: servefit inventory đọc nvidia-smi (GPU, VRAM, compute capability kèm name fallback) cộng rocm-smi cho AMD và CPU/RAM — Apple Silicon được báo là detected-with-limits, không bao giờ đoán mò — rồi servefit fit --model Qwen/Qwen3-8B tính weights + KV cache + overhead với mọi giả định in ra đầy đủ, chọn engine khả thi từ matrix 6 engine đã kiểm chứng, và đưa một đề xuất kèm lý do cộng một starter config cho engine đó.
Ba lệnh
| Lệnh | Tác dụng |
|---|---|
servefit inventory [--from saved.json] | Kiểm kê phần cứng: GPU, VRAM, compute capability, CPU/RAM. --from để lập kế hoạch mua máy trước khi máy tồn tại. |
servefit fit --model <hf-id-or-label> | Tính memory math + chọn engine khả thi từ matrix có ngày kiểm chứng + một đề xuất + starter config. Luôn kèm lý do, không bao giờ im lặng. |
servefit probe --endpoint <url> --model <id> | Đo TTFT và tokens/sec xấp xỉ trên endpoint OpenAI-compatible đang chạy trên chính máy của bạn. |
Mọi lệnh đều ghi manifest qua --json out.json cho automation. Lệnh chép nguyên từ README servefit (bản 2026-11-01).
pip install git+https://github.com/techdevfun/servefit
servefit inventory
servefit fit --model Qwen/Qwen3-8B
# một đề xuất, mọi giả định in đầy đủMột lần chạy thật
servefit fit --model Qwen/Qwen3-8B trên profile RTX 4090 giả lập:
Memory math: weights 15.3 + KV 4.5 + overhead 1.0 = 20.8 GiB
dtype bf16, ctx 32768, layers 36, kv-heads 8, head-dim 128
RECOMMENDED: SGLang
+ chip: compute_cap 8.9 >= 7.5
+ model: qwen family supported
+ memory: needs ~20.8 GiB, single-GPU VRAM has 24.0 GiB (fits)
Not viable:
[no] DeepInfer
chip: needs NVIDIA SM100 (Blackwell) or Ascend 950
model: qwen not in supported families (deepseek-v4.1-flash-only)Bản demo ghi rõ phần nào là giả lập (inventory chạy trên profile RTX 4090 tổng hợp) và phần nào là kịch bản (probe chạy trên fake server OpenAI-compatible local); số đo timing là của chính máy chạy, được ghi nhãn trung thực.
Phương pháp — nói thẳng
Memory math: weights = params × bytes-per-param; KV cache = 2 × layers × kv_heads × head_dim × context × bytes-per-param; cộng một dòng overhead khai báo. Mọi giả định đều được in ra để bạn phản biện. Fixture tính tay trong test suite (8B bf16: 14,9 GiB weights, 4,5 GiB KV @ 32k, tổng 20,4 GiB) đều khớp; 37 test đều pass, CI trên Python 3.10–3.13. Phần "có ý kiến" nằm ở engine matrix: thứ tự ưu tiên (SGLang > vLLM > TensorRT-LLM > DeepInfer > llama.cpp > Ollama) được gate bằng rule chip, model-family và memory — và matrix có ngày kiểm chứng: mỗi dòng mang check date (bản release đều là 2026-11-01), CI fail nếu dòng nào quá 90 ngày chưa re-verify, nên sự lỗi thời bị ồn ào chứ không bị im lặng.
Đây KHÔNG phải — và đối thủ hơn ta ở đâu
- Nó không tải model và không cấp phát GPU.
- Verdict "fits" không phải chứng chỉ production-readiness. Thành phần production còn thiếu (load balancing, autoscaling, monitoring) được liệt kê theo từng engine chứ không giấu — README deployment của bạn vẫn cần chúng.
- Nó không thay thế profiling. Memory math đưa bạn tới đúng engine; throughput thật phải đo trên workload của bạn. Số probe là số của máy bạn trong điều kiện của bạn, không phải benchmark tuyên bố về engine (token probe là xấp xỉ whitespace-split, ghi nhãn trong output — không phải tokenizer của model).
- Apple Silicon: VRAM GPU được báo unknown theo thiết kế; đề xuất nghiêng về llama.cpp/Ollama kèm ghi chú kiểm RAM tay.
- Matrix là một snapshot. Phần cứng đổi nhanh; mọi đề xuất đều mang check date. Re-verify trước khi chi tiền.
- So sánh trung thực (kiểm tra 2026-11-01): trang model và hub calculator của Hugging Face hơn ở độ tươi dữ liệu và độ phủ model — model mới có arch ngay ngày ra mắt; servefit chỉ duy trì một engine matrix tuyển chọn. Tài liệu từng engine (vLLM, SGLang, TensorRT-LLM) hơn ở độ sâu: toàn bộ config surface, tuning hiệu năng, guide multi-node; servefit chỉ đưa một starter config, không phải cuốn manual. DeepInfer hơn ở đúng thứ nó được sinh ra để làm: serve DeepSeek-V4.1-Flash thật nhanh trên phần cứng SM100/Ascend — matrix của servefit loại nó khỏi mọi trường hợp còn lại một cách đúng đắn, và đó chính là ý nghĩa của bản đồ.
Mã nguồn + README trên GitHub → · Báo lỗi → · ask@techdev.fun
Lộ trình
- Thêm engine, mỗi engine là một dòng có check date mới
- Topology multi-GPU/NUMA (đề xuất TP/PP split, không chỉ cộng tổng)
- KV math có tính concurrency (per-request sequence, không chỉ single-sequence)
servefit compare --models a,b: bảng fit so sánh side-by-side- Chế độ
servefit watchre-check matrix theo lịch
Giấy phép
Apache-2.0. Xem LICENSE trong repo.
Công cụ liên quan
Thêm công cụ open-source từ TECHDEV: diffgate, sessguard, runverdict, gheist-guard, context-diet, ci-failure-detective, agent-seatbelt, devsecops-os, env-doctor, skill-audit, logtrim, testguard, breakcheck, keymap, memgraph, ggufit, leaseguard, factfence, jsonfold
Có ý kiến?
Bình chọn cho công cụ này, đề xuất tính năng, hoặc thảo luận với các operator khác trên community board.