[CPU] Fix TP padding issue on Phi-4 (#8289)

This commit is contained in:
blzheng
2025-08-18 07:25:26 +08:00
committed by GitHub
parent b341b7dbce
commit ebbb75e917
5 changed files with 93 additions and 27 deletions

View File

@@ -54,25 +54,6 @@ VISION_ENCODER_TO_PROCESSING_CONFIG = {
}
def get_navit_vision_model():
vision_config = {
"hidden_size": 1152,
"image_size": 448,
"intermediate_size": 4304,
"model_type": "siglip_vision_model",
"num_attention_heads": 16,
"num_hidden_layers": 26, # Model is originally 27-layer, we only need the first 26 layers for feature extraction.
"patch_size": 14,
}
model_config = SiglipVisionConfig(**vision_config)
vision_model = Idefics2VisionTransformer(
config=model_config, require_post_norm=False
)
return vision_model
class Phi4MMImageEncoder(nn.Module):
"""Image embedding."""
@@ -88,8 +69,9 @@ class Phi4MMImageEncoder(nn.Module):
# n_embed or hidden_size
hidden_size = config.n_embd if hasattr(config, "n_embd") else config.hidden_size
self.type_feature = "patch"
self.img_processor = get_navit_vision_model()
self.img_processor = Idefics2VisionTransformer(
config=config.vision_config, require_post_norm=False
)
pe_weight = self.img_processor.embeddings.position_embedding.weight
L, D = pe_weight.size()