メインコンテンツへスキップ
見出し画像

そのイラストは高画質? 実際の数値で比べよう! Flan-T5xxl と CLIP-L を徹底比較!

    はじめに

    こんにちは、きまま / Easygoing です。

    今日は、イラストの違いを比べる方法について考えます。

    お題:ウィンタースポーツ

    今回のお題はウィンタースポーツです。

    Anime illustration of a girl with brown hair and blue eyes looking at you with a smile on a ski slope at sunset

    スキー場で仲間とともに楽しく過ごす様子を、イラストに描いてみます。

    Image Difference Checker

    まず、画像の違いについて客観的に評価するために、新しく Webページを作りました。

    今回作成したページはこちらです。

    このページでは、2枚の画像を入力すると次の結果を出力します。

    T5xxl_FP16_vs_Flan-T5xxl-FP32
    • 差分マップ(カラーと白黒)

    • Mean Absolute Error (MAE):平均絶対誤差

    • Structural Similarity Index (SSIM):構造類似性指数

    このマップと数字を比較することで、2枚の画像に違いを客観的に評価することができます。

    なお、このツールで検出できるのは「違い」なので、どちらのイラストが優れているかは実際に人が見て判断する必要があります。

    実際の比較!

    それでは、早速このツールを使ってみたいと思います。

    このところ、テキストエンコーダーについて記事を書いているので、今回もテキストエンコーダーの比較をしてみます。

    Flux.1の画像生成のフローチャート
    Flux.1 のテキストエンコーダー

    Flan-T5xxl:T5xxl の最新版

    • T5xxl_v1.1 の改良版

    • 命令と解答による追加学習を行って性能が向上

    • プロンプト理解力の向上も期待できる

    まず最初に比較するのは Flan-T5xxl です。

    Flan-T5xxl はプロンプトの文脈を理解する T5xxl に、命令と解答を与える追加学習を行い、性能を向上させたモデルです。

    画像生成のプロンプトは命令文として扱うので、この追加学習によってプロンプトの再現性の向上が期待できます。

    Flan-T5xxl の精度は、圧縮形式でどのように変わってくるのでしょうか?

    Flan-T5xxl-FP32(32 bit)

    Flan-T5xxl-FP32_LongCLIP-SAE-ViT-L-14-FP32

    Flan-T5xxl-FP32 はオリジナルの 32 bit のモデルで、生成されるイラストはとてもクリアーです。

    ここからは、この FP32 形式 を基準に比較していきます。

    右側の黒い画像はカラーの差分マップを表しています。

    Flan-T5xxl-FP16(16 bit)

    Color-Diff_Flan-T5xxl-FP16_LongCLIP-SAE-ViT-L-14-FP32_Flan-T5xxl-FP32_LongCLIP-SAE-ViT-L-14-FP32 compare

    FP16 は一般的に広く使われている形式ですが、FP32 と比べると僅かに劣化があります。

    Flan-T5xxl-Q8_0.gguf(8 bit)

    Color_Diff_Flan-T5xxl-Q8_0.gguf_LongCLIP-SAE-ViT-L-14-FP32_Flan-T5xxl-FP32_LongCLIP-SAE-ViT-L-14-FP32 compare

    GGUF 形式 は量子化圧縮を行った形式です。Q8_0.gguf は元のイラストにかなり近いですが、右手の指が微妙に違っています。

    Flan-T5xxl-Q5_K_M(5 bit)

    Color_Diff_Flan-T5xxl-Q5_K_M.gguf_LongCLIP-SAE-ViT-L-14-FP32_Flan-T5xxl-FP32_LongCLIP-SAE-ViT-L-14-FP32 compare

    Q5_K_M.gguf まで圧縮すると、全体にかなり違いが出てきます。

    特に、遠景の山の部分が省略されているのが分かります。

    Flan-T5xxl-Q3_K_L(3 bit)

    Color_Diff_Flan-T5xxl-Q3_K_L.gguf_LongCLIP-SAE-ViT-L-14-FP32_Flan-T5xxl-FP32_LongCLIP-SAE-ViT-L-14-FP32 compare

    Q3_K_L まで圧縮すると、文字まで大きく変わっています。

    結果のグラフ!

    Flan-T5xxl MAE and SSIM Similarity
    Table comparing the capacity of Flan-T5xxl compressed formats with MAE and SSIM

    Flan-T5xxl は、圧縮して容量を削減すると、それだけ精度も低下 しています。

    Q5_K_M 以下は劣化が目立つので、できれば Q6_K 以上を使う のが良さそうです。

    T5xxl_v1.1: デフォルトの T5xxl

    • T5xxl の 2021年 に登場したバージョン

    • Flux.1 と SD 3.5 に標準で搭載

    • 画像生成で一番広く使われている

    続いて T5xxl_v1.1 を比較します。

    T5xxl_v1.1 は先ほどの Flan-T5xxl より古いバージョンですが、公式に配布されているので一番広く使われていると思います。

    T5xxl_v1.1 は FP8 形式 と GGUF 形式の両方が入手できるので、それぞれを比較してみます。

    実際の画像

    T5xxl_v1.1-FP32(32 bit)

    T5xxl-v1_1_original-FP32_LongCLIP-SAE-ViT-L-14-FP32

    T5xxl_v1.1 のオリジナルの FP32 形式は、Hugging Face の Google のページで公開されています。

    T5xxl_v1.1-FP16(16 bit)

    Color-Diff_T5xxl_v1.1-FP16_LongCLIP-SAE-ViT-L-14-FP32 compare

    FP16 形式は、Hugging Face の Comfy UI のページで配布されていて、おそらく Flux.1 で一番よく使われているモデルです。

    FP32 と比べると少し劣化があります。

    T5xxl_v1.1-FP8e4m3fn_scaled(8 bit)

    Color_Diff_T5xxl-v1_1_FP8e4mefn_scaled_LongCLIP-SAE-ViT-L-14-FP32_T5xxl-v1_1_original-FP32_LongCLIP-SAE-ViT-L-14-FP32 compare

    FP8e4m3fn_scaled 形式は、次に紹介する FP8e4m3fn の圧縮方法を調整して、少しの容量の増加と引き換えに精度を上げたモデルです。

    同じく ComfyUI のページで配布されています。

    T5xxl_v1.1-FP8e4m3fn(8 bit)

    Color_DiffT5xxl-v1_1_FP8e4mefn_LongCLIP-SAE-ViT-L-14-FP32_T5xxl-v1_1_original-FP32_LongCLIP-SAE-ViT-L-14-FP32 compare

    こちらは、単純なFP8e4m3fn 形式です。先ほどの FP8e4m3fn_scaled よりもかなり劣化が目立ちます。

    T5xxl_v1.1-Q8_0.gguf(8 bit)

    Color_Diff_T5xxl-v1_1_Q8_0_gguf_LongCLIP-SAE-ViT-L-14-FP32_T5xxl-v1_1_original-FP32_LongCLIP-SAE-ViT-L-14-FP32 compare

    ここからは、City69氏が公開している GGUF 形式です。

    Q8_0.gguf 形式は、同じ容量で先ほどの FP8 形式よりも精度が良いと言われています。

    T5xxl_v1.1-Q5_K_M.gguf(5bit)

    Color_Diff_T5xxl-v1_1_Q5_K_M_gguf_LongCLIP-SAE-ViT-L-14-FP32_T5xxl-v1_1_original-FP32_LongCLIP-SAE-ViT-L-14-FP32 compare

    Q5_K_M.gguf は 5ビットの GGUF 形式で、City69 氏 がすすめる最低ラインです。

    先ほどの Q_8.gguf 形式と比べると、やはり劣化が目立ちます。

    T5xxl_v1.1-Q3_K_L.gguf(3 bit)

    Color_Diff_T5xxl-v1_1_Q3_K_L_gguf_LongCLIP-SAE-ViT-L-14-FP32_T5xxl-v1_1_original-FP32_LongCLIP-SAE-ViT-L-14-FP32 compare

    3ビットの GGUF形式です。

    ここまで軽量化すると画像生成では性能低下がハッキリ出ますが、大規模言語モデルとしてはまだ実用性はあると言われています。

    結果のグラフ!

    T5xxl_v1.1 MAE and SSIM Similarity
    Table comparing the capacity of T5xxl_v1.1 compressed formats with MAE and SSIM

    実際の精度

    1. FP32

    2. FP16

    3. FP8e4m3fn_scaled

    4. Q8_0

    5. Q5_K_M

    6. Q3_K_L

    7. FP8e4m3fn

    T5xxl_v1.1 は、かなり意外な結果になりました。

    8bit 版は、一般的に FP8 形式より GGUF 形式の方が精度が良いと言われていますが、今回は FP8e4m3fn_scaled が圧縮方法の調整によって大幅に性能が向上 して、Q8_0.gguf 形式を上回る精度を出しています。

    またその一方で、再調整をしていない FP8e4m3fn 形式は Q3_K_L より精度が劣っていて、GGUF 形式の精度の良さも裏付ける結果にもなっています。

    AI は、モデルを軽量化したあと 再調整で大きく性能が変わる ことがわかります。

    CLIP-L の比較

    続いて CLIP-L の比較です。CLIP-L は容量は小さいですが、テキストと画像を直接結びつけるので、先ほどの T5xxl よりもイラストが大きく変化します。

    まずは、それぞれの CLIP-L の FP32 と FP16 形式を比較してみます。

    Long-CLIP-ViT-L-14-GmP-SAE(2024.12.19 リリース!)

    Long-CLIP-ViT-L-14-GmP-SAE_Flan-T5xxl-FP32_Difference
    左:FP32 形式  右:FP16 形式

    Long-CLIP-ViT-L-14-GmP-SAE モデルは Long-CLIP-L の最新モデルで、2024.12.19 にリリースされました。

    SAE :Sparse Autoencoder(スパース自己符号化器)モデルは今までとは違ったかなりの野心作で、ベンチマークスコアは若干低下しているものの 創造性が高まった モデルになります。

    どちらもクリアーできれいなイラストですが、FP32 形式 と FP16 形式 でそれなりの精度の違いがあります。

    なお、Long-CLIP-L モデルは今のところ ComfyUI でのみ 利用することができます。

    また、FP32 形式のテキストエンコーダーを使うには、以前に紹介した --fp32-text-enc の設定が必要です。

    改良型 CLIP-L と Flan-T5xxl の使い方

    CLIP-SAE-GmP-ViT-L-14(2024.12.8 リリース!)

    CLIP-ViT-L-14-GmP-SAE_Flan-T5xxl-FP32_Difference

    CLIP-SAE-GmP-ViT-L-14 は 、2024.12.8 にリリースされた CLIP-L の SAE モデルです。

    こちらは ComfyUI だけでなく、Stable Diffusion webUI Forge でも利用できます。

    このモデルも、FP32 と FP16 形式でやはり違いがあります。

    標準型 CLIP-L

    CLIP-L_Flan-T5xxl-FP32

    公式に配布されている標準型の CLIP-L です。

    こちらも、FP32 形式 と FP16 形式で違いがあります。

    改良型 CLIP-L vs 標準型 CLIP-L

    最後に、改良型 CLIP-L と 標準型 CLIP-L を直接比較してみます。

    Comparison image of improved CLIP-L vs. standard CLIP-L

    イラストを比べると、左の改良型 CLIP-L の方が全体がクリアーでディティールが細かく、特に スキー板周りの描写 に違いがあるのが分かります。

    今回計算した2つの指標のうち、SSIM は人が感じる印象とよく相関するといわれていますが、両者でこの値も大きく違ってきています。

    CLIP-L は T5xxl と比較するとずっと小さな容量ですが、イラストの生成に直接関わるので 画質に大きく影響する ことが分かります。

    テキストエンコーダー は FP32 形式 を使う価値がある

    今回の検証では、いずれのテキストエンコーダーでも FP32 形式 と FP16 形式で精度の違いがありました。

    Anime illustration of a girl with brown hair and blue eyes holding a ski board with the word “Flan” written on it, looking surprised at a ski slope at sunset

    テキストエンコーダーの T5xxl は容量が大きいですが、現在はモデルのロード先を システム RAM に設定することで、モデルの移動時間を抑えることができます。

    Flan-T5xxl_TE-only の使い方

    CLIP-L と Flan-T5xxl のアップデートは効果が大きく、デメリットは何もない ので是非試してみることをオススメします!

    まとめ:テキストエンコーダーでこんなに変わる!

    • 画像を数値で比較できるページ

    • テキストエンコーダーは FP32 形式 がおすすめ

    • Flan-T5xxl はロード先を システム RAM に設定

    今回、画像の違いを数値化することで、モデルの精度をより正確に比較できるようになりました。

    今回の検証を通じて、テキストエンコーダーはかなり画質に影響していることが分かりました。

    プロンプトのエンコード処理は 画像生成の最上流 に位置するので、ここで誤差が生じると後々それが増幅されていくのかもしれません。

    Anime illustration of a girl with orange hair and blue eyes smiling and looking at you with her friends in front of a snowy cabin

    PC のスペックが劣る環境でも、改良型 CLIP-L や FP32 形式など、ポイントを押さえてアップグレード すればかなり画質を改善できると思います。

    Flan-T5xxl や 改良型 CLIP-L が、オープンソースで公開されていることに感謝しながら、これからも画像生成を楽しんでいきたいと思います。

    最後までお読みいただきありがとうございます!


    2025.8.25 追記

    FP32 形式のテキストエンコーダーについて

    最新の 画像生成 AI モデルでの FP32 形式のテキストエンコーダーの使い方についてまとめました。

    2025.1.11 追記

    Flan-T5xxl と T5xxl_v1.1 の比較記事

    matataByy さんが、Flan-T5xxl と T5xxl_v1.1 を含めて T5xxl を詳細に比較する記事を公開されました。

    それによると、

    • プロンプトの理解力は Flan-T5xxl-FP32 が良い傾向にある

    • Flux.1[dev] より Flux.1[shnell] の方がプロンプトの追従性が良い

    のようです。皆様もぜひ一度ご確認ください!


    更新履歴

    2025.8.25

    FP32 形式の使い方についての記事紹介を追加しました

    2025.4.20

    ComfyUI のアップデートに伴い、記事を一部修正しました

    2025.3.9

    Flan-T5xxl_TE-only の公開に伴い記事を一部修正しました


    English Article


     
     
     
    はじめまして、きまま です。ふとしたきっかけでAI画像生成に出会い、その魅力にすっかり取り憑かれました。AI画像で気づいたことを発信していきます。 画像はAIで生成したものですが、もし気に入ったものがあればご自由にお使い下さい。AI技術を否定する目的でのご利用はご遠慮下さい。

    あなたへのおすすめ