GitHub Repo
TransformersコミュニティがRoPE互換性の修正を提案、旧式のスケーリング設定でモデルの周波数基底が失われる可能性
10月12日のTransformers開発版での報告によると、旧式のrope_scalingフィールドを上書きすると既存のRoPEパラメーターが削除され、初期化に失敗したり、再読み込み後にデフォルト値へ戻ったりする可能性があります。修正案には回帰テストが追加されていますが、まだマージされておらず、メンテナーからは新しい設定フィールドへの移行についても疑問が示されています。

Transformersコミュニティは10月12日、RoPE設定の互換性に関する問題を報告しました。初期化済みのモデル設定に旧式のrope_scalingを指定すると、rope_parameters全体が置き換えられ、既存の周波数基底まで失われる可能性があります。報告では5.19.0.dev0の開発ブランチを使用し、モデルの重みやGPUを必要としないCPUでの再現例が示されています。この報告だけから、すべての正式リリース版が影響を受けるとは判断できません。問題報告
再現例では、まずrope_theta=500000のLlama設定を作成し、その後、線形スケーリングと2倍の係数を指定します。旧式のtypeがrope_typeに変換されないため、rotary embeddingの初期化時にキーが不足しているというエラーが発生します。新しいキー名に変更しても、元の基底は失われます。報告者によると、保存後に再読み込みするとコンストラクターのデフォルトである10000に戻るため、問題は明示的な例外ではなく設定値の変化として現れることもあります。再現の詳細
これは、コンテキスト長を拡張するデプロイに技術的な影響を及ぼします。RoPEは、attentionのqueryベクトルとkeyベクトルを位置に応じて回転させ、位置情報を与えます。周波数基底、スケーリング方式、係数が組み合わさって、その挙動が決まります。公式ドキュメントでは現在、これらの値をrope_parametersで設定し、rope_thetaを省略した場合はモデルのデフォルト値が使われると説明しています。そのため、エンジニアは上書きの前後とシリアライズ後のRoPEパラメーター一式を確認する必要があります。スケーリング係数だけを確認しても、設定の一貫性は保証されません。公式RoPEドキュメント
修正案#49515は、ユーザーが明示的に上書きしない限り既存の基底と回転倍率を維持し、旧キー名、階層化された設定、スケーリングのリセットなどにも対応します。作成者は回帰テストを10件追加し、修正後にRoPEテストファイル全体の45件が通過したと報告しています。一方、レビューでは、下流の利用者がすでにv5を採用しているのに、なぜ旧フィールドを上書きするのかという疑問がメンテナーから示されました。この動作を互換レイヤーで扱うべきかどうかは、引き続き議論されています。修正案とレビュー
確認時点で、提案はオープンのままで、まだマージされていません。長いコンテキスト向けに設定を上書きしているチームは、デプロイ対象のバージョン、RoPE設定全体、保存と再読み込みの結果を優先して確認し、上流で旧インターフェースの互換性が維持されるかを追うべきです。テストの通過も、実際のモデル品質の検証に代わるものではありません。