stable-diffusion.cpp: 画像およびビデオ拡散モデル用の軽量C++推論エンジン

stable-diffusion.cpp: 画像およびビデオ拡散モデル用の軽量C++推論エンジン

何を解決するか

stable-diffusion.cppは、重い外部依存関係や複雑なPython環境を必要とせずに、画像およびビデオ生成のための拡散モデルを実行するための、軽量で高性能な方法を提供します。これにより、ユーザーはCPUやさまざまなGPUバックエンドを含む幅広いハードウェア上で、これらのモデルをローカルに実行できます。

仕組み

ggmlライブラリに基づいて構築されたこのプロジェクトは、拡散モデルの推論を純粋なC/C++で実装しています。Stable Diffusion 1.x/2.x/3.x、FLUX、およびWanなどの膨大なモデルアーキテクチャと、GGUF、Safetensors、およびPyTorchチェックポイントを含む重み形式をサポートしています。CUDA、Metal、Vulkan、およびOpenCLなどのさまざまなハードウェアアクセラレーションバックエンドを利用して、Linux、Windows、macOS、およびAndroidを含む異なるプラットフォーム全体でパフォーマンスを最適化します。

対象ユーザー

最小限のオーバーヘッドで画像およびビデオ生成モデルをローカルで実行したい開発者やユーザー、および拡散モデルを他のアプリケーションに統合するための、ポータブルなC++ベースのバックエンドを求めている人々が対象です。

ハイライト

  • 幅広いモデルサポート: 幅広い画像生成、画像編集、およびビデオ生成モデル(例: SDXL, FLUX.2, Wan2.1)をサポートしています。
  • ハードウェアの汎用性: CPU (AVX/AVX2/AVX512), CUDA, Vulkan, Metal, OpenCL, および SYCL上で動作します。
  • 軽量な実装: llama.cppと同様に、外部依存関係のない純粋なC/C++実装です。
  • 高度な機能: LoRA, ControlNet, Latent Consistency Models (LCM), およびESRGANによる画像アップスケーリングのサポートを含みます。
  • メモリ最適化: VRAM/RAMの使用量を削減するために、Flash AttentionとVAE tilingを搭載しています。
  • クロスプラットフォーム: Linux, Windows, macOS, およびAndroidと互換性があります。

Sources