Add DeepSeek V4 MTP acceptance length checks (#28098)

This commit is contained in:
Baizhou Zhang
2026-06-12 18:53:20 -07:00
committed by GitHub
parent 45f8d48994
commit a14d1a5656
6 changed files with 36 additions and 3 deletions
@@ -14,6 +14,7 @@ from sglang.srt.utils import kill_process_tree
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
from sglang.test.test_utils import (
DEFAULT_URL_FOR_TEST,
CustomTestCase,
@@ -33,6 +34,7 @@ _DEEPEP_ENV = {
class TestDSV4FlashFP4B200Balanced_CP(
SpecDecodingMixin,
BasicDecodeCorrectnessMixin,
GSM8KMixin,
CustomTestCase,
@@ -40,6 +42,8 @@ class TestDSV4FlashFP4B200Balanced_CP(
"""Balanced recipe: TP=4, DP=4, DeepEP, EAGLE (1-step spec)."""
gsm8k_accuracy_thres = 0.93
accept_length_thres = 1.8
bs_1_speed_thres = 100
@classmethod
def setUpClass(cls):
@@ -82,6 +86,7 @@ class TestDSV4FlashFP4B200Balanced_CP(
class TestDSV4FlashFP4B200Balanced_CP_NonDeepEP(
SpecDecodingMixin,
BasicDecodeCorrectnessMixin,
GSM8KMixin,
CustomTestCase,
@@ -89,6 +94,8 @@ class TestDSV4FlashFP4B200Balanced_CP_NonDeepEP(
"""Balanced recipe: TP=4, DP=4, EAGLE (1-step spec)."""
gsm8k_accuracy_thres = 0.93
accept_length_thres = 1.8
bs_1_speed_thres = 100
@classmethod
def setUpClass(cls):
@@ -2,6 +2,7 @@ import unittest
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
from sglang.test.server_fixtures.disaggregation_fixture import (
PDDisaggregationServerBase,
)
@@ -38,9 +39,10 @@ _EAGLE_SPEC_ARGS = [
]
class TestDisaggregationDSV4(PDDisaggregationServerBase, GSM8KMixin):
class TestDisaggregationDSV4(SpecDecodingMixin, PDDisaggregationServerBase, GSM8KMixin):
gsm8k_accuracy_thres = 0.93
accept_length_thres = 1.8
bs_1_speed_thres = 140
@classmethod
def setUpClass(cls):
@@ -128,7 +130,6 @@ class TestDisaggregationDSV4(PDDisaggregationServerBase, GSM8KMixin):
class TestDisaggregationDSV4HiSparseMooncake(PDDisaggregationServerBase, GSM8KMixin):
gsm8k_accuracy_thres = 0.93
gsm8k_num_questions = 200
gsm8k_num_shots = 20
@@ -13,6 +13,7 @@ from sglang.srt.utils import kill_process_tree
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
from sglang.test.test_utils import (
DEFAULT_URL_FOR_TEST,
CustomTestCase,
@@ -32,6 +33,7 @@ _DEEPEP_ENV = {
class TestDSV4FlashFP4B200(
SpecDecodingMixin,
BasicDecodeCorrectnessMixin,
GSM8KMixin,
CustomTestCase,
@@ -39,6 +41,8 @@ class TestDSV4FlashFP4B200(
"""LowLatency recipe: TP=4, FP4 (mxfp4), EAGLE spec decoding."""
gsm8k_accuracy_thres = 0.93
accept_length_thres = 2.6
bs_1_speed_thres = 220
@classmethod
def setUpClass(cls):
@@ -75,6 +79,7 @@ class TestDSV4FlashFP4B200(
class TestDSV4FlashFP4B200Balanced(
SpecDecodingMixin,
BasicDecodeCorrectnessMixin,
GSM8KMixin,
CustomTestCase,
@@ -82,6 +87,8 @@ class TestDSV4FlashFP4B200Balanced(
"""Balanced recipe: TP=4, DP=4, DeepEP, EAGLE (1-step spec)."""
gsm8k_accuracy_thres = 0.93
accept_length_thres = 1.8
bs_1_speed_thres = 100
@classmethod
def setUpClass(cls):
@@ -13,6 +13,7 @@ from sglang.srt.utils import kill_process_tree
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
from sglang.test.test_utils import (
DEFAULT_URL_FOR_TEST,
CustomTestCase,
@@ -41,6 +42,7 @@ DEEPEP_CONFIG = '{"normal_dispatch":{"num_sms":96},"normal_combine":{"num_sms":9
class TestDSV4FlashFP4H200(
SpecDecodingMixin,
BasicDecodeCorrectnessMixin,
GSM8KMixin,
CustomTestCase,
@@ -48,6 +50,8 @@ class TestDSV4FlashFP4H200(
"""LowLatency recipe: TP=4, Marlin FP4, EAGLE spec decoding."""
gsm8k_accuracy_thres = 0.93
accept_length_thres = 2.8
bs_1_speed_thres = 240
@classmethod
def setUpClass(cls):
@@ -87,6 +91,7 @@ class TestDSV4FlashFP4H200(
"FlashInfer build lacks SM90 mixed-input MXFP4 helpers (PR #3084, >= 0.6.11)",
)
class TestDSV4FlashFP4H200FlashInferCutlass(
SpecDecodingMixin,
BasicDecodeCorrectnessMixin,
GSM8KMixin,
CustomTestCase,
@@ -99,6 +104,8 @@ class TestDSV4FlashFP4H200FlashInferCutlass(
"""
gsm8k_accuracy_thres = 0.93
accept_length_thres = 2.8
bs_1_speed_thres = 230
@classmethod
def setUpClass(cls):
@@ -13,6 +13,7 @@ from sglang.srt.utils import kill_process_tree
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
from sglang.test.test_utils import (
DEFAULT_URL_FOR_TEST,
CustomTestCase,
@@ -39,6 +40,7 @@ _W4A4_MEGAMOE_ENV = {
class TestDSV4FlashFP4B200W4A8MegaMoE(
SpecDecodingMixin,
BasicDecodeCorrectnessMixin,
GSM8KMixin,
CustomTestCase,
@@ -46,6 +48,8 @@ class TestDSV4FlashFP4B200W4A8MegaMoE(
"""Balanced recipe: TP=4, DP=4, MegaMoE."""
gsm8k_accuracy_thres = 0.93
accept_length_thres = 1.8
bs_1_speed_thres = 100
@classmethod
def setUpClass(cls):
@@ -83,6 +87,7 @@ class TestDSV4FlashFP4B200W4A8MegaMoE(
class TestDSV4FlashFP4B200W4A4MegaMoE(
SpecDecodingMixin,
BasicDecodeCorrectnessMixin,
GSM8KMixin,
CustomTestCase,
@@ -90,6 +95,8 @@ class TestDSV4FlashFP4B200W4A4MegaMoE(
"""Balanced recipe: TP=4, DP=4, MegaMoE."""
gsm8k_accuracy_thres = 0.93
accept_length_thres = 2.6
bs_1_speed_thres = 100
@classmethod
def setUpClass(cls):
@@ -14,6 +14,7 @@ from sglang.srt.utils import kill_process_tree
from sglang.test.ci.ci_register import register_cuda_ci
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
from sglang.test.test_utils import (
DEFAULT_URL_FOR_TEST,
CustomTestCase,
@@ -29,6 +30,7 @@ DEEPEP_CONFIG = '{"normal_dispatch":{"num_sms":96},"normal_combine":{"num_sms":9
class TestDSV4FlashFP8H200(
SpecDecodingMixin,
BasicDecodeCorrectnessMixin,
GSM8KMixin,
CustomTestCase,
@@ -36,6 +38,8 @@ class TestDSV4FlashFP8H200(
"""LowLatency recipe: TP=4, Marlin FP4, EAGLE spec decoding."""
gsm8k_accuracy_thres = 0.93
accept_length_thres = 1.8
bs_1_speed_thres = 140
@classmethod
def setUpClass(cls):