Skip to content

Commit 0123f1f

Browse files
committed
improve disabling trace check
1 parent 8b79be9 commit 0123f1f

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

optimum/exporters/openvino/convert.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
OV_XML_FILE_NAME,
6868
_get_input_info,
6969
_get_open_clip_submodels_fn_and_export_configs,
70+
allow_skip_tracing_check,
7071
clear_class_registry,
7172
remove_none_from_dummy_inputs,
7273
save_config,
@@ -436,7 +437,7 @@ def ts_patched_forward(*args, **kwargs):
436437
patcher.patched_forward = ts_patched_forward
437438

438439
ts_decoder_kwargs = {}
439-
if is_openvino_version(">=", "2025.0"):
440+
if library_name == "diffusers" or allow_skip_tracing_check(model) and is_openvino_version(">=", "2025.0"):
440441
ts_decoder_kwargs["trace_kwargs"] = {"check_trace": False}
441442

442443
with patcher:

optimum/exporters/openvino/model_patcher.py

+3-10
Original file line numberDiff line numberDiff line change
@@ -3631,24 +3631,18 @@ def apply_rotary_pos_emb(q, k, cos, sin, position_ids, unsqueeze_dim=1):
36313631
else:
36323632
q = self.q_b_proj(self.q_a_layernorm(self.q_a_proj(hidden_states)))
36333633
q = q.view(bsz, q_len, self.num_heads, self.q_head_dim).transpose(1, 2)
3634-
q_nope, q_pe = torch.split(
3635-
q, [self.qk_nope_head_dim, self.qk_rope_head_dim], dim=-1
3636-
)
3634+
q_nope, q_pe = torch.split(q, [self.qk_nope_head_dim, self.qk_rope_head_dim], dim=-1)
36373635

36383636
compressed_kv = self.kv_a_proj_with_mqa(hidden_states)
3639-
compressed_kv, k_pe = torch.split(
3640-
compressed_kv, [self.kv_lora_rank, self.qk_rope_head_dim], dim=-1
3641-
)
3637+
compressed_kv, k_pe = torch.split(compressed_kv, [self.kv_lora_rank, self.qk_rope_head_dim], dim=-1)
36423638
k_pe = k_pe.view(bsz, q_len, 1, self.qk_rope_head_dim).transpose(1, 2)
36433639
kv = (
36443640
self.kv_b_proj(self.kv_a_layernorm(compressed_kv))
36453641
.view(bsz, q_len, self.num_heads, self.qk_nope_head_dim + self.v_head_dim)
36463642
.transpose(1, 2)
36473643
)
36483644

3649-
k_nope, value_states = torch.split(
3650-
kv, [self.qk_nope_head_dim, self.v_head_dim], dim=-1
3651-
)
3645+
k_nope, value_states = torch.split(kv, [self.qk_nope_head_dim, self.v_head_dim], dim=-1)
36523646
kv_seq_len = value_states.shape[-2]
36533647
if past_key_value is not None:
36543648
if self.layer_idx is None:
@@ -3704,7 +3698,6 @@ def apply_rotary_pos_emb(q, k, cos, sin, position_ids, unsqueeze_dim=1):
37043698

37053699
attn_output = self.o_proj(attn_output)
37063700

3707-
37083701
return attn_output, None, past_key_value
37093702

37103703

optimum/exporters/openvino/utils.py

+9
Original file line numberDiff line numberDiff line change
@@ -297,3 +297,12 @@ def save_preprocessors(
297297
logger.error(f"Saving {type(processor)} failed with {ex}")
298298
else:
299299
maybe_save_preprocessors(model_name_or_path, output, trust_remote_code=trust_remote_code)
300+
301+
302+
SKIP_CHECK_TRACE_MODELS = ("deepseek", "deepseek-v2", "deepseek-v3")
303+
304+
305+
def allow_skip_tracing_check(model):
306+
config = getattr(model, "config", {})
307+
model_type = getattr(config, "model_type", "").replace("_", "-")
308+
return model_type in SKIP_CHECK_TRACE_MODELS

tests/openvino/test_modeling.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -995,10 +995,7 @@ class OVModelForCausalLMIntegrationTest(unittest.TestCase):
995995

996996
# openvino 2025.0 required for disabling check_trace
997997
if is_openvino_version(">=", "2025.0"):
998-
SUPPORTED_ARCHITECTURES += (
999-
"deepseek-v2",
1000-
"deepseek-v3"
1001-
)
998+
SUPPORTED_ARCHITECTURES += ("deepseek-v2", "deepseek-v3")
1002999

10031000
# gptq and awq install disabled for windows test environment
10041001
if platform.system() != "Windows":
@@ -1029,7 +1026,7 @@ class OVModelForCausalLMIntegrationTest(unittest.TestCase):
10291026
"decilm",
10301027
"minicpm3",
10311028
"deepseek-v2",
1032-
"deepseek-v3"
1029+
"deepseek-v3",
10331030
)
10341031

10351032
@parameterized.expand(SUPPORTED_ARCHITECTURES)

0 commit comments

Comments
 (0)