antirez/iris.c

Flux 2 image generation model pure C inference

解決する課題

Irisは、重いPython MLスタックなしで大規模な画像生成モデル(FLUXやZ-Imageなど)を実行するという問題を解決します。メモリマップドウェイトを使用することで、メモリが制限されたシステム(8GB RAMでも)で動作する純粋なC実装を提供し、Apple、NVIDIA、AMDハードウェア上のGPUバックエンドで高速化できます。

仕組み

Irisは完全にC言語で記述された推論パイプラインであり、C標準ライブラリ以外の外部依存関係はありません。HuggingFaceからオープンウェイト拡散Transformerモデル(FLUX.2 Klein、FLUX.3 Image Klein、Z-Image-Turbo)を読み込み、GPUまたはCPU上で直接テキストから画像への生成を行います。パイプラインにはQwen3テキストエンコーダーが組み込まれているため、個別の埋め込みステップは不要です。蒸留モデル(高速、ステップ数少)とベースモデル(低速、高品質)の両方をサポートし、テキストから画像、画像から画像、およびマルチリファレンス生成を提供します。

対象ユーザー

Irisは、PythonベースのMLフレームワークが重すぎる、または利用できないハードウェア上でテキストから画像を生成したい開発者、研究者、愛好家向けです。特にApple Silicon Mac(MPSアクセラレーション)、NVIDIAまたはAMD GPU、さらにはCPUのみのLinuxシステムに適しています。ターミナル表示とインタラクティブモードにより、コマンドライン作業に便利です。

ハイライト

  • ゼロ依存関係:純粋なC実装で、スタンドアロンで動作。
  • GPUアクセラレーション:Metal (Apple)、CUDA (NVIDIA)、ROCm (AMD)、およびCPU用のオプションのBLAS。
  • 高速:Apple Silicon MPS上で、PyTorchの最適化されたMPSパイプラインを複数の解像度で上回るパフォーマンス。
  • メモリ効率:メモリマップドウェイトにより、ピークメモリを約16GBから約4-5GBに削減し、8GB RAMシステムを実現。
  • FLUX.2 Klein (4B/9B)、FLUX.3 Image Klein、Z-Image-Turboモデルをサポート。
  • テキストから画像、画像から画像、およびマルチリファレンス(最大16)生成。
  • サイズ、シード、ステップなどのコマンドを備えたインタラクティブなCLIモード。
  • KittyプロトコルまたはiTerm2インライン画像によるターミナル画像表示。
  • 再現性のためにシードとモデル情報をPNGメタデータに保存。
  • テストにより、リファレンスベクトルとの出力の正確性を保証。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト