780MでQwen-Image-2.1を試す:5倍速く、透明背景もそのまま出る

780mcomfyuiimage-generation

琥珀色に光る小型PCの上に浮かぶガラス板と、その上に置かれた赤いポーションの瓶

以前のQwen-Image-2512のテストで、Radeon 780Mでも20B級の画像モデルが動くことは確かめた。ただ、1024x1024の画像を1枚作るのに約20分かかる。

Qwen-Image-2.1は2512よりずっと小さいモデルで、透明背景の出力に標準で対応している。ComfyUI 0.37.2ならそのまま使える。同じミニPCで、同じ5つのプロンプトを512x768と1024x1024で生成した。設定は25ステップのEulerで、シードも固定している。

2.1は512x768で約9.3倍、1024x1024で約5.5倍速かった。このミニPCで、背景除去を別に通さずに使えるRGBAスプライトが出たのも今回が初めてだ。

使った機材とモデル

これまでと同じGMKtec K8 Plusを使った。Ryzen 7 8845HS、Radeon 780M(gfx1103)、共有DDR5 32GBで、単体GPUは積んでいない。ComfyUIはComfyUI-TheRock経由で動かしていて、HIP版のPyTorchが内蔵GPUを直接使う。

設定はComfyUI 0.37.2、25ステップ、Euler/simple、シード固定で統一した。モデルファイルの構成は下の表にまとめた。

Qwen-Image-2512Qwen-Image-2.1
Diffusion modelQ4_K_M GGUF、12.34GBint8 convrot、6.76GB
Text encoderQwen2.5-VL fp8、8.74GBQwen3-VL int8、8.71GB
VAE0.24GB0.63GB
ディスク上の合計21.32GB16.10GB

2.1のウェイトはComfy-Orgの再パッケージ版を使った。ComfyUIの公式ワークフローも同じモデル配置で、透明画像用のプロンプトの書き方も載っている。

ベンチマーク

プロンプトは5つ用意した。暖色のデスクランプ、ちび騎士のゲームスプライト、夕暮れの日本の路地、文字ラベル入りのリンゴ、透明背景の赤いポーションスプライトだ。両モデルを両解像度で回したので、全部で20枚になる。

512x768の比較。左がQwen-Image-2512、右がQwen-Image-2.1

1024x1024の比較。左がQwen-Image-2512、右がQwen-Image-2.1

下の表の時間は、ジョブを投げてからPNGが保存されるまでの実測値だ。モデルのロードやテキストエンコード、VAEデコードも含んでいるので、自分でワークフローを回したときの待ち時間とほぼ同じになる。

プロンプト2512 512x7682.1 512x7682512 1024²2.1 1024²
デスクランプ16.3分1.6分22.5分4.3分
ちび騎士14.0分1.6分22.3分3.9分
夕暮れの路地14.0分1.5分22.7分3.9分
リンゴのラベル14.0分1.6分22.8分4.5分
RGBAポーション14.0分1.5分22.9分4.1分
平均14.5分1.6分22.6分4.1分

10枚の合計は、2512が185.4分、2.1が28.5分だった。512x768でプロンプトを5回直すなら、2.1は8分ほどで終わる。同じ手直しを2512でやると1時間を超える。

画質

2512はスタイル指定をより文字どおりに守った。騎士は完成したゲームイラストのようで、路地の画像には自動販売機、赤い郵便ポスト、屋台、密集した電線が一枚にきっちり収まっている。

2.1は全体に写真寄りで、ランプと路地はよくできていたものの、構図は指定から少し外れた。コンセプトを詰める段階なら、このトレードオフは受け入れられる。512x768なら次の1枚が13分ほど早く出るからだ。

ラベルは両モデルとも、両解像度でAPPLEと780Mを正しく描けた。OCRは使わず目で確認しただけなので、4枚という小さなサンプルでの結果として読んでほしい。

アルファテスト

ポーションのプロンプトでは、透明背景のRGBA画像をはっきり指定した。2512は両解像度とも、暗い背景で塗りつぶされたRGBのPNGを保存した。ポーション自体はきれいだが、スプライトにするには背景除去を一度挟む必要がある。

2.1は両解像度でRGBAのPNGを保存し、アルファ値は0から255までフルに使われていた。透明な部分はファイルにそのまま入っているので、後からクロマキーで抜く作業はいらない。

2.1が512x768で生成したRGBAポーション

ゲーム素材なら、この切り抜きをそのままスプライトアトラスやUIのレイヤーに置ける。背景除去ツールだと輪郭に色のフチが残ったり、半透明のピクセルが削れたりしやすい。最初からアルファチャンネルがあれば、その手当ても要らない。

なお、2.1のワークフローはどのプロンプトでもRGBAで保存する。リンゴのラベル画像では、ピクセルの8〜18%でアルファ値が241まで下がっていた。スプライト以外の用途では、単色の背景に合成してから使ったほうが安全だ。

問題になった失敗

最初の2.1の実行は途中で止まった。17ジョブを終えたあと、残りの1024²ケースのVAEデコード中にComfyUIのプロセスが落ちた。サンプリングは終わっていて、潜在表現をピクセルに戻す段階でクラッシュしている。

リカバリーでは、デコードノードだけをVAEDecodeTiledに差し替え、タイル512ピクセル、オーバーラップ64ピクセルに設定した。これで未完了だった3ケースも最後まで通った。2.1の10件のうち7件は通常のデコード、3件はタイルデコードで測っているので、2.1の数字はその混在込みのワークフロー時間として見てほしい。

内蔵GPUでは、VAEデコードも他の処理と同じ共有メモリを使う。拡散ステップが収まっても、デコードでメモリが足りなくなることがある。ベンチマーク用のスクリプトは、今は2.1のジョブすべてでタイルデコードを使っている。

どちらを使うか

スタイルや構図の正確さを何より重視するなら、2512もまだ選択肢に入る。ただ、1回やり直すたびに夜の時間がごっそり減る。

780Mで実用的なのは2.1のほうだ。512x768なら1枚2分かからないので、スタイルがずれたプロンプトを回し直す負担は小さい。

この記事のOGP画像の背景も、Qwen-Image-2.1で生成した。1216x640、25ステップでシードを変えて2枚作り、1枚あたり3.3〜3.4分で終わった。OGP画像のワークフローの記事で使った2512の背景は、20ステップで平均15分45秒かかっている。左側にタイトルを置く余白が広いほうを選んだ。2.1の出力はRGBAだったので、タイトルを重ねる前にRGBへ変換している。