【StreamDiffusion】世界最速!?のスピードで画像を出力する超高速画像生成AIの使い方から実践まで
WEELメディア事業部LLMリサーチャーの中田です。
12月20日、日本人研究者らが、「StreamDiffusion」というリアルタイム画像生成モデルを公開しました。
この技術によって、従来よりも高速に高品質な画像を生成できるんです…!
StreamDiffusionに関するTwitterの投稿のいいね数は、なんと3,000を超えており、注目度が高いことが分かります。
この記事ではStreamDiffusionの使い方や、有効性の検証まで行います。本記事を熟読することで、StreamDiffusionの凄さを実感し、普通の画像生成には戻れなくなるでしょう。
ぜひ、最後までご覧ください。
StreamDiffusionの概要
StreamDiffusionとは、リアルタイムで高品質な画像を生成できる画像生成AIです。
StreamDiffusionの主なポイントは、以下の通りです。
- バッチノイズ除去プロセス: 独自のデノイジングによる効率的なバッチ処理方式。
- ストリームバッチと流動的なストリーム: 待ち時間を排除し、連続した高速データ処理を可能にする技術。
- 入出力キュー: データ入力とモデルスループットの頻度差を扱うため、処理を並列化。
- RCFG: 分類器に依存しないガイダンスを改善し、冗長な計算を削減。
- SSF: 消費電力の最適化を図るために導入。
StreamDIffusionを使うことで、RTX4090で最大91.07fpsの画像生成速度を達成し、エネルギー消費も大幅に削減します。
\画像生成AIを商用利用する際はライセンスを確認しましょう/
StreamDiffusionの料金体系
StreamDiffusionはオープンソースとして公開されているため、誰でも無料で利用可能です。
なお、同一人物画像を違う服に着せ替えできるAIについて知りたい方はこちらの記事をご覧ください。
→【InstantID】マルチバースの人物画像を生成できるAIで有名人をアメリカの高校生にしてみた
StreamDiffusionの使い方
今回は、Google ColabのT4で実行します。まずは、以下のコードを実行して、ライブラリをインストールしましょう。
!pip install torch==2.1.0 torchvision==0.16.0 xformers --index-url https://download.pytorch.org/whl/cu121
!git clone https://github.com/cumulo-autumn/StreamDiffusion.git
%cd StreamDiffusion
!python setup.py develop easy_install streamdiffusion[tensorrt]
!python -m streamdiffusion.tools.install-tensorrt
!pip install accelerate
ここで、一旦ランタイムの再起動をしてください。次に、以下のコードを実行して、テキストから画像1枚(Text2Image)を生成しましょう。
%cd StreamDiffusion
from utils.wrapper import StreamDiffusionWrapper
# ストリームの生成
stream = StreamDiffusionWrapper(
model_id_or_path="KBlueLeaf/kohaku-v2.1",
lora_dict=None,
t_index_list=[0, 16, 32, 45],
frame_buffer_size=1,
width=512,
height=512,
warmup=10,
acceleration="xformers",
mode="txt2img",
use_denoising_batch=False,
cfg_type="none",
seed=2,
)
prompt = "1girl with brown dog hair, thick glasses, smiling"
stream.prepare(
prompt=prompt,
num_inference_steps=50,
)
output_images = stream()
for i, output_image in enumerate(output_images):
output_image.save(f"images/outputs/output{i:02}.png")
すると、output_images変数の中に画像が生成されます。結果は、以下の通りです。
かなり自然かつ高品質な画像ですね!
今回は50ステップで生成したのですが、1秒足らずで生成できました。速い!
StreamDiffusionを動かすのに必要なPCのスペック
■Pythonのバージョン
Python 3.8以上
■必要なパッケージ
Pytorch
CUDA(11.8 or 12.1)
StreamDiffusionを実際に使ってみた
ここでは、StreamDiffusionで画像の複数生成を行ってみます。ライブラリのインストールを完了させたら、以下のコードを実行してください。
from utils.wrapper import StreamDiffusionWrapper
# ストリームの生成
stream = StreamDiffusionWrapper(
model_id_or_path="KBlueLeaf/kohaku-v2.1",
lora_dict=None,
t_index_list=[0, 16, 32, 45],
frame_buffer_size=10,
width=512,
height=512,
warmup=10,
acceleration="xformers",
mode="txt2img",
use_denoising_batch=False,
cfg_type="none",
seed=2,
)
このコードを実行すると、10枚の画像を生成できます。「frame_buffer_size」の値を変えると、生成枚数を変えられます。生成スピードは、なんと4秒でした!生成結果は、以下の通りです。
アニメっぽい感じの特徴ですね!なんか日本っぽいです笑
なお、高速画像生成AIについて知りたい方はこちらの記事をご覧ください。
→【InstaFlow】Stable Diffusionの40倍の速さで画像生成できるAIの使い方〜実践まで
StreamDiffusionの推しポイントである高速な画像生成は本当なのか?
ここでは、先ほどと同じタスクを、従来のStable Diffusionで試してみようと思います!
その際に、以下の2点に着目して、比較してみましょう。
- 画像の品質
- 生成速度
Stable Diffusionで画像を生成した結果は、以下の通りです。
生成速度は約40秒でした。これより、StreamDiffusionと通常のStable Diffusionの比較表は、以下の通りになるかと思います。
StreamDiffusion | Stable Diffusion | |
---|---|---|
画像品質 | アニメっぽい | AIイラストっぽい |
生成速度 | 4秒 | 40秒 |
ちなみに、品質に関しては完全個人的な意見です。
生成される画像の印象も違いますね。おそらくStreamDiffusionの開発者は日本人のため、アニメや漫画の画像をデータセットに多く追加したのか?
また、やはり生成速度には大きな違いが生まれましたね。StreamDiffusionの生成速度は、Stable Diffusionの10倍速かったです!
まとめ
StreamDiffusionとは、リアルタイムで高品質な画像を生成できる画像生成AIです。StreamDIffusionを使うことで、RTX4090で最大91.07fpsの画像生成速度を達成し、エネルギー消費も大幅に削減します。
今回は50ステップで生成したのですが、1秒足らずで生成できました。
生成される画像の印象は、StreamDiffusionとStalbe Diffusionで異なりました。また、やはり生成速度には大きな違いが生まれましたね。StreamDiffusionの生成速度は、Stable Diffusionの10倍速かったです!
数年後には、ホロデッキによって、瞬時に仮想環境や物体を生成できるようになっているのかもしれないですね。
生成系AIの業務活用なら!
・生成系AIを活用したPoC開発
・生成系AIのコンサルティング
・システム間API連携
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。