[Bugfix] Handle conflicts between modern and legacy fields (#10471)

Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>
This commit is contained in:
Cyrus Leung 2024-11-20 14:45:08 +08:00 committed by GitHub
parent 343041c4c4
commit 09dbf9ff16
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -107,6 +107,15 @@ def patch_rope_scaling(config: PretrainedConfig) -> None:
def patch_rope_scaling_dict(rope_scaling: Dict[str, Any]) -> None:
if "rope_type" in rope_scaling and "type" in rope_scaling:
rope_type = rope_scaling["rope_type"]
rope_type_legacy = rope_scaling["type"]
if rope_type != rope_type_legacy:
raise ValueError(
f"Found conflicts between 'rope_type={rope_type}' (modern "
f"field) and 'type={rope_type_legacy}' (legacy field). "
"You should only specify one of them.")
if "rope_type" not in rope_scaling and "type" in rope_scaling:
rope_scaling["rope_type"] = rope_scaling["type"]
logger.info("Replacing legacy 'type' key with 'rope_type'")