diff --git a/test/registered/8-gpu-models/test_kimi_k2.py b/test/registered/8-gpu-models/test_kimi_k2.py deleted file mode 100644 index ce5a5941a..000000000 --- a/test/registered/8-gpu-models/test_kimi_k2.py +++ /dev/null @@ -1,53 +0,0 @@ -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=1800, suite="nightly-8-gpu-common", nightly=True) - -KIMI_K2_THINKING_MODEL_PATH = "moonshotai/Kimi-K2-Thinking" - - -class TestKimiK2(unittest.TestCase): - """Unified test class for Kimi-K2-Thinking performance and accuracy. - - Single variant with TP=8 + tool/reasoning parsers. - Runs BOTH: - - Performance test (using NightlyBenchmarkRunner with extra_bench_args) - - Accuracy test (using run_eval with mgsm_en) - """ - - def test_kimi_k2(self): - """Run performance and accuracy for Kimi-K2-Thinking.""" - base_args = [ - "--tp=8", - "--trust-remote-code", - "--tool-call-parser=kimi_k2", - "--reasoning-parser=kimi_k2", - ] - - variants = [ - ModelLaunchSettings( - KIMI_K2_THINKING_MODEL_PATH, - tp_size=8, - extra_args=base_args, - variant="TP8", - ), - ] - - run_combined_tests( - models=variants, - test_name="Kimi-K2-Thinking", - accuracy_params=AccuracyTestParams(dataset="gsm8k", baseline_accuracy=0.94), - performance_params=PerformanceTestParams( - profile_dir="performance_profiles_kimi_k2_thinking", - ), - ) - - -if __name__ == "__main__": - unittest.main() diff --git a/test/registered/8-gpu-models/test_kimi_k25.py b/test/registered/8-gpu-models/test_kimi_k25.py new file mode 100644 index 000000000..18e6b3c2a --- /dev/null +++ b/test/registered/8-gpu-models/test_kimi_k25.py @@ -0,0 +1,72 @@ +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()