最近、画像生成AI界隈で注目されているのが、「LCM Latent Consistency Models」です。
しかし、「LCM Latent Consistency Models」とは、一体何ができるのでしょうか?
また、Stable Diffusionとはいったいどのような関わりがあるのでしょうか?
この記事では、「LCM Latent Consistency Models」の基本的な機能から、Stable Diffusionとの関係、そしてその驚くべき速さが私たちのクリエイティブな作業にどのように役立つのかを掘り下げていきます。
最後まで読んで、「LCM Latent Consistency Models」の魅力を一緒に探ってみましょう!
『LCM Latent Consistency Models』とは?
「 Latent Consistency Models(潜在的一貫性モデル)(LCM)」は、画像生成の分野で注目を集める最新のAI技術で、特に、その高速な画像生成能力で優れています。
LCMはStable Diffusionで使われているDiffusion model(拡散モデル)の問題点を解決するために考案された新しい技術です。
LCMは、従来の画像生成AI、特に「Stable Diffusion」と比較して、生成速度において大きな進歩を遂げています。
Stable Diffusionが1枚の画像を生成するのに20~30回のサンプリングを必要とするのに対し、LCMはランダムノイズからわずか1ステップで画像を生成し、0.5秒で4枚の画像を出力することが可能です。
これはStable Diffusionの約5倍の速さであり、特にビデオメモリーが少ないローレベルのPCでも動作する点が特徴です。
LCMの高速化の具体例として、リアルタイムでの画像生成が挙げられます。
ウェブカメラからの映像をリアルタイムで変換するデモが公開されており、これはStable Diffusionでは難しいとされています。
また、LCM専用モデル「LCM_Dreamshaper_v7」や、それを動作させるための拡張機能も公開されています。
画像生成AIの領域において、LCMはStable Diffusionに比べて目覚ましい速度の向上を実現し、特にリアルタイム処理が必要な分野での応用が期待され、その将来の発展に注目が集まっています。
『LCM Latent Consistency Models』の導入方法
動かし方はいくつか公開されているのですが、今回はGoogleコラボ上で環境構築する方法をご紹介します。
無料で使えるT4 GPUで問題なく作動するのでStable Diffusion web uiよりも格段に扱いやすい仕様になっています。
Googleコラボ版『LCM Latent Consistency Models』の導入方法
コード自体がかなり少なめなので、環境構築はとても簡単です。
- 「Googleコラボ」を起動し、以下のコードを貼り付けRUNして下さい。
初めにライブラリーのインストールがあるので少し時間がかかります。
pip install --upgrade diffusers # make sure to use at least diffusers >= 0.22
pip install transformers accelerate
次にモデルやVAE等々をダウンロードします。
from diffusers import DiffusionPipeline
import torch
pipe = DiffusionPipeline.from_pretrained("SimianLuo/LCM_Dreamshaper_v7")
# To save GPU memory, torch.float16 can be used, but it may compromise image quality.
pipe.to(torch_device="cuda", torch_dtype=torch.float32)
ここまで構築できれば、あとはプロンプトを入れて生成するだけです。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
『LCM Latent Consistency Models』の使い方
以下のコードを貼り付けRUNします。
「txt2img」と同様に呪文(プロンプト)を使用して画像を生成するします。赤字の部分がプロンプトになるので、書き換えてお好きな画像を生成してみて下さい。
prompt = "Self-portrait oil painting, a beautiful cyborg with golden hair, 8k"
# Can be set to 1~50 steps. LCM support fast inference even <= 4 steps. Recommend: 1~8 steps.
num_inference_steps = 4
images = pipe(prompt=prompt, num_inference_steps=num_inference_steps, guidance_scale=8.0, lcm_origin_steps=50, output_type="pil").images
画像を保存します。
images[0].save("output.png")
これでoutput.pngに画像が保存されますので、気に入ったものがあればダウンロードして下さい。
生成の速度が速いので、全くストレスを感じません。本当にすごいです。
また、steps数も1〜8で生成可能ですので、コードのstepsを変更すればさらに速くなります。
『LCM Latent Consistency Models』で画像を生成してみた!
ではいくつか生成してみたのでご覧ください。
長所はとにかく生成が早いです。サイズは768×768しか生成できませんが、2秒以下で生成してきます。そして高性能なPCを必要としません。
弱点は今の所サイズが選べない点と、ネガティブプロンプトなどでの微調整ができない点です。
しかしながらそれらを凌駕するほどのスピードが得られます。
画像生成をなんらかのwebサービスと組み合わせる場合を考えると、高速で画像生成ができるLCMは、かなり有効な技術であると考えられます。
この「LCM」についてもう少し詳しく知りたい方はこちらのGitHubを覗いてみて下さい。
元論文のダウンロードや、web ui 上で動かしたり、環境構築なしでweb上で画像を生成できるReplicateなども紹介されています。
LCMで作成したLoraがサイズも小さく、かなり有効に働く事についても言及されていますので、今後の発展に期待が高まります。
まとめ
いかがでしたでしょうか?
「LCM Latent Consistency Models」の使い方について解説してきました。
今回のポイントをまとめると、以下のようになります。
- 画像生成の高速化が実現できる
- Googleコラボでの構築も楽々
- 「txt2img」と同様に呪文(プロンプト)を使用して画像を生成する
今回は「LCM Latent Consistency Models」の環境構築と、その驚異的な速度についてご紹介しました。
この情報が、あなたの活動の役立つ一助となれば幸いです。
さらに、当サイトでは他にもStable diffusionに関連する他の多くの記事を提供しています。AI技術やクリエイティブなツールに関する最新情報をお探しの方は、ぜひ他の記事もご覧ください。
次回の記事でも、有益な情報をお届けすることをお約束します。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい