feat(transformers): Add native Transformers config

#23

What does this PR do?

β†’ Sets model_type from new to gte and adds rope_parameters, so the checkpoint loads directly with AutoModel / AutoConfig in Transformers πŸ€— without trust_remote_code.
β†’ Transformers support is being added in https://github.com/huggingface/transformers/pull/48416
β†’ ⚠️ Please hold this until the Transformers PR above has landed πŸ€—

Compatibility

β†’ rope_scaling and rope_theta are replaced by rope_parameters. rope_scaling cannot be kept alongside it, because Transformers reads that key first and ntk is not one of its rope types.
β†’ auto_map is left in place, but on this revision a trust_remote_code=True load no longer finds rope_theta / rope_scaling and falls back to the remote defaults (rope_theta=10000.0, rope_scaling=None) instead of this checkpoint's values. That changes the embeddings, and the gap grows with sequence length, so anyone staying on an older Transformers version should pin a revision from before this PR.

Produced by?

β†’ rope_parameters is the standardised form of the existing rope_scaling / rope_theta pair. GTE applies NTK scaling statically at construction by rescaling the base and dividing the inverse frequencies by factor ** (2 / head_dim), which is exactly a linear scaling with base rope_theta * factor, so the inverse frequencies are unchanged.
β†’ Outputs are reproduced against the original implementation on this checkpoint (max relative difference 1.1e-06), and the slow integration tests in the Transformers PR run against this revision.

harshaljanjani changed pull request title from ⚠️ DO NOT MERGE: feat(transformers): Add native Transformers config to feat(transformers): Add native Transformers config
harshaljanjani changed pull request status to open
Ready to merge
This branch is ready to get merged automatically.

Sign up or log in to comment