画像生成AIのStable Diffusionをインストール不要でブラウザから動作可能な「Web Stable Difusion」が登場

画像生成AIのStable Diffusionを動かすには十分な性能のGPUとVRAMが求められるため、ハイスペックなPCやワークステーションを使うか、あるいはGPUサーバーにアクセスして演算リソースを借りる必要があります。エンジニア向けに機械学習の講義を配信しているMachine Learning Compilationが、サーバーのサポートを必要とせずにブラウザ内でStable Diffusionを実行できる「Web Stable Diffusion」を公開しています。
https://mlc.ai/web-stable-diffusion/
Web Stable Diffusionはデモ版が公開されていますが、記事作成時点ではM1あるいはM2搭載のMacでのみ動作が確認されています。今回はM1搭載iMac(8コアCPU・8コアGPU・256GBストレージ・RAM16GBモデル)で実際にデモを動かしてみました。
Web Stable Diffusionのデモ版は、記事作成時点でGoogle Chromeの試験運用版であるChrome Canaryで動作するとのことで、まずはChrome Canaryの配布ページにアクセスし、「Chrome Canaryをダウンロード」をクリック。

「同意してインストール」をクリックして、DMG形式のインストーラーをダウンロードします。インストーラーのファイルサイズは218.6MBです。

インストーラーを起動してGoogle Canaryをインストールします。

次に、ターミナルに「/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --enable-dawn-features=disable_robustness」とコマンドを入力し、Chrome Canaryを起動します。

Web Stable Diffusionのページにアクセスします。

ページ下部の「Demo」に、Web Stable Diffusionのデモが設置されています。「Input prompt」にプロンプトを、「Negative prompt (optional)」にネガティブプロンプトを入力します。今回はデフォルトの「A photo of an astronaut riding a horse on mars(火星で馬に乗る宇宙飛行士の写真)」というプロンプトで、「Generate」をクリック。

画像の生成が始まりました。

だいたい2分弱で、以下のように画像が生成されました。

今度は「Select scheduler」でスケジューラーのステップ数を、「Render intermediate steps」でレンダリングの中間ステップを変更しました。スケジューラーのステップ数は20ステップと50ステップから選べますが、50ステップ数の方が画像の精度が上がる分、生成に時間がかかります。また、レンダリングの中間ステップを設定すると、生成中のノイズが表示されるようになりますが、生成に時間がかかるようになります。

生成が始まり、U-Netエンコーディングの段階に移ると、ノイズが表示されました。

少しずつノイズから画像に生成されていきます。

最終的に生成された画像が以下。「389 secs elapsed(389秒経過)」とのことで、画像を1枚生成するのに約6分半かかったことになります。

なお、Web Stable DiffusionのコードはGitHubで公開されています。
GitHub - mlc-ai/web-stable-diffusion: Bringing stable diffusion models to web browsers. Everything runs inside the browser with no server support.
https://github.com/mlc-ai/web-stable-diffusion
