GitHub Repo
TransformersコミュニティがFP8逆量子化の境界エラーを報告、一部の重みで読み込み失敗や数値のずれが発生する可能性
10月22日のTransformersコミュニティからの報告によると、FP8重みの末尾ブロックが128行に満たない場合、逆量子化に失敗したり、誤ったスケーリング値が適用されたりする可能性があります。報告にはCPUでの再現コードが含まれていますが、検証可能な正式修正版はまだありません。

Transformersコミュニティは10月22日、FineGrainedFP8の逆量子化に関する問題を報告しました。重み行列の次元が量子化ブロックサイズの整数倍でない場合、読み込み処理で例外が発生することがあります。また、一部の形状では検査を通過しても、誤った数値に復元されます。報告者は5.17.0でCPUによる再現テストを実行し、5.20.2と同日時点のメインブランチにも同じロジックが残っていると指摘しています。これはコードと出力を添えたコミュニティからの報告であり、関連するすべてのモデル配備で影響が確認されたことを意味するものではありません。問題報告
公式ドキュメントによると、Fine-grained FP8はデフォルトで重みを128×128のブロック単位で量子化し、活性値はトークンごとのグループ単位で量子化します。DeepSeek-V3およびR1をサポートしています。各ブロックにはそれぞれスケーリング値があるため、逆量子化では各要素を元のブロックに正しく対応させる必要があります。実装上、末尾にブロック全体に満たない部分があっても、同じ境界を保つ必要があります。公式技術ドキュメント
報告によると、現在のコードは重みの行数をスケーリンググリッドの行数で割り、ブロックサイズを逆算しています。DeepSeek-V3/R1のある射影行列は576行で、128行単位に分割するとスケーリング値は5組必要となり、最後のブロックは64行です。576は5で割り切れないため、読み込みエラーが発生します。一方、192行でスケーリング値が2組の別のテストケースでは割り切れるものの、ブロックサイズが96行と誤判定され、スケーリング値の適用位置がずれてしまいます。再現方法と根本原因の分析
エンジニアリングチームにとって、この問題は、ハードウェアをまたぐ配備では逆量子化後のテンソルを検証し、モデルの読み込みに成功したかどうかだけで判断しない必要性を示しています。ネイティブFP8での実行と、より高い精度への変換では異なるコードパスを通る可能性があり、一方のパスだけをテストしても、もう一方を網羅できるとは限りません。報告者は、まず設定からブロックサイズを読み取り、スケーリング値を展開してから重みの形状に合わせて切り詰める方法を提案していますが、混在するブロック形式については、なお明確化が必要です。今後はメンテナーによる確認、修正のマージ、正式リリースを追跡し、参照用の逆量子化結果で境界ブロックを検証する必要があります。現時点では、この問題が実際の生成品質に与える影響を定量化できる証拠はありません。修正案と制約