Add DeepSeek V4 MTP acceptance length checks (#28098)
This commit is contained in:
@@ -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.ci.ci_register import register_cuda_ci
|
||||||
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
|
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
|
||||||
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
||||||
|
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_URL_FOR_TEST,
|
DEFAULT_URL_FOR_TEST,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -33,6 +34,7 @@ _DEEPEP_ENV = {
|
|||||||
|
|
||||||
|
|
||||||
class TestDSV4FlashFP4B200Balanced_CP(
|
class TestDSV4FlashFP4B200Balanced_CP(
|
||||||
|
SpecDecodingMixin,
|
||||||
BasicDecodeCorrectnessMixin,
|
BasicDecodeCorrectnessMixin,
|
||||||
GSM8KMixin,
|
GSM8KMixin,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -40,6 +42,8 @@ class TestDSV4FlashFP4B200Balanced_CP(
|
|||||||
"""Balanced recipe: TP=4, DP=4, DeepEP, EAGLE (1-step spec)."""
|
"""Balanced recipe: TP=4, DP=4, DeepEP, EAGLE (1-step spec)."""
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
|
accept_length_thres = 1.8
|
||||||
|
bs_1_speed_thres = 100
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
@@ -82,6 +86,7 @@ class TestDSV4FlashFP4B200Balanced_CP(
|
|||||||
|
|
||||||
|
|
||||||
class TestDSV4FlashFP4B200Balanced_CP_NonDeepEP(
|
class TestDSV4FlashFP4B200Balanced_CP_NonDeepEP(
|
||||||
|
SpecDecodingMixin,
|
||||||
BasicDecodeCorrectnessMixin,
|
BasicDecodeCorrectnessMixin,
|
||||||
GSM8KMixin,
|
GSM8KMixin,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -89,6 +94,8 @@ class TestDSV4FlashFP4B200Balanced_CP_NonDeepEP(
|
|||||||
"""Balanced recipe: TP=4, DP=4, EAGLE (1-step spec)."""
|
"""Balanced recipe: TP=4, DP=4, EAGLE (1-step spec)."""
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
|
accept_length_thres = 1.8
|
||||||
|
bs_1_speed_thres = 100
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import unittest
|
|||||||
|
|
||||||
from sglang.test.ci.ci_register import register_cuda_ci
|
from sglang.test.ci.ci_register import register_cuda_ci
|
||||||
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
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 (
|
from sglang.test.server_fixtures.disaggregation_fixture import (
|
||||||
PDDisaggregationServerBase,
|
PDDisaggregationServerBase,
|
||||||
)
|
)
|
||||||
@@ -38,9 +39,10 @@ _EAGLE_SPEC_ARGS = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class TestDisaggregationDSV4(PDDisaggregationServerBase, GSM8KMixin):
|
class TestDisaggregationDSV4(SpecDecodingMixin, PDDisaggregationServerBase, GSM8KMixin):
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
|
accept_length_thres = 1.8
|
||||||
|
bs_1_speed_thres = 140
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
@@ -128,7 +130,6 @@ class TestDisaggregationDSV4(PDDisaggregationServerBase, GSM8KMixin):
|
|||||||
|
|
||||||
|
|
||||||
class TestDisaggregationDSV4HiSparseMooncake(PDDisaggregationServerBase, GSM8KMixin):
|
class TestDisaggregationDSV4HiSparseMooncake(PDDisaggregationServerBase, GSM8KMixin):
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
gsm8k_num_questions = 200
|
gsm8k_num_questions = 200
|
||||||
gsm8k_num_shots = 20
|
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.ci.ci_register import register_cuda_ci
|
||||||
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
|
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
|
||||||
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
||||||
|
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_URL_FOR_TEST,
|
DEFAULT_URL_FOR_TEST,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -32,6 +33,7 @@ _DEEPEP_ENV = {
|
|||||||
|
|
||||||
|
|
||||||
class TestDSV4FlashFP4B200(
|
class TestDSV4FlashFP4B200(
|
||||||
|
SpecDecodingMixin,
|
||||||
BasicDecodeCorrectnessMixin,
|
BasicDecodeCorrectnessMixin,
|
||||||
GSM8KMixin,
|
GSM8KMixin,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -39,6 +41,8 @@ class TestDSV4FlashFP4B200(
|
|||||||
"""LowLatency recipe: TP=4, FP4 (mxfp4), EAGLE spec decoding."""
|
"""LowLatency recipe: TP=4, FP4 (mxfp4), EAGLE spec decoding."""
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
|
accept_length_thres = 2.6
|
||||||
|
bs_1_speed_thres = 220
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
@@ -75,6 +79,7 @@ class TestDSV4FlashFP4B200(
|
|||||||
|
|
||||||
|
|
||||||
class TestDSV4FlashFP4B200Balanced(
|
class TestDSV4FlashFP4B200Balanced(
|
||||||
|
SpecDecodingMixin,
|
||||||
BasicDecodeCorrectnessMixin,
|
BasicDecodeCorrectnessMixin,
|
||||||
GSM8KMixin,
|
GSM8KMixin,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -82,6 +87,8 @@ class TestDSV4FlashFP4B200Balanced(
|
|||||||
"""Balanced recipe: TP=4, DP=4, DeepEP, EAGLE (1-step spec)."""
|
"""Balanced recipe: TP=4, DP=4, DeepEP, EAGLE (1-step spec)."""
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
|
accept_length_thres = 1.8
|
||||||
|
bs_1_speed_thres = 100
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
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.ci.ci_register import register_cuda_ci
|
||||||
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
|
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
|
||||||
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
||||||
|
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_URL_FOR_TEST,
|
DEFAULT_URL_FOR_TEST,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -41,6 +42,7 @@ DEEPEP_CONFIG = '{"normal_dispatch":{"num_sms":96},"normal_combine":{"num_sms":9
|
|||||||
|
|
||||||
|
|
||||||
class TestDSV4FlashFP4H200(
|
class TestDSV4FlashFP4H200(
|
||||||
|
SpecDecodingMixin,
|
||||||
BasicDecodeCorrectnessMixin,
|
BasicDecodeCorrectnessMixin,
|
||||||
GSM8KMixin,
|
GSM8KMixin,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -48,6 +50,8 @@ class TestDSV4FlashFP4H200(
|
|||||||
"""LowLatency recipe: TP=4, Marlin FP4, EAGLE spec decoding."""
|
"""LowLatency recipe: TP=4, Marlin FP4, EAGLE spec decoding."""
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
|
accept_length_thres = 2.8
|
||||||
|
bs_1_speed_thres = 240
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
@@ -87,6 +91,7 @@ class TestDSV4FlashFP4H200(
|
|||||||
"FlashInfer build lacks SM90 mixed-input MXFP4 helpers (PR #3084, >= 0.6.11)",
|
"FlashInfer build lacks SM90 mixed-input MXFP4 helpers (PR #3084, >= 0.6.11)",
|
||||||
)
|
)
|
||||||
class TestDSV4FlashFP4H200FlashInferCutlass(
|
class TestDSV4FlashFP4H200FlashInferCutlass(
|
||||||
|
SpecDecodingMixin,
|
||||||
BasicDecodeCorrectnessMixin,
|
BasicDecodeCorrectnessMixin,
|
||||||
GSM8KMixin,
|
GSM8KMixin,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -99,6 +104,8 @@ class TestDSV4FlashFP4H200FlashInferCutlass(
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
|
accept_length_thres = 2.8
|
||||||
|
bs_1_speed_thres = 230
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
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.ci.ci_register import register_cuda_ci
|
||||||
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
|
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
|
||||||
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
||||||
|
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_URL_FOR_TEST,
|
DEFAULT_URL_FOR_TEST,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -39,6 +40,7 @@ _W4A4_MEGAMOE_ENV = {
|
|||||||
|
|
||||||
|
|
||||||
class TestDSV4FlashFP4B200W4A8MegaMoE(
|
class TestDSV4FlashFP4B200W4A8MegaMoE(
|
||||||
|
SpecDecodingMixin,
|
||||||
BasicDecodeCorrectnessMixin,
|
BasicDecodeCorrectnessMixin,
|
||||||
GSM8KMixin,
|
GSM8KMixin,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -46,6 +48,8 @@ class TestDSV4FlashFP4B200W4A8MegaMoE(
|
|||||||
"""Balanced recipe: TP=4, DP=4, MegaMoE."""
|
"""Balanced recipe: TP=4, DP=4, MegaMoE."""
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
|
accept_length_thres = 1.8
|
||||||
|
bs_1_speed_thres = 100
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
@@ -83,6 +87,7 @@ class TestDSV4FlashFP4B200W4A8MegaMoE(
|
|||||||
|
|
||||||
|
|
||||||
class TestDSV4FlashFP4B200W4A4MegaMoE(
|
class TestDSV4FlashFP4B200W4A4MegaMoE(
|
||||||
|
SpecDecodingMixin,
|
||||||
BasicDecodeCorrectnessMixin,
|
BasicDecodeCorrectnessMixin,
|
||||||
GSM8KMixin,
|
GSM8KMixin,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -90,6 +95,8 @@ class TestDSV4FlashFP4B200W4A4MegaMoE(
|
|||||||
"""Balanced recipe: TP=4, DP=4, MegaMoE."""
|
"""Balanced recipe: TP=4, DP=4, MegaMoE."""
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
|
accept_length_thres = 2.6
|
||||||
|
bs_1_speed_thres = 100
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
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.ci.ci_register import register_cuda_ci
|
||||||
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
|
from sglang.test.kits.basic_decode_correctness_kit import BasicDecodeCorrectnessMixin
|
||||||
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
from sglang.test.kits.eval_accuracy_kit import GSM8KMixin
|
||||||
|
from sglang.test.kits.spec_decoding_kit import SpecDecodingMixin
|
||||||
from sglang.test.test_utils import (
|
from sglang.test.test_utils import (
|
||||||
DEFAULT_URL_FOR_TEST,
|
DEFAULT_URL_FOR_TEST,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -29,6 +30,7 @@ DEEPEP_CONFIG = '{"normal_dispatch":{"num_sms":96},"normal_combine":{"num_sms":9
|
|||||||
|
|
||||||
|
|
||||||
class TestDSV4FlashFP8H200(
|
class TestDSV4FlashFP8H200(
|
||||||
|
SpecDecodingMixin,
|
||||||
BasicDecodeCorrectnessMixin,
|
BasicDecodeCorrectnessMixin,
|
||||||
GSM8KMixin,
|
GSM8KMixin,
|
||||||
CustomTestCase,
|
CustomTestCase,
|
||||||
@@ -36,6 +38,8 @@ class TestDSV4FlashFP8H200(
|
|||||||
"""LowLatency recipe: TP=4, Marlin FP4, EAGLE spec decoding."""
|
"""LowLatency recipe: TP=4, Marlin FP4, EAGLE spec decoding."""
|
||||||
|
|
||||||
gsm8k_accuracy_thres = 0.93
|
gsm8k_accuracy_thres = 0.93
|
||||||
|
accept_length_thres = 1.8
|
||||||
|
bs_1_speed_thres = 140
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
|
|||||||
Reference in New Issue
Block a user