Skip to content

Commit 9a62d62

Browse files
authored
Disable long scale usage for exported phi3 (#913)
1 parent e38d3f2 commit 9a62d62

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

optimum/exporters/openvino/model_patcher.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1549,6 +1549,12 @@ class Phi3ModelPatcher(DecoderModelPatcher):
15491549
def __enter__(self):
15501550
super().__enter__()
15511551

1552+
# currently, long RoPE can not be traced for long context support, disable it for avoid potential accuracy issues
1553+
if self._model.config.max_position_embeddings != getattr(
1554+
self._model.config, "original_max_position_embeddings", self._model.config.max_position_embeddings
1555+
):
1556+
self._model.config.max_position_embeddings = self._model.config.original_max_position_embe
1557+
15521558
if is_transformers_version(">=", "4.42.0"):
15531559
self._model.model._orig_forward = self._model.model.forward
15541560
self._model.model.forward = types.MethodType(phi3_442_forward, self._model.model)

optimum/intel/openvino/modeling_decoder.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,10 @@ def _from_transformers(
331331

332332
config.is_decoder = True
333333
config.is_encoder_decoder = False
334+
if config.model_type == "phi3" and config.max_position_embeddings != getattr(
335+
config, "original_max_position_embeddings", config.max_position_embeddings
336+
):
337+
config.max_position_embeddings = config.original_max_position_embeddings
334338
config.save_pretrained(save_dir_path)
335339
return cls._from_pretrained(
336340
model_id=save_dir_path,

0 commit comments

Comments
 (0)