Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Servekit 🧊 → 🔥

Servekit is a kit of optimizations for serving large language models (LLMs) with minimal cold-start latency 🥶. It wraps sglang calls and implements some optimizations.

Currently, it supports fast weight loading for lustre storages like CSCS's capstor and iopsstor ⚡.

Setup

Install directly from GitHub:

pip install git+https://github.com/eth-easl/servekit.git

Or, for local development (editable install, from this directory):

pip install -e .

Usage

servekit launch

servekit launch -- python -m sglang.launch_server --model-path <model> ...

Prepend servekit launch -- to an engine command to enable servekit's optimizations. Currently, we offer:

  • Fast weight loading: loads the weights in a multiprocessing fashion adapted to network storage like Lustre drives (e.g. CSCS capstor and iopsstor) to RAM (/dev/shm) and then to GPU memory.

servekit profile

servekit profile -- python -m sglang.launch_server --model-path <model> ...
servekit profile -- vllm serve <model> --tensor-parallel-size 4 ...

Parses the engine's own log output for phase timings (no engine changes needed) and prints a per-phase duration table once the server is ready.

servekit bench

servekit bench --url http://127.0.0.1:8080 --out bench.json --wait-ready 300

Runs a correctness check (greedy completions on fixed prompts) and a fixed concurrent throughput workload against POST /v1/completions.

Roadmap 👷‍♂️🚧

  • Support Multi-Node fast weight loading
  • Support Pipeline parallelism ()
  • Support vllm fast weight loading

Tests

PYTHONPATH=src python -m pytest tests -q

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages