62 lines
1.9 KiB
Python
62 lines
1.9 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
"""
|
||
|
|
Add qwen3_5_moe architecture support to Transformers
|
||
|
|
"""
|
||
|
|
import os
|
||
|
|
import sys
|
||
|
|
|
||
|
|
def add_qwen3_5_moe_support():
|
||
|
|
"""Add qwen3_5_moe to Transformers configuration"""
|
||
|
|
|
||
|
|
# Find transformers installation path
|
||
|
|
try:
|
||
|
|
import transformers
|
||
|
|
transformers_path = transformers.__path__[0]
|
||
|
|
except ImportError:
|
||
|
|
print("Transformers not installed")
|
||
|
|
return False
|
||
|
|
|
||
|
|
print(f"Transformers path: {transformers_path}")
|
||
|
|
|
||
|
|
# Modify configuration_auto.py
|
||
|
|
config_auto_file = os.path.join(transformers_path, "models", "auto", "configuration_auto.py")
|
||
|
|
|
||
|
|
if not os.path.exists(config_auto_file):
|
||
|
|
print(f"Config file not found: {config_auto_file}")
|
||
|
|
return False
|
||
|
|
|
||
|
|
with open(config_auto_file, "r") as f:
|
||
|
|
content = f.read()
|
||
|
|
|
||
|
|
# Check if already exists
|
||
|
|
if "qwen3_5_moe" in content:
|
||
|
|
print("qwen3_5_moe already exists in configuration")
|
||
|
|
return True
|
||
|
|
|
||
|
|
# Add to MODEL_NAMES_MAPPING
|
||
|
|
# Find the line with "qwen2_moe": "Qwen2Moe" and add qwen3_5_moe after it
|
||
|
|
if '"qwen2_moe": "Qwen2Moe"' in content:
|
||
|
|
content = content.replace(
|
||
|
|
'"qwen2_moe": "Qwen2Moe"',
|
||
|
|
'"qwen2_moe": "Qwen2Moe",\n "qwen3_5_moe": "Qwen3_5_MoE"'
|
||
|
|
)
|
||
|
|
print("Added qwen3_5_moe to MODEL_NAMES_MAPPING")
|
||
|
|
|
||
|
|
# Add to MODEL_MAPPING (mapping to Qwen2MoeConfig as base)
|
||
|
|
if '"qwen2_moe": Qwen2MoeConfig' in content:
|
||
|
|
content = content.replace(
|
||
|
|
'"qwen2_moe": Qwen2MoeConfig',
|
||
|
|
'"qwen2_moe": Qwen2MoeConfig,\n "qwen3_5_moe": Qwen2MoeConfig'
|
||
|
|
)
|
||
|
|
print("Added qwen3_5_moe to MODEL_MAPPING")
|
||
|
|
|
||
|
|
with open(config_auto_file, "w") as f:
|
||
|
|
f.write(content)
|
||
|
|
|
||
|
|
print("Successfully added qwen3_5_moe support")
|
||
|
|
return True
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
success = add_qwen3_5_moe_support()
|
||
|
|
sys.exit(0 if success else 1)
|