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 메타데이터에 시드 및 모델 정보 저장.
  • 테스트를 통해 참조 벡터와의 출력 정확성 보장.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트