大きな画像ほどRyzen機が速い
次に、画像の高解像度化(Hires.fix)の機能を使い、1倍~4倍と最終的に4K(3840×2160ドット)サイズの画像を生成する時間を計測しました。比較にあたっては3月掲載の記事と同じプロンプト、同じ条件で実施しています。使用データモデルも3月掲載の記事と同じ「Waifu Diffusion 1.5 Beta」を使用しました。
結果は以下の通りで、Ryzen9/4090機とi9/4090機はほぼ互角といった内容。ただし、4Kサイズのときだけ差がつきます。生成過程の最後には、計算した画像を最終的な画像として生成するプロセスが動いているようなのですが、i9/4090機は画面サイズが大きいほど、終盤の2%のプロセスに時間がかかってしまうようです。
Ryzen9/4090機 | i9/4090機 | i7/A6000機 | |||||
---|---|---|---|---|---|---|---|
画像サイズ | 画像倍率 | 生成時間(秒) | ビデオメモリー使用率 | 生成時間(秒) | ビデオメモリー使用率 | 生成時間(秒) | ビデオメモリー使用率 |
960×540 | 1倍 | 2.9 | 47.90% | 2.87 | 46.69% | 6.22 | 25.95% |
1920×1080 | 2倍 | 24.56 | 94.29% | 24.18 | 91.67% | 39.93 | 45.99% |
2880×1620 | 3倍 | 119.25 | 100% | 122.52 | 100% | 150.9 | 83.80% |
3840×2160 | 4倍 | 506.73 | 100% | 531.02 | 100% | 515.7 | 100% |
同じように、Project Genesis用の背景画像としてテスト生成している画像も、3月掲載の記事と同条件で生成してみました。背景として利用するためにあえて横長の最大サイズで出力しています。
3月時点では大きなサイズ(4096x1536ドット)はエラーが出てしまっていましたが、今回はRyzen9/4090機、i9/4090機のどちらでも生成できました。しかもRyzen9/4090機は、i7/A6000機よりも生成が速いという結果になりました。こちらも大きなサイズを生成するとRyzen9/4090機が速くなるという傾向が見て取れます。
Ryzen9/4090機 | i9/4090機 | i7/A6000機 | |||||
---|---|---|---|---|---|---|---|
画像サイズ | 画像倍率 | 生成時間(秒) | ビデオメモリー使用率 | 生成時間(秒) | ビデオメモリー使用率 | 生成時間(秒) | ビデオメモリー使用率 |
2048x768 | 1倍 | 12.92 | 81.15% | 12.91 | 79.34% | 20.56 | 39.10% |
2560x960 | 1.25倍 | 45.26 | 100% | 44.65 | 100% | 72.2 | 52.42% |
3072x1152 | 1.5倍 | 85.04 | 100% | 95.07 | 100% | 114.03 | 68.39% |
3584x1344 | 1.75倍 | 149.25 | 100% | 197.04 | 100% | 181.61 | 87.96% |
4096x1536 | 2倍 | 226.74 | 100% | 272.11 | 100% | 287.66 | 100% |
さらに、どれぐらいのサイズまで作成できるのかも探ってみました。今回試した機種はすべてメインメモリーを64GB搭載していますが、4Kサイズの830万画素が限界に近い数字のようです。900万画素の画像生成も試しましたが、ビデオメモリーのメモリー不足でエラーが出て生成できませんでした。無限に生成力が上がった、というわけではないようです。
「ControlNet」使えばより大きな画像も
ただし、Stable Diffusionで画風やデザインを制御する「ControlNet」技術を応用すれば、その限界もある程度は克服できます。ControlNetの「Tile」という機能と、「Ultimate SD Upscale extension」という拡張機能を組み合わせることで、より大きなサイズの画像が生成可能。これは、もともとビデオメモリー搭載量の少ないPCが大きな画像サイズを生成するために登場した機能ですが、十分に応用が利きます(機能詳細は「画像生成AIに2度目の革命を起こした『ControlNet』」参照)。
Tileは画像の一貫性を維持しながらディティールアップをする機能で、Ultimate SD Upscaleは画像を一定サイズに分割した上、それぞれの画像に再度プロンプトを適応し、最後にすべての画像を合成するという機能。この2つを組み合わせることで、最初にHDサイズ(1280x720ドット)で作成した画像を4Kサイズ(3840x2160ドット)に拡大しつつ、ディティールアップできます。
Ryzen9/4090機ではHDサイズの画像生成が18秒、ControlNetを使った4K化が230秒程度でした。通常の高解像度化には506秒かかっていたことを考えると、生成時間を短縮できる可能性があります。同じ手法で2Kサイズ(1920x1080ドット)画像を生成し、それを4倍にした8Kサイズの画像(7680x4320ドット)も、21分ほどの時間で生成できました。
▲1280x720ドットの画像(上)を、3840x2160ドットの4K画像(中)、7680x4320ドットの8K画像(下)にアップスケールした(画像はクリックで拡大)。Tileの効果により、様々な部位のディティールも向上している。使用しているモデルはBreakDomain
週刊アスキーの最新情報を購読しよう