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

Spectrumによる生成高速化が凄すぎた!

    2026/5/16更新:ステップ削減系の高速化LoRAと組み合わせる場合の設定について追記しました。
    2026/4/4更新:sd-webui-forge-spectrumについて追記しました。
    2026/3/26更新:当記事の執筆後、ComfyUI Spectrum SDXL Nodeがアップデートして大きな改善があったため再び検証しました。印象が変わると思いますのでこちらの記事も是非ご覧ください。

    2026/3/26更新:生成時間が以前よりも増えていることについて、Dynamic Vramが有効になっていたことが原因であると追記しました。
    2026/3/24更新:ステップ削減系の高速化LoRAと組み合わせても無意味であることを追記しました。
    2026/3/20更新:ComfyUI Spectrum SDXL Properとその他の実装の違いについての考察を追加しました。


    AI驚き屋のようなタイトルを付けていますが、これは誇張抜きで凄いと思います。Sageattentionなどの最適化とも併用でき、画質劣化と画像変化を最小に抑えながら画像生成や動画生成の生成時間を約30%削減できます。
    これまでのDMD2やLightning等のステップ削減による高速化では劣化や画像の変化が大きく、また非適用時とのSeedの一貫性の無さが難点でしたが、Spectrumではそれらがほとんどありません。

    適用できるモデルに制限はありますが、Text2ImageではSDXL, SD3.5-Large, Flux, Anima、Text2VideoではHunyuanVideo, Wan2.1-14Bで利用できることが確認されておりかなり使えます。
    概要と実際に試した結果を解説します。

    概要

    Spectrum本家

    元となっているのは以下の「Adaptive Spectral Feature Forecasting for Diffusion Sampling Acceleration(拡散サンプリング加速のための適応型スペクトル特徴予測)」という論文とその実装コードです。

    論文をチラ読みしましたが、数式だらけで私にはチンプンカンプンでした。
    以下はAbstractより抜粋、和訳したもの。

    本研究では、厳密に制御されたエラーでグローバルかつ長距離の特徴再利用を可能にするトレーニング不要のアプローチであるスペクトル拡散特徴予測器(Spectrum)を提案します。
    特に、ノイズ除去器の潜在特徴を時間の関数とみなし、チェビシェフ多項式で近似します。具体的には、リッジ回帰によって各基底の係数を適合させ、それを利用して複数の将来の拡散ステップの特徴を予測します。

    https://arxiv.org/abs/2603.01623 より

    この予測を用いて実際の処理を簡略化、高速化するものだそうです。

    ComfyUI、A1111系WebUIへの実装

    ComfyUI用にいくつかのカスタムノードがリリースされていますが私が試したのは以下の3つです。

    ComfyUI Managerで「Spectrum」というキーワードで検索するとFluxやWanで利用できるものも見つけることができます。今後も増えてくるでしょう

    A1111系WebUIではForge Neoが2026/3/9リリースのv2.15においてsd_forge_spectrumというビルトイン拡張機能 (Built-in Extension) として実装されています。reForgeでも近日中に実装されるでしょう(A1111は難しいと思います)。

    一覧にまとめたのが下表です。

    画像
    Spectrumを実装したカスタムノード、拡張機能の一覧

    ComfyUI-Anima-EnhancerはAnima以外で利用しようとするとエラー停止するよう実装されています。逆にComfyUI Spectrum SDXL ProperをAnimaで利用してみたところエラーは発生しませんでしたが素通りしているようでした。
    Spectrumに関する基本的なパラメータとコアロジックは同一ですが、入力可能なパラメータ範囲、型(精度)、前後処理や補正処理によって生成画像と処理時間はそれぞれ微妙に異なります。


    2026/3/20追記:
    ComfyUI-Anima-EnhancerとForge Neoは、Spectrumの実装にComfyUI Spectrum SDXL Nodeのコードをほぼそのまま利用しています。
    一方ComfyUI Spectrum SDXL Properはそれらと異なるコード、構成になっています。また、READMEを読むと本家のSpectrumの実装から変更しているような説明がされているので、他や本家とは少し異なるチューニングがされているのかもしれません(コードを読み解いたわけではないため断言はできませんが)。

    導入方法・使い方

    ComfyUIカスタムノード

    カスタムノードの導入方法は、一般的な方法と同じくComfyUI ManagerのCustom Node Managerを使うかcustom_nodesフォルダでgit cloneするだけです。ただし記事作成時点ではComfyUI Spectrum SDXL NodeはComfyUI Managerで見つけることができずgit cloneするしかありませんでした。

    使用方法はモデルローダーとKSamplerの間に挟むだけなので超簡単です。LoRAを使う場合はLoraの後ろ、KSamplerの直前です。

    画像
    ComfyUI Spectrum SDXL Nodeの使用例

    Forge Neoビルトイン拡張機能

    Forge Neoはv2.15以降であればtxt2img, img2imgタブの下の方にある「Spectrum Integrated」メニューから利用することが出来るようになっています。

    画像
    Forge NeoのSpectrum Integratedメニュー

    パラメータの解説

    各カスタムノード、拡張機能の設定パラメータについて意味、範囲、初期値、推奨値を一覧表にしました。

    画像
    Spectrum機能のパラメータの一覧

    各機能でパラメータ名が異なりますが、Spectrumのコアロジックは同一でそこでの用途は同じなのでそれらが同じ行になるよう並べ替えています。

    「パラメータの説明」欄は各GithubのREADME、ソースコード、Forge NeoのUIの説明文を私なりに読み解きまとめたものです。ほとんどのパラメータは高速・低精度にするか、低速・高精度にするかを変えるものになっています。

    各機能でパラメータの範囲、初期値、推奨値が異なりますが、各開発者自身がテストして決めたものだと思います。特に注意が必要なパラメータについて補足しておきます。

    • spectrum_m (またはPolynomial Degreeなど)
      ComfyUI-Anima-Enhancerでは上限が32(初期値16、推奨値8~16)であるのに対して、ComfyUI Spectrum SDXL NodeとForge Neoでは上限が8までです。調整幅が少ないかもしれません。

    • stop_caching_step (またはtail_actual_stepsなど)
      各機能で意味がバラバラですw

      • ComfyUI-Anima-Enhancer
        隠しパラメータ(-1固定)になっており全体の80%でSpectrumでの予測からフルモデル実行に戻ります。
        ※ 例:全体が25Stepsの場合は最後の5Stepsがフルモデル

      • ComfyUI Spectrum SDXL Node
        予測を停止する実ステップ数を指定します。-1を指定することも可能です。
        ※ 例:全体が25Stepsで最後の3Stepsをフルモデル実行するなら"22"

      • ComfyUI Spectrum SDXL Proper
        最後にフルモデルで実行する残りのステップ数を指定します。
        ※ 例:全体が25Stepsで最後の3Stepsをフルモデル実行するなら"3"

      • Forge Neo Spectrum Integrated
        予測を停止するステップ数の割合を指定します。
        ※ 例:全体が25Stepsで最後の3Stepsをフルモデル実行するなら"0.88"

    前述しましたが、各カスタムノードと拡張機能にそれぞれ同じパラメータを設定しても、変数の型(精度)やSpectrumコアロジックに対する前後処理が異なるためか、生成画像と処理時間は微妙に異なります。

    なお、ComfyUI-Anima-Enhancerは、SpectrumだけでなくAnima Layer Replay Patcherという機能があり、それぞれにenableスイッチがあるため切り替えを忘れないよう注意しましょう。
    Anima Layer Replay Patcherについては詳細な説明を見つけられませんでしたが、Animaで特定ブロックの処理をReplayすることで画質を向上させる機能のようです。もともとAnima Layer Replay Patcherが主な機能で、Spectrumはオプションという位置づけになっています(本記事ではAnima Layer Replay Patcherについては検証しません)。


    2026/5/16追記:
    ステップ削減系の高速化Loraとの組み合わせる場合は、Warmup Stepsを1~2に減らしてください。総ステップ数も4などの極小ではなく8~12にしたほうがよいです。
    ただし高速化Loraを使用しない場合と比較するとSpectrumによる画質劣化は大きくなります。

    2026/3/24追記:
    パラメータの説明から理解してほしいのですが、DMD2やLightning等のステップ削減系の高速化Loraとの組み合わせは基本的に無意味です。
    Spectrumはウォームアップと仕上げのために最初と最後の数ステップ、推奨パラメータなら合計8~10ステップは予測による高速化を使いません。総ステップ数を4や8に削減すると予測を使えるステップが無くなってしまうため、ステップ削減系の高速化Loraと併用してもエラーにはなりませんが無意味です。
    逆に長めのステップ数で生成する場合ほど効果が高まります。元の論文のプロジェクトページでは50ステップを基準に比較しています。

    生成画像の検証

    Anima, SDXLでそれぞれの機能をSpectrumのパラメータを揃えて生成し、Spectrumを使用しない場合と比較します。

    Anima作例のSpectrumパラメータ

    検証に使用したパラメータは以下のとおりです。ComfyUI-Anima-EnhancerはAnima Layer Replay Patcherを無効にしています。
    前節で解説しましたが、各パラメータの高低で生成画像と生成時間は変化しますのであくまで一例と考えてください。

    画像
    Anima作例のSpectrumパラメータ

    Anima作例1(ComfyUI)

    HuggingFaceのAnima公式で配布されているワークフローによるComfyUIでの作例です。

    画像
    Anima作例1(ComfyUI, Spectrum無効)
    画像
    Anima作例1(ComfyUI-Anima-Enhancer)
    画像
    Anima作例1(ComfyUI Spectrum SDXL Node)
    画像
    Anima作例1のGIFアニメによる比較(256色)

    Anima作例1(Forge Neo)

    HuggingFaceのAnima公式で配布されているワークフローと同等の設定でのForge Neoによる作例です。

    画像
    Anima作例1(Forge Neo、Spectrum無効)
    画像
    Anima作例1(Forge Neo、Spectrum有効)

    Anima作例2(ComfyUI)

    ComfyUIテンプレートワークフロー「Anima Anime Text-to-Image Generation」によるComfyUIでの作例です。

    画像
    Anima作例2(ComfyUI, Spectrum無効)
    画像
    Anima作例2(ComfyUI-Anima-Enhancer)
    画像
    Anima作例2(ComfyUI Spectrum SDXL Node)
    画像
    Anima作例2のGIFアニメによる比較(256色)

    Anima作例2(Forge Neo)

    ComfyUIテンプレートワークフロー「Anima Anime Text-to-Image Generation」と同等の設定でのForge Neoによる作例です。

    画像
    Anima作例2(Forge Neo、Spectrum無効)
    画像
    Anima作例2(Forge Neo、Spectrum有効)

    SDXL作例のSpectrumパラメータ

    検証に使用したパラメータは以下のとおりです。Animaで使用したものと同一です。

    画像
    SDXL作例のSpectrumパラメータ

    SDXL作例(ComfyUI)

    私のNote記事のベンチマークでいつも使っているちもろぐさんの「832×1216:神里綾華ベンチマーク」による作例です。

    画像
    SDXL作例(ComfyUI, Spectrum無効)
    画像
    SDXL作例(ComfyUI Spectrum SDXL Node)
    画像
    SDXL作例(ComfyUI Spectrum SDXL Proper)
    画像
    SDXL作例のGIFアニメによる比較(256色)

    SDXL作例(Forge Neo)

    ちもろぐさんの「832×1216:神里綾華ベンチマーク」ワークフローと同等の設定でのForge Neoによる作例です。

    画像
    SDXL作例(Forge Neo、Spectrum無効)
    画像
    SDXL作例(Forge Neo、Spectrum有効)

    総評

    全体的にはSpectrumを使用しても、使用しない場合と同じような画像が生成されることがわかると思います。
    Spectrumを利用すると少しだけ色が褪せる(鮮やかさが減る、色が薄くなる)感じですが、スライドショーやツールで画像を切り替えて比較しないと分からないレベルです。書き込み量と書き込み方は、画像の場所によって異なり優劣付けがたいです。

    パラメータによるかもしれませんが、今回の検証では下表のように感じました。

    画像
    生成画像に対する総評

    ComfyUI Spectrum SDXL Properは色褪せがほとんどないと感じました。
    また、ComfyUI-Anima-EnhancerについてはAnima Layer Replay Patcherで色褪せを改善できる可能性があります。

    生成時間の検証

    それぞれ5回生成し、生成時間がもっとも短い時間を記録しました。PCスペックはNvidia Geforce RTX 5090等いつもどおりです。

    画像
    生成時間の一覧

    パラメータ次第ではありますが、Spectrum無効と比べて約30%以上の短縮となりました。これは凄い。

    なお、ComfyUI, Spectrum無効でのSDXLの生成時間が過去に取得した記録より増えていますが見なかったことします(バックグランドでいろいろ動いていたせいかもしれません)。


    2026/3/26追記:
    生成時間が以前よりも増えているのは、Dynamic Vramが有効になっていたせいでした。詳細は冒頭で紹介している続編の記事をご覧ください。

    まとめ

    Spectrumという新技術が凄いということで取り急ぎ概要と検証結果をまとめました。
    簡単に導入、使用でき、Seedと画像の一貫性を保ちながらほとんど画質劣化なく生成時間を約30%削減できました。
    少し色が褪せるようですが比べなければ分からないレベルですし、Seedの一貫性があるのでガチャ後にSpectrum無効で再生成すればよいのがこれまでのステップ削減系高速化との大きな違いです。

    これは間違いなく常用すべき技術だと思います。

    このような感じで、あまり体系的に整理や理解されていない技術的な内容を分かりやすく無料で解説しています。「スキ」「フォロー」「チップ」で応援よろしくお願いします。


    2026/4/4追記:
    当記事で紹介しているComfyUI Spectrum SDXL Nodeを、Forge系の拡張機能として動作するよう移植しました。
    Forge, reForge, Forge Neo上でSDXLを利用した画像生成で動作することを確認していますので使ってみてください(A1111は不可)。

    あなたへのおすすめ