[Kimi-K3] Use explicit SiTU activation for MegaMoE (#34883)

This commit is contained in:
Baizhou Zhang
2026-08-15 01:41:59 -07:00
committed by GitHub
parent c87a2ced12
commit 7769f54feb
4 changed files with 68 additions and 24 deletions
@@ -1,6 +1,6 @@
"""B300 per-commit CI coverage for Kimi-K3 serving recipes.
Runs the Low Latency DSPARK recipe and the Balanced DCP/HiCache recipe on
Runs the Low Latency DSPARK, Balanced DCP/HiCache, and MegaMoE recipes on
eight B300 GPUs. Each server must preserve basic model quality on GSM8K, and
the Low Latency recipe must also preserve single-request decode performance.
"""
@@ -18,13 +18,17 @@ from sglang.test.test_utils import (
popen_launch_server,
)
register_cuda_ci(est_time=900, stage="base-c", runner_config="8-gpu-b300")
register_cuda_ci(est_time=1200, stage="base-c", runner_config="8-gpu-b300")
MODEL_PATH = (
"/data/radixark/model-cache/hub/models--moonshotai--Kimi-K3/"
"snapshots/9f62e4e9fffbd0a83ddd60e1c209d828994b3569"
)
DSPARK_DRAFT_MODEL = "RadixArk/Kimi-K3-DSpark"
MEGAMOE_URL = "http://0.0.0.0:30000"
MEGAMOE_ENV = {
"SGLANG_OPT_DEEPGEMM_MEGA_MOE_NUM_MAX_TOKENS_PER_RANK": "8320",
}
SERVER_LAUNCH_TIMEOUT = 3600
GPU_IDLE_TIMEOUT = 120
@@ -124,5 +128,53 @@ class TestKimiK3B300Balanced(GSM8KMixin, CustomTestCase):
_stop_server(getattr(cls, "process", None))
class TestKimiK3B300MegaMoE(GSM8KMixin, CustomTestCase):
"""TP8/EP8/DCP8 MegaMoE recipe with DSPARK speculation."""
gsm8k_score_threshold = 0.95
gsm8k_num_examples = 200
@classmethod
def setUpClass(cls):
cls.model = MODEL_PATH
cls.base_url = MEGAMOE_URL
cls.process = popen_launch_server(
cls.model,
cls.base_url,
timeout=SERVER_LAUNCH_TIMEOUT,
other_args=[
"--trust-remote-code",
"--tp-size",
"8",
"--moe-a2a-backend",
"megamoe",
"--ep",
"8",
"--dcp-size",
"8",
"--mem-fraction-static",
"0.85",
"--reasoning-parser",
"kimi_k3",
"--tool-call-parser",
"kimi_k3",
"--mamba-full-memory-ratio",
"5.13",
"--speculative-algorithm",
"DSPARK",
"--speculative-draft-model-path",
DSPARK_DRAFT_MODEL,
"--speculative-dspark-block-size",
"7",
"--enable-linear-replayssm-spec",
],
env=MEGAMOE_ENV,
)
@classmethod
def tearDownClass(cls):
_stop_server(getattr(cls, "process", None))
if __name__ == "__main__":
unittest.main()