FP8_scaled と MXFP8 のどっちがおすすめ? 画像生成 AI モデル の精度と速さを徹底比較! 【浮動小数点・軽量化】
2026.7.6 追記
記事の最後に、2026.7.1 に ComfyUI が新たに対応した INT8_ConvRot 形式 との比較を追記しました。INT8_ConvRot 形式は、既存のすべての FP8 と FP4 形式より、精度・速度ともに優れている ため、今後は FP8 ではなく INT8_ConvRot 形式の利用をおすすめします。
はじめに
こんにちは、きまま / Easygoing です。
今回は、画像生成 AI モデルの形式と精度と速さ についてみてみます。

AI モデル は、浮動小数点形式で処理を行う
画像生成 AI を含む AI モデルは、膨大な計算を 浮動小数点形式 で行っています。
浮動小数点形式について
$${(-1)^{\text{符号部}} \times 2^{\text{指数部}} \times \text{仮数部}}$$

浮動小数点形式は、ダイナミックレンジ が広い ので処理が安定し、さらにデータが頻出する 0 付近 にビット数を多く使うので 比較的精度が良い という特徴があります。

浮動小数点方式は、1985年に標準化されて以降、主に 32bit 浮動小数点方式(FP32)が使われてきましたが、2010年代に入り AI の研究が進むと、より軽量な FP16 / BF16 形式 も使われるようになりました。
GPU が対応する浮動小数点形式の一覧!
それでは、NVIDIA・AMD・Intel のそれぞれの GPU が対応する浮動小数点形式を見てみます。


FP32:高精度・高コスト
FP16:精度と速度の良いバランス
BF16:FP16 より安定するが、精度が少し落ちる
FP8:FP16 / BF16 の半分の容量、精度はかなり落ちる
FP8_scaled:スケーリングを行い、FP8 の精度の低下を抑えた方式
MXFP8:32個のデータ毎にブロックに分けてスケーリング、精度をさらに改善
NVFP4:2段階のスケーリングで、FP4 でも最低限の精度を維持
FP32 は、全てのデバイスで実行可能 な形式です。
FP16 は FP32 の半分の容量で、実用上問題ない精度 を維持できています。
BF16 は、FP16 から 精度を落とす代わりに安定性を向上 させた形式で、モデルの学習や VAE の処理で利用されています。
FP8 は FP16 / BF16 の半分の容量ですが、精度は大きく低下してしまいます。
そこで、モデルの層ごとに 絶対最大値を使ってスケーリング をすることで、精度の低下を抑えたのが FP8_scaled で、これは FP8 が実行可能な全ての GPU で利用することができます。

さらに、モデルの層を 32個 ずつのデータの ブロックに分けて細かくスケーリング を行ったのが MXFP8 で、外れ値の影響を最小化できるので精度がさらに改善しますが、ハードウェア的に実行可能な GPU は RTX 5000 シリーズ に限られます。
NVFP4 は 2025年に登場した新しい形式で、2段階のスケーリング を行うことで低精度の 4 bit でも最低限の精度を維持しています。
実際のイラストを比べてみよう!
それでは、実際のイラストを比べてみましょう。
今回は、外部の Text Encoder と VAE を使わない、シンプルな UiT アーキテクチャ の HiDream-O1-Image_clear_v1 モデルを利用して比較を行います。
HiDream-O1-Image_clear_v1 モデル について
HiDream-O1-Image シリーズは、アニメイラストの描写はまだ苦手なので、今回は 実写系のイラスト を生成してみます。
実際のイラスト
それでは実際のイラストを見てみましょう。
FP32

まずは、最も精度の良い FP32 形式 のイラストです。
HiDream-O1-Image モデルは、VAE を使わない UiT アーキテクチャなので、従来のモデルと比べて 自然な色表現 になっています。
この FP32 形式を基準に、左側に該当の形式で生成したイラスト、右側に FP32 形式 と比べた場合の差分マップを並べてみます。
FP16

最初に比較するのは、FP16 形式 です。
FP16 形式 は、FP32 形式 と比べて 人物の輪郭 と 服の模様 に違いが生じていますが、色の表現も良く高いクオリティが保たれています。
BF16

続いて BF16 形式 です。
先ほどの FP16 形式 と同様に、人物の輪郭と服の模様に違いが生じていますが、こちらも高いクオリティになっています。
MXFP8

次に、8 bit の中では最も精度の良い MXFP8 形式 を見てみます。
MXFP8 形式は、先ほどの BF16 形式 と比べて 背景の花 も変化していますが、全体のクオリティは比較的保たれています。
FP8_scaled

続いて FP8_scaled 形式 です。
FP8_scaled は先ほどの MXFP8 よりも劣化が強く、色の深みも失われて 灰色っぽい表現 になってしまいました。
FP8

次は、単純な FP8 形式 です。
FP8 形式は、今までとは全く違った 単純な構図 になり、さらに ブロックノイズ 出現して未完成のイラストになっています。
NVFP4

最後に NVFP4 形式 を見てみます。
NVFP4 形式は、先ほどの FP8 形式と比べて構造は保たれている一方で、色のトーン が強く変化して、イラストの印象が変わっています。
MAE と SSIM で数値化して比較!
それでは、それぞれのイラストの違いを数値で比較してみましょう。
今回は、FP32 形式 からの変化を MAE と SSIM の類似度で評価します。

Mean Absolute Error (MAE):主にカラーの違いを検出
Structural Similarity Index (SSIM):白黒の構造の違いを検出
それぞれのイラストを、最も精度の良い FP32 形式と比較して、MAE と SSIM を 7回測定して中央値 を求めてみます。
画像生成 AI モデルの容量と精度


モデルの 容量と画質 は比例する
FP16 と BF16 は、ほぼ同じ精度
FP8 は画質が劣化するが、MXFP8 と FP8_scaled は精度をかなり維持
NVFP4 は、単純な FP8 よりも精度が良い
画像生成 AI モデルの 容量と画質 は、概ね比例しています。
グラフを見ると、FP8 形式 は精度が大きく低下していますが、MXFP8 と FP8_scaled はスケーリングを行って 重要部分の情報を保持 することにより、かなりの精度を維持しています。
NVFP4 は、4 bit 相当の画質になりますが、それでもスケーリングの効果で単純な FP8 より画質は保たれています。
浮動小数点形式と精度
今回の測定での精度は、次の順番になりました。
FP32 > FP16 ≒ BF16 > MXFP8 > FP8_scaled > NVFP4 > FP8

生成時間の比較
後半は、生成にかかった時間を比較します。
まず、今回の測定の環境は次のとおりです。
測定環境
Linux (Pop!_OS 24.04)
ComfyUI 0.24.0
RTX 4060 Ti 16GB
2048 x 2048, 24 Steps
Windows と Linux の生成速度の比較
GPU が対応する浮動小数点形式

今回の検証で利用した RTX 4060 Ti は、FP32 から FP8_scaled まで の形式に対応していますが、MXFP8 と NVFP4 には非対応 なので、 BF16 に フォールバック して動作します。
実際の生成時間
それでは、実際の結果です。
今回も、それぞれの形式で7回測定して中央値を示しています。
イラスト生成の所要時間


まず、画像の生成速度は モデルを VRAM にロードできるかどうか でほぼ決まります。
HiDream-O1-Image モデルは、FP16 / BF16 以下の形式が VRAM に完全ロード できるので、処理を高速に行うことができます。

次に、RTX 4000 シリーズが対応していない MXFP8 と NVFP4 は、BF16 にフォールバックして処理するため、生成速度はむしろ遅くなっていて、対応していない GPU で最新形式を実行するメリットはほぼありません。
また、今回の FP8_scaled は ComfyUI 専用形式 のため、処理が高速に行われましたが、外部ツールで変換した FP8 は ComfyUI ではうまく認識されず、BF16 にフォールバックして動作が遅くなってしまいました。
ComfyUI 専用の FP8_scaled が利用可能な場合は、なるべく FP8_scaled モデル を利用すると良いでしょう。
最適な形式は GPU によって異なる
今回 RTX 4060 Ti 16GB では、FP16 と FP8_scaled が画質と速度のバランスに優れていることが分かりました。

イラストの生成速度は、VRAM の容量 と GPU が対応する浮動小数点形式 で全く違ってくるので、複数の形式が公開されている場合は、いろいろ試してみなさんの最適解を見つけてみてください。
UiT アーキテクチャは変化が大きい
今回は UiT アーキテクチャの HiDream-O1-Image で検証を行いましたが、以前に検証した Flux.1 [dev] と比べて、モデルの形式によるイラストの変化が大きい結果になりました。
HiDream-O1-Image:UiT、ベースモデル
Flux.1 [dev]:ViT、蒸留モデル
Flux.1 [dev] のモデル形式と精度について
これは、HiDream-O1-Image が UiT アーキテクチャ の ベースモデル であるのに対して、Flux.1 [dev] は ViT アーキテクチャ の 蒸留モデル であり、Flux.1 [dev] は VAE の後処理での破綻を抑えるために、蒸留の段階で 出力を一定範囲に抑える調整 がされていたのではないかと考えてます。
UiT アーキテクチャ は、シンプルな構造な分さまざまな調整ができるので、柔軟な脳を持ったモデル と言えるでしょう。
まとめ:容量と画質は比例する
画質:FP32 > FP16 ≒ BF16 > MXFP8 > FP8_scaled > NVFP4 > FP8
VRAM にロードできると速い
GPU が対応する形式を利用する
今回は、モデルの浮動小数点形式と画質と生成速度を比較しました。
浮動小数点にはいろいろな形式があり、選択に迷うケースも多いですが、今回 モデルの容量と画質は比例する ことを確認できました。

MXFP8 や NVFP4 などの新しい形式は、最新の GPU で高速に生成 する用途では、良い選択肢になると思います。
これからも、画像生成 AI の画質と速度について、独自の検証を行っていきたいと思います。
最後までお読みいただきありがとうございます!
2026.7.6 追記:INT8_ConvRot との比較
2026.7.1、ComfyUI が新たに INT8_ConvRot 形式 に正式対応しました。INT8_ConvRot 形式をこれまでの浮動小数点形式と比較してみます。
ひろろひさんの INT8_ConvRot についての解説記事
FP32 vs INT8_ConvRot_HQ

精度(MAE と SSIM)


生成速度


INT8_ConvRot_HQ は、通常に加えて、画質に与える影響が大きい最初と最後の層も FP16 で保持した筆者のカスタムモデルです。
INT8_ConvRot 形式は、既存のすべての FP8 と FP4 形式より、精度・速度ともに優れている ため、今後は FP8 ではなく INT8_ConvRot 形式の利用をおすすめします。
変換に利用したライブラリ
変換時のコマンド
ctq -i HiDream-O1-Image_clear_v1_FP16.safetensors \
-o HiDream-O1-Image_clear_v1_INT8_ConvRot_HQ.safetensors \
--int8 --scaling_mode row \
--convrot --convrot-group-size 64 \
--calib_samples 8192 \
--comfy_quant --save-quant-metadata --verbose VERBOSE \
--exclude-layers "norm|bias|embed_tokens|pos_embed|patch_embed|t_embedder|x_embedder|lm_head|final_layer2|language_model\.layers\.(0|1|2|33|34|35)\.|visual\.blocks\.(0|1|2|24|25|26)\.|visual\.blocks\.\d+\.mlp\.linear_fc2"ワークフロー & 測定データ
ワークフロー
今回の測定に利用したワークフローはこちらです。

測定データ
また、実際の測定データは次のページにまとめています。
