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メタデータに保存。
- テストにより、リファレンスベクトルとの出力の正確性を保証。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト