AI 開源工具
Transformers 5.16、並列化バックエンドをDTensorに移行し、NVFP4とレイヤー単位のKV cache設定を追加
Hugging Faceの新版では、従来のtensor-parallel実装がDTensorに置き換えられ、初期段階のpipeline-parallel推論とNVFP4によるオンザフライ量子化も追加された。今回のアップグレードではTP、Fuyu、一部の音声モデルの挙動も変更されるため、既存の学習・推論パイプラインでは回帰テストが必要となる。

Hugging Faceは8月26日、Transformers 5.16.0をリリースした。新たなモデルのサポート以上に、デプロイ担当チームが注意すべきなのは、並列化、量子化、cacheインターフェースが同時に変更された点だ。従来のtensor-parallelバックエンドは、学習と推論の両方をカバーするPyTorch DTensorのネイティブ実装に置き換えられた。従来の`tp_plan`パスとの互換性は暫定的に復元されたが、すでに非推奨化サイクルに入っており、長期的なインターフェースとは見なせない。
新版では、naiveと明記されたpipeline-parallel推論エンジンも追加された。入力・出力embeddingがtieされている場合とされていない場合の両方を処理でき、`generate()`へ直接統合されている。これにより、Transformersのみに依存するチームでも、複数デバイスにまたがるモデル分割を試し始められる。ただし、リリースノートにはスループット、pipeline bubbleの比率、クロスノードでのスケーリング、vLLMやSGLangなどの専用serving runtimeとの比較が示されていない。そのため現時点では、実証済みの本番向け性能ソリューションというより、機能面のベースラインとして捉えるのが適切だ。
量子化については、5.16でHugging Face kernels経由のNVFP4が追加され、ロード中にBF16の重みをオンザフライで量子化できる。公式によれば、重みが占めるメモリは約半分に減少する。この数字が示すのは重みの保存領域であり、サービス全体のVRAM使用量ではない。KV cache、activation、量子化metadata、未対応のoperator、kernel workspaceは引き続きメモリを消費し、実際の削減量もGPUアーキテクチャとモデルの対応範囲に左右される。
ハイブリッドattentionモデル向けには、各レイヤーの`sliding_window`、`attention_chunk_size`、convolution state数を個別に指定できるようになった。また、sliding-window cacheの循環処理におけるoff-by-one、Whisperのspeculative decodingで発生するcache破損、KV cacheのみを量子化したcompressed-tensorsのロード問題も修正された。MoE学習ではload-balancing lossをレイヤー単位で計算する方式に変更され、関連PRでは128K設定におけるone-hot中間オブジェクトが99.7%削減されたと報告されている。ただし、これはend-to-endの学習メモリ使用量や速度の改善率を示す数字ではない。
今回のアップグレードは完全な後方互換ではない。`FuyuProcessor`は`image_patch_indices`を出力しなくなり、一部の音声モデルではSDPAが正しくdispatchされるようになったため、従来のworkaroundによって初期化時の挙動が変わる可能性がある。PyPIパッケージにはTrusted Publishing provenanceとSigstore attestationが付属するが、エンジニアリングチームはまず5.16.0にバージョンを固定し、実際のcheckpointを用いてTP設定、cache境界、量子化精度、生成結果の一貫性、ピークVRAM使用量を検証したうえで、旧バージョンのサービスを段階的に置き換えるべきだ。