Buckets:

Jyclette's picture
|
download
raw
2.56 kB
# Benchmark Observations & Notes
*Chef et Dev | Gemma Speed Challenge*
---
## Infrastructure Notes
### Hardware: NVIDIA A10G 24GB
- Compute capability: 8.9
- Memory bandwidth: ~378 GB/s
- FP16/BF16 performance: ~156 TFLOPS
- FP8 performance: ~313 TFLOPS (sparse)
### Known Issues Encountered
1. Volume mount failures on HF Jobs (resolved)
2. rope_scaling compatibility with vLLM 0.7.3 (resolved by upgrading to 0.22.0)
3. `--no-enable-log-requests` flag removed in newer vLLM (resolved)
4. FlashInfer not installed in harness image (resolved)
---
## vLLM 0.22.0 Default Configuration
```python
# Default from harness serve.py:
--model google/gemma-4-E4B-it
--served-model-name gemma-4-e4b-it
--host 0.0.0.0
--port 8000
--dtype bfloat16
--max-model-len 4096
--gpu-memory-utilization 0.90
--trust-remote-code
--no-enable-log-requests
--max-num-batched-tokens 512 # (if provided)
```
### What This Means
- **BF16 inference** — standard precision, no quantization yet
- **4096 context** — focused on single-stream, reasonable context length
- **90% GPU memory** — leaves 10% for KV cache + PPL stage
- **512 batched tokens** — bounds prefill chunk size for PPL stability
---
## Expected Performance Tiers
| Tier | TPS | Technique |
|------|-----|-----------|
| Tier 1 | ~300-320 | vLLM default BF16 (vanilla) |
| Tier 2 | ~350-380 | vLLM + FlashInfer + CUDA graphs |
| Tier 3 | ~380-400 | FP8 quantization + optimized vLLM |
| Tier 4 | ~400-416 | AWQ/FP8 + kernel optimizations |
| Frontier | ~416+ | Aggressive combined optimizations |
---
## Optimization Research Priorities
### High Impact (Quick Wins)
1. **FlashInfer installation** — should be automatic with vLLM 0.22.0
2. **CUDA graph warmup** — ensure stable capture before timing
3. **PagedAttention tuning** — max_seq_len_to_capture parameter
### Medium Impact
1. **FP8 quantization** — native A10G support
2. **KV cache quantization** — FP8 KV cache
3. **Scheduler tuning** — delay_factor, num_scheduler_steps
### Lower Impact
1. **AWQ int4** — requires weight conversion
2. **Triton kernels** — manual implementation needed
3. **FlashAttention-3** — needs custom install
---
## PPL Stage Requirements (MUST comply)
- Endpoint must support `/v1/completions`
- Must accept `prompt` as list of int token IDs
- Must accept `prompt_logprobs`
- Must respect `add_special_tokens: false`
- Must return `prompt_logprobs` in response
- Must support `return_token_ids: true`
- Greedy decode must match reference exactly
---
*Last updated: 2026-06-11 by chef-et-dev*

Xet Storage Details

Size:
2.56 kB
·
Xet hash:
6f813505d01c8ca1ef21baf2cdfec99d8275402b9597711e5e0525fdd895108d

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.