[CI] Install sgl-eval from PyPI through the test extra (#37504)
This commit is contained in:
@@ -104,7 +104,7 @@ export const config = {
|
|||||||
// in _deployment.jsx + the per-cell/defaultAccuracy keys.
|
// in _deployment.jsx + the per-cell/defaultAccuracy keys.
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 32`,
|
--num-threads 32`,
|
||||||
|
|||||||
@@ -119,8 +119,6 @@ jobs:
|
|||||||
UV_SYSTEM_PYTHON: "1"
|
UV_SYSTEM_PYTHON: "1"
|
||||||
run: |
|
run: |
|
||||||
uv pip install -e "python[dev]" --index-strategy unsafe-best-match --prerelease allow
|
uv pip install -e "python[dev]" --index-strategy unsafe-best-match --prerelease allow
|
||||||
source scripts/ci/utils/sgl_eval_ref.sh
|
|
||||||
uv pip install "$SGL_EVAL_SPEC" --index-strategy unsafe-best-match
|
|
||||||
|
|
||||||
# Hosted runners are ephemeral, so models are re-fetched every run and the
|
# Hosted runners are ephemeral, so models are re-fetched every run and the
|
||||||
# Hub occasionally returns 429s. Persist the HF cache in GitHub's cache
|
# Hub occasionally returns 429s. Persist the HF cache in GitHub's cache
|
||||||
|
|||||||
@@ -43,8 +43,7 @@ RUN source /opt/.venv/bin/activate && \
|
|||||||
cd sglang/kernels/aot && \
|
cd sglang/kernels/aot && \
|
||||||
cp pyproject_cpu.toml pyproject.toml && \
|
cp pyproject_cpu.toml pyproject.toml && \
|
||||||
uv pip install . && \
|
uv pip install . && \
|
||||||
source /sgl-workspace/sglang/scripts/ci/utils/sgl_eval_ref.sh && \
|
uv pip install "sgl-eval==0.1.0"
|
||||||
uv pip install "$SGL_EVAL_SPEC"
|
|
||||||
|
|
||||||
ENV SGLANG_USE_CPU_ENGINE=1
|
ENV SGLANG_USE_CPU_ENGINE=1
|
||||||
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4:/usr/lib/x86_64-linux-gnu/libtbbmalloc.so:/opt/.venv/lib/libiomp5.so
|
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4:/usr/lib/x86_64-linux-gnu/libtbbmalloc.so:/opt/.venv/lib/libiomp5.so
|
||||||
|
|||||||
@@ -849,7 +849,7 @@ Results on AIME 2025 (8×B200), evaluated with [sgl-eval](https://github.com/sgl
|
|||||||
**Reproduction.** Install [sgl-eval](https://github.com/sgl-project/sgl-eval), launch the server with the tool-call and reasoning parsers, then run `sgl-eval run`. The AIME 2025 dataset ships with sgl-eval, and thinking is on by default for it:
|
**Reproduction.** Install [sgl-eval](https://github.com/sgl-project/sgl-eval), launch the server with the tool-call and reasoning parsers, then run `sgl-eval run`. The AIME 2025 dataset ships with sgl-eval, and thinking is on by default for it:
|
||||||
|
|
||||||
```bash Command
|
```bash Command
|
||||||
pip install git+https://github.com/sgl-project/sgl-eval.git
|
pip install sgl-eval
|
||||||
|
|
||||||
sgl-eval run aime25 \
|
sgl-eval run aime25 \
|
||||||
--base-url http://localhost:30000/v1 \
|
--base-url http://localhost:30000/v1 \
|
||||||
|
|||||||
@@ -1455,7 +1455,7 @@ Median ITL (ms): 15.11
|
|||||||
Reproduce against a running server (`--base-url` points at your endpoint):
|
Reproduce against a running server (`--base-url` points at your endpoint):
|
||||||
|
|
||||||
```bash Command
|
```bash Command
|
||||||
pip install git+https://github.com/sgl-project/sgl-eval
|
pip install sgl-eval
|
||||||
|
|
||||||
# Sanity-check the endpoint
|
# Sanity-check the endpoint
|
||||||
sgl-eval ping --base-url http://localhost:30000/v1
|
sgl-eval ping --base-url http://localhost:30000/v1
|
||||||
|
|||||||
@@ -497,7 +497,7 @@ This section uses **industry-standard configurations** for comparable benchmark
|
|||||||
- Prompt: `eval/aai/mcq-4choices` (4-choice multiple choice, matching [Artificial Analysis methodology](https://artificialanalysis.ai/methodology/intelligence-benchmarking)) -- sgl-eval's default for this benchmark
|
- Prompt: `eval/aai/mcq-4choices` (4-choice multiple choice, matching [Artificial Analysis methodology](https://artificialanalysis.ai/methodology/intelligence-benchmarking)) -- sgl-eval's default for this benchmark
|
||||||
- Evaluation command:
|
- Evaluation command:
|
||||||
```bash Command
|
```bash Command
|
||||||
pip install git+https://github.com/sgl-project/sgl-eval.git
|
pip install sgl-eval
|
||||||
|
|
||||||
sgl-eval run gpqa \
|
sgl-eval run gpqa \
|
||||||
--base-url http://localhost:30000/v1 \
|
--base-url http://localhost:30000/v1 \
|
||||||
|
|||||||
@@ -628,7 +628,7 @@ python tool_calls_eval.py tool-calls/samples.jsonl \
|
|||||||
**Evaluation Command:**
|
**Evaluation Command:**
|
||||||
|
|
||||||
```shell Command
|
```shell Command
|
||||||
pip install git+https://github.com/sgl-project/sgl-eval.git
|
pip install sgl-eval
|
||||||
|
|
||||||
# The dataset ships with sgl-eval; --n-repeats runs all 32 samples per problem.
|
# The dataset ships with sgl-eval; --n-repeats runs all 32 samples per problem.
|
||||||
sgl-eval run aime25 \
|
sgl-eval run aime25 \
|
||||||
|
|||||||
@@ -71,26 +71,26 @@ export const config = {
|
|||||||
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}}`,
|
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}}`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--model {{MODEL_NAME}} \\
|
--model {{MODEL_NAME}} \\
|
||||||
--num-threads 128`,
|
--num-threads 128`,
|
||||||
gpqa_pct:
|
gpqa_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
# GPQA's HF dataset (Idavidrein/gpqa) is gated — accept its terms with your HF account first.
|
# GPQA's HF dataset (Idavidrein/gpqa) is gated — accept its terms with your HF account first.
|
||||||
sgl-eval run gpqa \\
|
sgl-eval run gpqa \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--model {{MODEL_NAME}} \\
|
--model {{MODEL_NAME}} \\
|
||||||
--num-threads 128`,
|
--num-threads 128`,
|
||||||
mmlu_pct:
|
mmlu_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run mmlu \\
|
sgl-eval run mmlu \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--model {{MODEL_NAME}} \\
|
--model {{MODEL_NAME}} \\
|
||||||
--num-threads 128`,
|
--num-threads 128`,
|
||||||
aime25_pct:
|
aime25_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run aime25 \\
|
sgl-eval run aime25 \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--model {{MODEL_NAME}} \\
|
--model {{MODEL_NAME}} \\
|
||||||
|
|||||||
@@ -61,21 +61,21 @@ export const config = {
|
|||||||
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}}`,
|
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}}`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`pip install git+https://github.com/sgl-project/sgl-eval
|
`pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--model {{MODEL_NAME}} \\
|
--model {{MODEL_NAME}} \\
|
||||||
--temperature 1.0 --top-p 0.95 \\
|
--temperature 1.0 --top-p 0.95 \\
|
||||||
--thinking`,
|
--thinking`,
|
||||||
gpqa_pct:
|
gpqa_pct:
|
||||||
`pip install git+https://github.com/sgl-project/sgl-eval
|
`pip install sgl-eval
|
||||||
sgl-eval run gpqa \\
|
sgl-eval run gpqa \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--model {{MODEL_NAME}} \\
|
--model {{MODEL_NAME}} \\
|
||||||
--temperature 1.0 --top-p 0.95 \\
|
--temperature 1.0 --top-p 0.95 \\
|
||||||
--thinking --n-repeats 4 --max-tokens 40960`,
|
--thinking --n-repeats 4 --max-tokens 40960`,
|
||||||
mmmu_pro_pct:
|
mmmu_pro_pct:
|
||||||
`pip install git+https://github.com/sgl-project/sgl-eval
|
`pip install sgl-eval
|
||||||
sgl-eval run mmmu_pro \\
|
sgl-eval run mmmu_pro \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--model {{MODEL_NAME}} \\
|
--model {{MODEL_NAME}} \\
|
||||||
|
|||||||
@@ -98,13 +98,13 @@ export const config = {
|
|||||||
--warmup-requests 64 --flush-cache`,
|
--warmup-requests 64 --flush-cache`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 32`,
|
--num-threads 32`,
|
||||||
gpqa_pct: {
|
gpqa_pct: {
|
||||||
flash:
|
flash:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gpqa \\
|
sgl-eval run gpqa \\
|
||||||
--model {{MODEL_NAME}} --api-key <api-key> \\
|
--model {{MODEL_NAME}} --api-key <api-key> \\
|
||||||
--n-repeats 16 --max-tokens 200000 \\
|
--n-repeats 16 --max-tokens 200000 \\
|
||||||
@@ -112,7 +112,7 @@ sgl-eval run gpqa \\
|
|||||||
--out-dir /sgl-workspace/logs \\
|
--out-dir /sgl-workspace/logs \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1`,
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1`,
|
||||||
"flash-official":
|
"flash-official":
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gpqa \\
|
sgl-eval run gpqa \\
|
||||||
--model {{MODEL_NAME}} --api-key <api-key> \\
|
--model {{MODEL_NAME}} --api-key <api-key> \\
|
||||||
--n-repeats 16 --max-tokens 200000 \\
|
--n-repeats 16 --max-tokens 200000 \\
|
||||||
@@ -120,7 +120,7 @@ sgl-eval run gpqa \\
|
|||||||
--out-dir /sgl-workspace/logs \\
|
--out-dir /sgl-workspace/logs \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1`,
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1`,
|
||||||
pro:
|
pro:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gpqa \\
|
sgl-eval run gpqa \\
|
||||||
--model {{MODEL_NAME}} --api-key <api-key> \\
|
--model {{MODEL_NAME}} --api-key <api-key> \\
|
||||||
--n-repeats 16 --max-tokens 400000 \\
|
--n-repeats 16 --max-tokens 400000 \\
|
||||||
@@ -130,7 +130,7 @@ sgl-eval run gpqa \\
|
|||||||
},
|
},
|
||||||
aime25_pct: {
|
aime25_pct: {
|
||||||
"flash-official":
|
"flash-official":
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run aime25 \\
|
sgl-eval run aime25 \\
|
||||||
--model {{MODEL_NAME}} --api-key <api-key> \\
|
--model {{MODEL_NAME}} --api-key <api-key> \\
|
||||||
--n-repeats 16 --max-tokens 200000 \\
|
--n-repeats 16 --max-tokens 200000 \\
|
||||||
@@ -138,7 +138,7 @@ sgl-eval run aime25 \\
|
|||||||
--out-dir /sgl-workspace/logs \\
|
--out-dir /sgl-workspace/logs \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1`,
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1`,
|
||||||
flash:
|
flash:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run aime25 \\
|
sgl-eval run aime25 \\
|
||||||
--model {{MODEL_NAME}} --api-key <api-key> \\
|
--model {{MODEL_NAME}} --api-key <api-key> \\
|
||||||
--n-repeats 16 --max-tokens 200000 \\
|
--n-repeats 16 --max-tokens 200000 \\
|
||||||
@@ -146,7 +146,7 @@ sgl-eval run aime25 \\
|
|||||||
--out-dir /sgl-workspace/logs \\
|
--out-dir /sgl-workspace/logs \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1`,
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1`,
|
||||||
pro:
|
pro:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run aime25 \\
|
sgl-eval run aime25 \\
|
||||||
--model {{MODEL_NAME}} --api-key <api-key> \\
|
--model {{MODEL_NAME}} --api-key <api-key> \\
|
||||||
--n-repeats 16 --max-tokens 400000 \\
|
--n-repeats 16 --max-tokens 400000 \\
|
||||||
@@ -156,7 +156,7 @@ sgl-eval run aime25 \\
|
|||||||
},
|
},
|
||||||
mmmu_pro_pct: {
|
mmmu_pro_pct: {
|
||||||
"flash-vision":
|
"flash-vision":
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run mmmu_pro \\
|
sgl-eval run mmmu_pro \\
|
||||||
--reasoning-effort max \\
|
--reasoning-effort max \\
|
||||||
--temperature 1.0 --top-p 0.95 \\
|
--temperature 1.0 --top-p 0.95 \\
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ export const config = {
|
|||||||
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}} \\
|
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}} \\
|
||||||
--flush-cache`,
|
--flush-cache`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct: `# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
gsm8k_pct: `# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 32`,
|
--num-threads 32`,
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ export const config = {
|
|||||||
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}} \\
|
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}} \\
|
||||||
--flush-cache`,
|
--flush-cache`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct: `# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
gsm8k_pct: `# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 32 \\
|
--num-threads 32 \\
|
||||||
|
|||||||
@@ -51,12 +51,12 @@ export const config = {
|
|||||||
--warmup-requests 8 --flush-cache`,
|
--warmup-requests 8 --flush-cache`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 32`,
|
--num-threads 32`,
|
||||||
gpqa_pct:
|
gpqa_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gpqa \\
|
sgl-eval run gpqa \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 16`,
|
--num-threads 16`,
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ export const config = {
|
|||||||
--warmup-requests 64 --flush-cache`,
|
--warmup-requests 64 --flush-cache`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 32`,
|
--num-threads 32`,
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ export const config = {
|
|||||||
--flush-cache`,
|
--flush-cache`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 32`,
|
--num-threads 32`,
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ export const config = {
|
|||||||
// (AIME 25 to be added back once truncation-free numbers are measured.)
|
// (AIME 25 to be added back once truncation-free numbers are measured.)
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# pip install git+https://github.com/sgl-project/sgl-eval
|
`# pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 128`,
|
--num-threads 128`,
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ export const config = {
|
|||||||
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}}`,
|
--num-prompts {{NUM_PROMPTS}} --max-concurrency {{MAX_CONCURRENCY}}`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# pip install git+https://github.com/sgl-project/sgl-eval
|
`# pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 128`,
|
--num-threads 128`,
|
||||||
@@ -80,7 +80,7 @@ sgl-eval run gsm8k \\
|
|||||||
// Serve with a copy of the model's chat template whose enable_thinking default
|
// Serve with a copy of the model's chat template whose enable_thinking default
|
||||||
// is flipped to true. For BF16: use --max-tokens 131072 (see Configuration Tips).
|
// is flipped to true. For BF16: use --max-tokens 131072 (see Configuration Tips).
|
||||||
aime25_pct:
|
aime25_pct:
|
||||||
`# pip install git+https://github.com/sgl-project/sgl-eval
|
`# pip install sgl-eval
|
||||||
# Serve with an enable_thinking=true chat template (see Configuration Tips: Thinking).
|
# Serve with an enable_thinking=true chat template (see Configuration Tips: Thinking).
|
||||||
# For BF16: use --max-tokens 131072 (see Configuration Tips: BF16 reasoning length).
|
# For BF16: use --max-tokens 131072 (see Configuration Tips: BF16 reasoning length).
|
||||||
sgl-eval run aime25 \\
|
sgl-eval run aime25 \\
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ export const config = {
|
|||||||
// GSM8K is the required accuracy sanity on every verified cell (cookbook_guide §3), via sgl-eval.
|
// GSM8K is the required accuracy sanity on every verified cell (cookbook_guide §3), via sgl-eval.
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# pip install git+https://github.com/sgl-project/sgl-eval
|
`# pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 128`,
|
--num-threads 128`,
|
||||||
@@ -121,7 +121,7 @@ sgl-eval run gsm8k \\
|
|||||||
// AIME25 with thinking, serve with a copy of the model's chat template whose
|
// AIME25 with thinking, serve with a copy of the model's chat template whose
|
||||||
// enable_thinking default is flipped to true, passed via --chat-template.
|
// enable_thinking default is flipped to true, passed via --chat-template.
|
||||||
aime25_pct:
|
aime25_pct:
|
||||||
`# pip install git+https://github.com/sgl-project/sgl-eval
|
`# pip install sgl-eval
|
||||||
# Serve with an enable_thinking=true chat template (see Configuration Tips: Thinking).
|
# Serve with an enable_thinking=true chat template (see Configuration Tips: Thinking).
|
||||||
sgl-eval run aime25 \\
|
sgl-eval run aime25 \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
|
|||||||
@@ -62,12 +62,12 @@ export const config = {
|
|||||||
--warmup-requests 64`,
|
--warmup-requests 64`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 32`,
|
--num-threads 32`,
|
||||||
aime26_pct:
|
aime26_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run aime26 \\
|
sgl-eval run aime26 \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--model {{MODEL_NAME}} --api-key <api-key> \\
|
--model {{MODEL_NAME}} --api-key <api-key> \\
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ export const config = {
|
|||||||
// GSM8K harness — keep these exact settings for comparability across runs.
|
// GSM8K harness — keep these exact settings for comparability across runs.
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--model {{MODEL_NAME}} \\
|
--model {{MODEL_NAME}} \\
|
||||||
|
|||||||
@@ -63,12 +63,12 @@ export const config = {
|
|||||||
--warmup-requests 64 --flush-cache`,
|
--warmup-requests 64 --flush-cache`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 32`,
|
--num-threads 32`,
|
||||||
aime25_pct:
|
aime25_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run aime25 \\
|
sgl-eval run aime25 \\
|
||||||
--model {{MODEL_NAME}} --api-key <api-key> \\
|
--model {{MODEL_NAME}} --api-key <api-key> \\
|
||||||
--n-repeats 16 --max-tokens 64000 \\
|
--n-repeats 16 --max-tokens 64000 \\
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ python3 -m sglang.bench_serving \\
|
|||||||
numPromptsByConc: { 1: 16, 16: 80, 64: 320, 256: 1280, 1024: 5120 },
|
numPromptsByConc: { 1: 16, 16: 80, 64: 320, 256: 1280, 1024: 5120 },
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--model {{MODEL_NAME}} \\
|
--model {{MODEL_NAME}} \\
|
||||||
|
|||||||
@@ -61,12 +61,12 @@ export const config = {
|
|||||||
--warmup-requests 64 --flush-cache`,
|
--warmup-requests 64 --flush-cache`,
|
||||||
accuracy: {
|
accuracy: {
|
||||||
gsm8k_pct:
|
gsm8k_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run gsm8k \\
|
sgl-eval run gsm8k \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1 \\
|
||||||
--num-threads 32`,
|
--num-threads 32`,
|
||||||
aime26_pct:
|
aime26_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run aime26 \\
|
sgl-eval run aime26 \\
|
||||||
--model {{MODEL_NAME}} --api-key <api-key> \\
|
--model {{MODEL_NAME}} --api-key <api-key> \\
|
||||||
--n-repeats 16 --max-tokens 64000 \\
|
--n-repeats 16 --max-tokens 64000 \\
|
||||||
@@ -74,7 +74,7 @@ sgl-eval run aime26 \\
|
|||||||
--out-dir /sgl-workspace/logs \\
|
--out-dir /sgl-workspace/logs \\
|
||||||
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1`,
|
--base-url http://{{CURL_HOST}}:{{CURL_PORT}}/v1`,
|
||||||
aime25_pct:
|
aime25_pct:
|
||||||
`# To install sgl-eval: pip install git+https://github.com/sgl-project/sgl-eval
|
`# To install sgl-eval: pip install sgl-eval
|
||||||
sgl-eval run aime25 \\
|
sgl-eval run aime25 \\
|
||||||
--model {{MODEL_NAME}} --api-key <api-key> \\
|
--model {{MODEL_NAME}} --api-key <api-key> \\
|
||||||
--n-repeats 16 --max-tokens 64000 \\
|
--n-repeats 16 --max-tokens 64000 \\
|
||||||
|
|||||||
@@ -172,11 +172,8 @@ test = [
|
|||||||
"lm-eval[api]>=0.4.9.2",
|
"lm-eval[api]>=0.4.9.2",
|
||||||
"matplotlib",
|
"matplotlib",
|
||||||
# 4.9.3 is what sgl-eval's math_verify grader needs (latex2sympy2_extended
|
# 4.9.3 is what sgl-eval's math_verify grader needs (latex2sympy2_extended
|
||||||
# raises ImportError on 4.7.x), so a `sglang[test]` environment is already
|
# raises ImportError on 4.7.x); pinned here so other test deps cannot pull
|
||||||
# compatible when sgl-eval is installed on top of it.
|
# it down.
|
||||||
# Do NOT declare sgl-eval itself here: it is git-only, and PyPI rejects any
|
|
||||||
# uploaded distribution whose metadata carries a direct URL requirement.
|
|
||||||
# CUDA CI installs it in scripts/ci/cuda/ci_install_dependency.sh.
|
|
||||||
"antlr4-python3-runtime==4.9.3",
|
"antlr4-python3-runtime==4.9.3",
|
||||||
"pandas",
|
"pandas",
|
||||||
"parameterized",
|
"parameterized",
|
||||||
@@ -185,6 +182,10 @@ test = [
|
|||||||
"pytest",
|
"pytest",
|
||||||
"pytest-cov",
|
"pytest-cov",
|
||||||
"sentence_transformers",
|
"sentence_transformers",
|
||||||
|
# Pinned: a bump moves scoring for every eval test at once, so re-baseline
|
||||||
|
# MODEL_SCORE_THRESHOLDS in test/registered/eval/test_text_models_gsm8k_eval.py
|
||||||
|
# and the mmlu thresholds of run_eval's other callers before changing it.
|
||||||
|
"sgl-eval==0.1.0",
|
||||||
"sglang[fastokens]",
|
"sglang[fastokens]",
|
||||||
"tabulate",
|
"tabulate",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -109,6 +109,7 @@ test = [
|
|||||||
"pandas",
|
"pandas",
|
||||||
"peft>=0.18.0",
|
"peft>=0.18.0",
|
||||||
"sentence_transformers",
|
"sentence_transformers",
|
||||||
|
"sgl-eval==0.1.0",
|
||||||
]
|
]
|
||||||
all = []
|
all = []
|
||||||
dev = ["sglang[test]"]
|
dev = ["sglang[test]"]
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ test = [
|
|||||||
"peft>=0.18.0",
|
"peft>=0.18.0",
|
||||||
"pytest",
|
"pytest",
|
||||||
"sentence_transformers",
|
"sentence_transformers",
|
||||||
|
"sgl-eval==0.1.0",
|
||||||
"tabulate",
|
"tabulate",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ test = [
|
|||||||
"peft>=0.18.0,<0.19.0", # Pin to <0.19.0 due to torchao incompatibility
|
"peft>=0.18.0,<0.19.0", # Pin to <0.19.0 due to torchao incompatibility
|
||||||
"pytest",
|
"pytest",
|
||||||
"sentence_transformers",
|
"sentence_transformers",
|
||||||
|
"sgl-eval==0.1.0",
|
||||||
"tabulate",
|
"tabulate",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ def _run_sgl_eval(
|
|||||||
asserts the score meets ``score_threshold``, and checks the speculative accept
|
asserts the score meets ``score_threshold``, and checks the speculative accept
|
||||||
length. ``thinking=True`` sends per-request ``chat_template_kwargs={"thinking":
|
length. ``thinking=True`` sends per-request ``chat_template_kwargs={"thinking":
|
||||||
True}`` so the server separates reasoning from the final answer. Skips the test
|
True}`` so the server separates reasoning from the final answer. Skips the test
|
||||||
if sgl-eval (git-only) is not installed. Returns the RunResult.
|
if sgl-eval is not installed. Returns the RunResult.
|
||||||
"""
|
"""
|
||||||
assert (
|
assert (
|
||||||
score_threshold == score_threshold
|
score_threshold == score_threshold
|
||||||
@@ -122,10 +122,7 @@ def _run_sgl_eval(
|
|||||||
from sgl_eval.sampler import ChatCompletionSampler
|
from sgl_eval.sampler import ChatCompletionSampler
|
||||||
from sgl_eval.types import GenConfig
|
from sgl_eval.types import GenConfig
|
||||||
except ImportError:
|
except ImportError:
|
||||||
test_case.skipTest(
|
test_case.skipTest("sgl-eval not installed; pip install 'sglang[test]'")
|
||||||
"sgl-eval not installed; pip install "
|
|
||||||
"'sgl-eval @ git+https://github.com/sgl-project/sgl-eval'"
|
|
||||||
)
|
|
||||||
|
|
||||||
base_url = test_case.base_url.rstrip("/")
|
base_url = test_case.base_url.rstrip("/")
|
||||||
if not base_url.endswith("/v1"):
|
if not base_url.endswith("/v1"):
|
||||||
|
|||||||
@@ -187,10 +187,6 @@ else
|
|||||||
install_with_retry docker exec ci_sglang pip install --cache-dir=/sgl-data/pip-cache -e "python[${EXTRAS}]"
|
install_with_retry docker exec ci_sglang pip install --cache-dir=/sgl-data/pip-cache -e "python[${EXTRAS}]"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# shellcheck source=scripts/ci/utils/sgl_eval_ref.sh
|
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../utils/sgl_eval_ref.sh"
|
|
||||||
install_with_retry docker exec ci_sglang pip install --cache-dir=/sgl-data/pip-cache "$SGL_EVAL_SPEC"
|
|
||||||
|
|
||||||
if [[ -n "${SKIP_TT_DEPS}" ]]; then
|
if [[ -n "${SKIP_TT_DEPS}" ]]; then
|
||||||
echo "Didn't build lmms_eval, human-eval, and others"
|
echo "Didn't build lmms_eval, human-eval, and others"
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -726,8 +726,6 @@ stabilize_flashinfer_jit_paths() {
|
|||||||
install_extra_deps() {
|
install_extra_deps() {
|
||||||
MOONCAKE_VERSION="0.3.13"
|
MOONCAKE_VERSION="0.3.13"
|
||||||
NIXL_VERSION="1.3.0"
|
NIXL_VERSION="1.3.0"
|
||||||
# shellcheck source=scripts/ci/utils/sgl_eval_ref.sh
|
|
||||||
source "${SCRIPT_DIR}/../utils/sgl_eval_ref.sh"
|
|
||||||
if [ "$CU_MAJOR" = "13" ]; then
|
if [ "$CU_MAJOR" = "13" ]; then
|
||||||
MOONCAKE_PKG="mooncake-transfer-engine-cuda13==${MOONCAKE_VERSION}"
|
MOONCAKE_PKG="mooncake-transfer-engine-cuda13==${MOONCAKE_VERSION}"
|
||||||
MOONCAKE_STALE_PKG="mooncake-transfer-engine"
|
MOONCAKE_STALE_PKG="mooncake-transfer-engine"
|
||||||
@@ -763,8 +761,6 @@ install_extra_deps() {
|
|||||||
--no-deps --force-reinstall $PIP_INSTALL_SUFFIX
|
--no-deps --force-reinstall $PIP_INSTALL_SUFFIX
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$PIP_CMD install "$SGL_EVAL_SPEC" $PIP_INSTALL_SUFFIX
|
|
||||||
|
|
||||||
if [ "$IS_BLACKWELL" != "1" ]; then
|
if [ "$IS_BLACKWELL" != "1" ]; then
|
||||||
git clone --branch v0.5 --depth 1 https://github.com/EvolvingLMMs-Lab/lmms-eval.git
|
git clone --branch v0.5 --depth 1 https://github.com/EvolvingLMMs-Lab/lmms-eval.git
|
||||||
$PIP_CMD install -e lmms-eval/ $PIP_INSTALL_SUFFIX
|
$PIP_CMD install -e lmms-eval/ $PIP_INSTALL_SUFFIX
|
||||||
|
|||||||
@@ -79,8 +79,3 @@ rm -rf cann-custom-ops
|
|||||||
### Install SGLang
|
### Install SGLang
|
||||||
rm -rf python/pyproject.toml && mv python/pyproject_npu.toml python/pyproject.toml
|
rm -rf python/pyproject.toml && mv python/pyproject_npu.toml python/pyproject.toml
|
||||||
${UV_PIP_INSTALL} -v -e "python[dev_npu]"
|
${UV_PIP_INSTALL} -v -e "python[dev_npu]"
|
||||||
|
|
||||||
### Install sgl-eval
|
|
||||||
# shellcheck source=scripts/ci/utils/sgl_eval_ref.sh
|
|
||||||
source "${SCRIPT_DIR}/../utils/sgl_eval_ref.sh"
|
|
||||||
${UV_PIP_INSTALL} "$SGL_EVAL_SPEC"
|
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
# Single source of truth for the sgl-eval commit every CI variant installs.
|
|
||||||
# Meant to be sourced, not executed -- each variant then installs
|
|
||||||
# "$SGL_EVAL_SPEC" with its own pip invocation, since those differ (uv pip on
|
|
||||||
# CUDA/CPU, `docker exec ... pip` on AMD, `python3 -m pip` on NPU).
|
|
||||||
#
|
|
||||||
# sgl-eval is git-only and cannot be declared in python/pyproject.toml (see the
|
|
||||||
# note there). Every eval that shells out to the `sgl-eval` CLI fails without
|
|
||||||
# it, and a bump moves scoring for all of them at once -- so re-baseline
|
|
||||||
# MODEL_SCORE_THRESHOLDS in
|
|
||||||
# test/registered/eval/test_text_models_gsm8k_eval.py, and the mmlu thresholds
|
|
||||||
# of run_eval's other callers, before changing this.
|
|
||||||
SGL_EVAL_REF="a231b7a439b235090ff7baa30778fa2b514309ae"
|
|
||||||
SGL_EVAL_SPEC="sgl-eval@git+https://github.com/sgl-project/sgl-eval.git@${SGL_EVAL_REF}"
|
|
||||||
Reference in New Issue
Block a user