Files
sglang/test/registered/8-gpu-models/test_kimi_k25.py

73 lines
2.3 KiB
Python

import unittest
from sglang.test.accuracy_test_runner import AccuracyTestParams
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.performance_test_runner import PerformanceTestParams
from sglang.test.run_combined_tests import run_combined_tests
from sglang.test.test_utils import ModelLaunchSettings
# Runs on both H200 and B200 via nightly-8-gpu-common suite
register_cuda_ci(est_time=3600, suite="nightly-8-gpu-common", nightly=True)
KIMI_K25_MODEL_PATH = "moonshotai/Kimi-K2.5"
EAGLE3_DRAFT_MODEL_PATH = "AQ-MedAI/Kimi-K25-eagle3"
class TestKimiK25(unittest.TestCase):
"""Unified test class for Kimi-K2.5 performance and accuracy.
Two variants:
- basic: TP=8 + tool/reasoning parsers
- eagle3: TP=8 + EAGLE3 speculative decoding with draft model
Each variant runs BOTH:
- Performance test (using NightlyBenchmarkRunner)
- Accuracy test (using run_eval with gsm8k)
"""
def test_kimi_k25(self):
"""Run performance and accuracy for all Kimi-K2.5 variants."""
base_args = [
"--trust-remote-code",
"--tool-call-parser=kimi_k2",
"--reasoning-parser=kimi_k2",
]
eagle3_args = [
"--speculative-algorithm=EAGLE3",
f"--speculative-draft-model-path={EAGLE3_DRAFT_MODEL_PATH}",
"--speculative-num-steps=3",
"--speculative-eagle-topk=1",
"--speculative-num-draft-tokens=4",
"--mem-frac=0.85",
"--model-loader-extra-config",
'{"enable_multithread_load": true, "num_threads": 64}',
]
variants = [
ModelLaunchSettings(
KIMI_K25_MODEL_PATH,
tp_size=8,
extra_args=base_args,
variant="TP8",
),
ModelLaunchSettings(
KIMI_K25_MODEL_PATH,
tp_size=8,
extra_args=base_args + eagle3_args,
variant="TP8+MTP",
),
]
run_combined_tests(
models=variants,
test_name="Kimi-K2.5",
accuracy_params=AccuracyTestParams(dataset="gsm8k", baseline_accuracy=0.92),
performance_params=PerformanceTestParams(
profile_dir="performance_profiles_kimi_k25",
),
)
if __name__ == "__main__":
unittest.main()