[NPU] Adapt MiMo-V2.5-W8A8 (#29131)
This commit is contained in:
@@ -175,6 +175,10 @@ class ModelSlimConfig(QuantizationConfig):
|
|||||||
prefix_in_quant_config = prefix.replace(
|
prefix_in_quant_config = prefix.replace(
|
||||||
proj_name, packed_modules_mapping_subset[proj_name][0]
|
proj_name, packed_modules_mapping_subset[proj_name][0]
|
||||||
)
|
)
|
||||||
|
# Verify the remapped prefix exists in quant_description.
|
||||||
|
# If not (e.g. json uses fused name as-is), fall back to original.
|
||||||
|
if prefix_in_quant_config + ".weight" not in self.quant_description:
|
||||||
|
prefix_in_quant_config = prefix
|
||||||
if self.is_layer_skipped(
|
if self.is_layer_skipped(
|
||||||
prefix, packed_modules_mapping_subset
|
prefix, packed_modules_mapping_subset
|
||||||
) or self.is_layer_skipped(prefix, self.packed_modules_mapping):
|
) or self.is_layer_skipped(prefix, self.packed_modules_mapping):
|
||||||
|
|||||||
@@ -149,6 +149,7 @@ META_LLAMA_3_1_8B_INSTRUCT = os.path.join(
|
|||||||
)
|
)
|
||||||
MIMO_7B_RL_WEIGHTS_PATH = os.path.join(MODEL_WEIGHTS_DIR, "XiaomiMiMo/MiMo-7B-RL")
|
MIMO_7B_RL_WEIGHTS_PATH = os.path.join(MODEL_WEIGHTS_DIR, "XiaomiMiMo/MiMo-7B-RL")
|
||||||
MIMO_V2_FLASH_WEIGHTS_PATH = os.path.join(MODEL_WEIGHTS_DIR, "XiaomiMiMo/MiMo-V2-Flash")
|
MIMO_V2_FLASH_WEIGHTS_PATH = os.path.join(MODEL_WEIGHTS_DIR, "XiaomiMiMo/MiMo-V2-Flash")
|
||||||
|
MIMO_V2_5_W8A8_WEIGHTS_PATH = os.path.join(MODEL_WEIGHTS_DIR, "solinliu/MiMo-V2.5-W8A8")
|
||||||
MINICPM3_4B_WEIGHTS_PATH = os.path.join(MODEL_WEIGHTS_DIR, "OpenBMB/MiniCPM3-4B")
|
MINICPM3_4B_WEIGHTS_PATH = os.path.join(MODEL_WEIGHTS_DIR, "OpenBMB/MiniCPM3-4B")
|
||||||
MISTRAL_7B_INSTRUCT_V0_2_WEIGHTS_PATH = os.path.join(
|
MISTRAL_7B_INSTRUCT_V0_2_WEIGHTS_PATH = os.path.join(
|
||||||
MODEL_WEIGHTS_DIR, "mistralai/Mistral-7B-Instruct-v0.2"
|
MODEL_WEIGHTS_DIR, "mistralai/Mistral-7B-Instruct-v0.2"
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
import unittest
|
||||||
|
|
||||||
|
from sglang.test.ascend.gsm8k_ascend_mixin import GSM8KAscendMixin
|
||||||
|
from sglang.test.ascend.test_ascend_utils import MIMO_V2_5_W8A8_WEIGHTS_PATH
|
||||||
|
from sglang.test.test_utils import CustomTestCase
|
||||||
|
|
||||||
|
|
||||||
|
class TestMiMoV25W8A8GraphWithMTP(GSM8KAscendMixin, CustomTestCase):
|
||||||
|
"""Testcase: Verify the inference accuracy of MiMo-V2.5-W8A8 on GSM8K with cuda graph and MTP (speculative decoding).
|
||||||
|
|
||||||
|
[Test Category] Model
|
||||||
|
[Test Target] XiaomiMiMo/MiMo-V2.5-W8A8
|
||||||
|
[Test Config] Prefill+Decode, cuda graph enabled, EAGLE speculative decoding, modelslim quantization
|
||||||
|
"""
|
||||||
|
|
||||||
|
model = MIMO_V2_5_W8A8_WEIGHTS_PATH
|
||||||
|
accuracy = 0.9
|
||||||
|
other_args = [
|
||||||
|
"--trust-remote-code",
|
||||||
|
"--mem-fraction-static",
|
||||||
|
"0.75",
|
||||||
|
"--attention-backend",
|
||||||
|
"ascend",
|
||||||
|
"--tp-size",
|
||||||
|
"8",
|
||||||
|
"--reasoning-parser",
|
||||||
|
"mimo",
|
||||||
|
"--speculative-algorithm",
|
||||||
|
"EAGLE",
|
||||||
|
"--speculative-num-steps",
|
||||||
|
"3",
|
||||||
|
"--speculative-eagle-topk",
|
||||||
|
"1",
|
||||||
|
"--speculative-num-draft-tokens",
|
||||||
|
"4",
|
||||||
|
"--enable-multi-layer-eagle",
|
||||||
|
"--quantization",
|
||||||
|
"modelslim",
|
||||||
|
"--speculative-draft-model-quantization",
|
||||||
|
"unquant",
|
||||||
|
"--dp-size",
|
||||||
|
"2",
|
||||||
|
"--enable-dp-attention",
|
||||||
|
"--enable-dp-lm-head",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main()
|
||||||
Reference in New Issue
Block a user