59a0a3844c
PR Test AMD / cancel-on-close (push) Has been skipped
PR Test NVIDIA ARM / scan (push) Has been skipped
PR Test NVIDIA / cancel-on-close (push) Has been skipped
PR Test AMD / scan (push) Has been skipped
PR Test NVIDIA ARM / cancel-on-close (push) Has been skipped
PR Test NVIDIA / scan (push) Has been skipped
Release Docker Images / build (cu129-torch-2.11.0) (push) Has been skipped
Release Docker Images / build (cu130-torch-2.11.0) (push) Has been skipped
Release PyPI / publish (push) Has been skipped
Scheduler Python Test / test (push) Successful in 27m19s
Docs / build (push) Successful in 28m8s
Scheduler C++ Test / test (push) Successful in 28m19s
Scheduler C++ Test / test-flat (push) Successful in 28m18s
Docs / deploy (push) Has been cancelled
PR Test AMD / finish (push) Has been cancelled
PR Test NVIDIA / finish (push) Has been cancelled
PR Test NVIDIA ARM / finish (push) Has been cancelled
PR Test NVIDIA ARM / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
PR Test AMD / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
PR Test NVIDIA / ${{ matrix.name }} (${{ matrix.runner }}) (push) Has been cancelled
47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
import unittest
|
|
from unittest import mock
|
|
|
|
from tokenspeed_kernel.ops.attention import attn_merge_state
|
|
|
|
from tokenspeed.runtime.models import deepseek_v3
|
|
from tokenspeed.runtime.models.deepseek_v3 import DeepseekV3ForCausalLM
|
|
|
|
|
|
class TestDeepseekV3Loader(unittest.TestCase):
|
|
def test_cached_prefix_merge_uses_attention_dispatcher(self):
|
|
self.assertIs(deepseek_v3.attn_merge_state, attn_merge_state)
|
|
self.assertFalse(hasattr(deepseek_v3, "merge_state"))
|
|
|
|
def test_missing_checkpoint_scale_params_are_silent(self):
|
|
model = object.__new__(DeepseekV3ForCausalLM)
|
|
|
|
with mock.patch("tokenspeed.runtime.models.deepseek_v3.logger") as logger:
|
|
self.assertIsNone(
|
|
model.get_param(
|
|
{},
|
|
"model.layers.2.self_attn.k_proj.k_scale",
|
|
)
|
|
)
|
|
self.assertIsNone(
|
|
model.get_param(
|
|
{},
|
|
"model.layers.2.self_attn.v_proj.v_scale",
|
|
)
|
|
)
|
|
|
|
logger.warning.assert_not_called()
|
|
|
|
def test_missing_regular_params_still_warn(self):
|
|
model = object.__new__(DeepseekV3ForCausalLM)
|
|
|
|
with mock.patch("tokenspeed.runtime.models.deepseek_v3.logger") as logger:
|
|
self.assertIsNone(
|
|
model.get_param({}, "model.layers.2.self_attn.q_proj.weight")
|
|
)
|
|
|
|
logger.warning.assert_called_once()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|