ホームへ戻る

GitHub Repo

Transformers、未量子化重みのランダム初期化を防ぐ混合量子化ロード修正を提案

Transformersコミュニティは11月7日、compressed-tensorsの混合精度チェックポイントの読み込み時に、未量子化重みが誤って変換される問題への修正を提案した。提案は未マージで、著者は一部テストの合格を報告している。モデル全体の出力や正式リリースへの影響は、引き続き確認が必要だ。

Marcus Qwertyus · Public domain · Image source
zh-Hant

Transformersコミュニティは11月7日、混合精度のcompressed-tensorsチェックポイントにおける重みの読み込み処理を修正するPR #50466を提出した。この問題は11月6日に報告された。もともと未量子化のまま保持されている一部のモジュールに量子化重み向けの変換ルールが適用され、元のテンソルが読み込まれず、対象のパラメーターがランダム初期化されるというものだ。確認時点で、提案はまだマージされていない。問題報告

報告されたケースはRedHatAI/GLM-5.3-Flash-NVFP4だ。モデルカードによると、NVFP4量子化が適用されるのはMoEエキスパートの線形演算に使う重みと活性値であり、モデル全体が一律に4ビット精度を使うわけではない。このようなチェックポイントでは、ローダーがモジュールごとに異なる表現形式を維持して読み込む必要がある。モデル名に含まれる量子化形式だけでは、各テンソルの保存形式は判断できない。モデルカード

問題の原因は、量子化器がチェックポイント全体の設定に基づいて、重み変換器が参照するソース名を書き換えていたことにある。本来.weightを読み込むはずの注意機構のQ、K、Vを融合する処理が、weight_packedやweight_scaleなどの補助テンソルを探すようになり、通常の重みとして保存されたデータを取り込めなくなっていた。報告者は5.22.1と開発版で再現し、読み込みレポートにソース重みがUNEXPECTED、融合先がMISSINGとなる組み合わせが現れたと説明している。再現手順と環境

修正案では、まずシャードインデックスまたはsafetensorsのヘッダーから実際のテンソル名を取得し、各変換器で逆量子化が必要かどうかを判定する。通常の重みだけを持つソースには、従来の変換方法を適用する。著者は、スケールテンソルの欠落などを検出するエラーチェックも追加した。また、混合量子化、INT4のデコード、保存後の再読み込みを対象とした新規テスト11件が通過したと報告している。修正提案

デプロイチームにとって、この問題は量子化の検証で読み込み後の重みの整合性も確認する必要があることを示している。報告された仕組みから考えると、エンジニアは前述の読み込み警告を調べ、融合後のパラメーターとソーステンソルを比較すべきだ。現時点の証拠からは、モデル全体の精度低下を定量化できず、ほかの推論フレームワークにも一般化できない。今後はメンテナーのレビュー、完全な統合テスト、正式パッケージへの収録状況を確認する必要がある。

出典

  1. 修補提案:preserve dense converters in mixed compressed-tensors checkpoints
  2. 問題回報:混合精度檢查點的未量化模組遭隨機初始化
  3. RedHatAI/GLM-5.3-Flash-NVFP4 模型卡