文章(プロンプト)を入力するだけで画像を生成してくれるAI「Stable Diffusion」は、2022年8月に一般公開されて以降、有志によって簡単に動かせるUIや各種拡張機能が続々と生み出されています。そんなStable Diffusionについて、Appleが機械学習フレームワーク「Core ML」への最適化を発表しました。同時にMacBookやiPhoneなどのAppleシリコン搭載デバイス向けのコードもオープンソースで公開されています。

Stable Diffusion with Core ML on Apple Silicon - Apple Machine Learning Research

https://machinelearning.apple.com/research/stable-diffusion-coreml-apple-silicon

GitHub - apple/ml-stable-diffusion: Stable Diffusion with Core ML on Apple Silicon

https://github.com/apple/ml-stable-diffusion

Stable Diffusionを使う際は、「ローカルに実行環境を用意して実行」と「実行環境を構築済みのサーバーにアクセスして実行」という2通りの方法があります。ローカルに環境を用意して実行する方法には好きな画像を好きなだけ生成できるというメリットがあるものの、「NVIDIA製の高性能GPUを搭載したWindowsマシンが必要」というハードルが存在します。そこで、AppleはAppleシリコン搭載デバイスでStable Diffusionをローカル実行させるべくApple製機械学習フレームワーク「Core ML」への最適化を行い、その成果が2022年12月1日にリリースされた「macOS Ventura 13.1 Beta 4」と「iOS and iPadOS 16.2 Beta 4」に取り込まれました。

Stable Diffusionで期待通りの画像を生成するには、画像生成を何度も繰り返す必要があります。このため、1回当たりの生成にかかる時間はなるべく短くすることが求められます。Appleが公開している各種デバイスでの画像生成時間を確認すると、「M1チップを搭載したiPad ProでStable Diffusion 1.4を実行」という環境では1枚当たり38秒という実用的な速度で画像を生成できることが分かります。また、「M2チップを搭載したMacBook AirでStable Diffusion 2.0を実行」という環境では1枚当たり18秒というかなり高速な画像生成を実現できるようです。



さらに、Stable Diffusion 1.4でステップ数を50、解像度を512×512ピクセルに設定して各種Apple製マシンで画像を生成した際の実行時間をまとめた表が以下。Mac Studioでは9秒で画像を生成できています。比較のために、編集部にあるNVIDIA GeForce RTX 3060を搭載したWindowsマシンで同様の設定で画像を生成した結果、画像生成にかかった時間は9〜10秒でした。



Stable Diffusion 1.4で高品質な画像を生成するにはステップ数を50などの高い値に設定する必要がありましたが、Stable Diffusion 2.0ではステップ数を1〜4に設定しても高品質な画像を生成できることが報告されています。Appleで機械学習関連の開発を行っているAtila Orhon氏によると、M2チップを搭載したデバイスでステップ数を1〜4に設定してStable Diffusion 2.0を動作させると、1秒以内に画像を生成できるとのことです。





AppleシリコンはCPUやGPUの他に機械学習専用チップ「Neural Engine」などがひとまとめになったSoCで、Appleが開発した機械学習フレームワーク「Core ML」と組み合わせることで、高性能な機械学習システムを実行可能。Appleシリコンは歴代iPhoneやiPadに加えて2020年11月以降に発表されたMacシリーズに搭載されています。AppleはStable DiffusionをAppleシリコン搭載デバイスで動作させるためのコードをGitHubで公開しているため、Apple製デバイスで手軽にStable Diffusionを使えるアプリが続々と登場することが期待できそうです。