We benchmark identical request shapes against three deployments. Our internal
serving config is attached in full (sglang_server_config.json — resolved
SGLang ServerArgs); we'd like the Baseten dedicated deployment to match it.
- SGLang, 4×GB300,
tp=4 dp=4 ep=1,enable_dp_attention=true - model: GLM-5.2-NVFP4 (
quantization=modelopt_fp4),kv_cache_dtype=fp8_e4m3 attention_backend=nsa,moe_runner_backend=flashinfer_trtllmchunked_prefill_size=4096,max_running_requests=1024,mem_fraction_static=0.9- full resolved args: sglang_server_config.json
| phase (bs / in / out) | TML 4×GB300 SGLang | Baseten dedicated GLM-5.2 (womkd9kq) | Baseten serverless Kimi-K3 |
|---|---|---|---|
| single (1 / 256 / 256) | tpot 12.8ms (78 tok/s), ttft 0.24s | tpot 6.5ms (154 tok/s), ttft 0.15s | tpot 14.1ms, ttft 1.0s |
| decode_medium (512 / 256 / 256) | out 11,052 tok/s, ttft 1.9s | out 1,660 tok/s, ttft_med 28.8s | 226/512 ok (286×429), out 1,055 |
| decode_long (16 / 8k / 256) | out 532, in 17.0k tok/s | out 294, in 15.2k | out 91, in 3.3k (16/16 ok) |
| throughput_8k_sat (929 / 8k / 1k) | out 4,136 tok/s, all complete | 492/929 complete, 398×429 + 39 requests hung >30min, ttft_med 114s | 329/929 ok (600×429), ttft_med 9.1s |
Observations:
- Dedicated single-stream decode is excellent (2× ours) but aggregate capacity is ~6.7× below one internal 4-GPU node at bs512, and the deployment sheds/hangs at bs929 despite "no rate limits" (please explain the 429/queue limiter we hit).
- Serverless K3 sheds early via 429 (TPM/RPM caps) but serves accepted requests fast.
| eval | internal 4×GB300 |
|---|---|
| wikitext-loss | ppl 2.923 (nll/tok 1.0727) |
| long-decode-ppl | ppl 2.417 (worst_seg 4.560) |
| pt-mmlu-category 5-shot | 87.9% |
| trivia_qa_pt 5-shot 1k | 86.2% |
We could not run the ppl/logprob evals against Baseten endpoints:
POST /v1/completions with echo:true returns 500 on BOTH serverless and dedicated
(ValidationError.__new__() missing 1 required positional argument: 'line_errors' on dedicated).
logprobs without echo works. Prompt logprobs (echo) are required for ppl scoring.
BASETEN_API_KEY=... BENCH_BASE_URL=<endpoint>/v1 BENCH_MODEL=<model> \
python3 bench_endpoints.py --phases single,decode_medium,decode_long,throughput_8k