Iris-3B Turbo SVD LoRA: rank64 and rank128

English · 日本語

Compact SVD adapters enabling 4-step generation with the base Iris-3B model.

公式Iris-3B Turboの重み差分をSVD圧縮した、4ステップ生成用アダプターです。

File / ファイル Rank / alpha Size / サイズ Description / 概要
iris-turbo-r128.safetensors 128 / 128 500,736,776 bytes (477.54 MiB) Higher fidelity to official Turbo output (Mean SSIM: 0.9218) / 出力再現性を重視
iris-turbo-r64.safetensors 64 / 64 252,274,688 bytes (240.59 MiB) Smaller file footprint (~50% size, Mean SSIM: 0.9141) / 容量削減を重視

English

Architecture & Format

These adapters approximate the official Iris-3B Turbo weights using a hybrid iris-turbo-svd-v1 format:

  • 311 Linear weight matrices: Compressed from delta = official_turbo - original_base in FP32 using SVD (alpha / rank = 1). Rank128 uses randomized SVD with 64 oversampling components and 8 power iterations; rank64 uses the leading 64 components of the same decomposition. Smaller matrices use exact SVD with zero-padding as needed. Applied as W = W_base + up.float() @ down.float().
  • 328 non-Linear tensors: Biases, normalization, and embedding tensors contain absolute official Turbo BF16 values. A compatible loader must overwrite these tensors rather than adding them as residuals.

Loader Compatibility: Generic LoRA loaders (PEFT, Diffusers, or standard Stable Diffusion loaders) cannot load this hybrid format. Use an iris-turbo-svd-v1-compatible loader or merge into a full checkpoint.

Requirements & Settings

  • Base Model: Original, unquantized speridlabs/iris-3b (original FP32 checkpoint, BF16 autocast). Not compatible with INT8/W4A8, other fine-tunes, img2img, already-distilled Turbo checkpoints, or multiple stacked Turbo adapters.
  • Adapter Strength: Exactly one adapter at strength 1.0.
  • Sampling Settings: 4 steps, deterministic flow-Euler, CFG = 1.0, CPU initial noise, no re-noising. Negative prompts do not apply.
  • Fixed Sigma Schedule: [1.0, 0.938, 0.833, 0.625].
  • Resolutions: 1024×1024 (recommended initial size), 1344×752, 1344×896, 1200×896, and their transposes.

Usage

Option 1: Direct Loading in Forge Neo

  1. Use a Forge Neo build supporting iris-turbo-svd-v1.
  2. Place the adapter file in models/Iris-3B/loras/official-turbo-svd/.
  3. In Iris Studio, select the original unquantized Iris-3B checkpoint and choose one adapter at strength 1. The official 4-step schedule, CFG 1, and CPU initial noise apply automatically.

Option 2: Merge into a Full Checkpoint

The included merge_adapter.py converts an adapter and the original base model into an FP32 full checkpoint compatible with the official Iris code.

  • Requirements: Python 3.11+, PyTorch, safetensors, ~32 GB available system RAM, and ~12 GB free output disk space. Existing output directories are protected against overwriting.
# 1. Download adapter and base model snapshot
hf download Aikimi/iris-3b-turbo-svd-lora --local-dir iris-turbo-svd
hf download speridlabs/iris-3b model.safetensors config.yaml --revision adc05b909fb05d4276d26aae5a52b36406b2ef26 --local-dir iris-base

# 2. Merge (substitute r64 for rank64)
python iris-turbo-svd/merge_adapter.py --base iris-base --adapter iris-turbo-svd/iris-turbo-r128.safetensors --output iris-turbo-r128

# 3. Run from the official Iris code directory after installing its dependencies
python scripts/sample.py --checkpoint /path/to/iris-turbo-r128 --prompt "A red fox sleeping in fresh snow, golden hour" --seed 6

日本語

形式と仕様

本アダプターは、公式 Iris-3B Turbo の重み差分をSVD圧縮したハイブリッド形式 iris-turbo-svd-v1 です。

  • 311個のLinear行列: FP32の差分 official_turbo - original_base をSVD圧縮(alpha / rank = 1)。rank128はrandomized SVD(oversampling 64、power iteration 8回)、rank64は同一分解の上位64成分を使用。小行列は正確なSVDとゼロパディングで処理。W = W_base + up @ down として適用。
  • Linear以外の328テンソル(バイアス・正規化・埋め込み等): 公式TurboのBF16絶対値を格納。差分加算ではなく、該当テンソルを上書き置換する必要があります。

注意: 本形式は iris-turbo-svd-v1 専用ローダーが必要です。PEFT、Diffusers、一般的なStable Diffusion向けLoRAローダーでは直接読み込めません。

動作要件・サンプリング設定

  • 元モデル: 非量子化のオリジナル speridlabs/iris-3b(元のFP32チェックポイントをBF16 autocastで実行)。INT8/W4A8量子化版、他のファインチューンモデル、img2img、公式Turbo重み、他のTurboアダプターとの重ね掛けには非対応です。
  • 強度: いずれか1つのアダプターを強度1.0で使用。
  • サンプラー設定: 4ステップ、決定論的flow-Euler、CFG = 1.0、CPU初期ノイズ、ノイズ再追加なし。Negative Promptは無効。
  • 固定Sigmaスケジュール: [1.0, 0.938, 0.833, 0.625]。
  • 解像度: 1024×1024(推奨)、1344×752、1344×896、1200×896、および各縦横反転。

使い方

方法1: Forge Neoでの直接使用

  1. iris-turbo-svd-v1 対応の Forge Neo を使用します。
  2. アダプターを models/Iris-3B/loras/official-turbo-svd/ に配置します。
  3. Iris Studioで非量子化の元モデルを選択し、アダプターを強度1で指定すると、4ステップ・CFG 1・CPU初期ノイズが自動設定されます。

方法2: フルチェックポイントへのマージ

同梱の merge_adapter.py で元モデルと結合し、公式Irisリポジトリ のサンプラーで動作する通常のFP32フル重みを作成できます。

  • 実行環境: Python 3.11以上、PyTorch、safetensors、空きRAM約32 GB、空きディスク約12 GB(既存フォルダは上書きされません)。
  • 生成コマンドは公式Irisのコードと依存関係をインストールした後、そのコードのフォルダーで実行してください。
  • ダウンロードおよび変換コマンドは、上の 英語セクションのコード例 を参照してください(rank64使用時はファイル名と出力先を iris-turbo-r64 に変更)。

Benchmarks & Performance / 性能・比較結果

Measured on a local RTX 3090 (PyTorch 2.13.0+cu130, CPU threads = 4, FP32 weights / BF16 autocast, 1024×1024, 4 steps, CFG 1, CPU initial noise; 4 prompts × seeds 6 & 2026 = 8 images per variant). ローカルRTX 3090環境における4プロンプト×2シード(計8枚)での測定結果です。

Variant Median Denoising Median Complete Gen Mean SSIM vs Official Peak Allocated GPU VRAM
Official Turbo (Full Checkpoint) 5.129 s 15.175 s 1.0000 (reference) 15,422.93 MiB
Rank128 4.796 s 14.406 s 0.9218 15,422.93 MiB
Rank64 4.739 s 14.449 s 0.9141 15,422.93 MiB
  • Measurement Scope: Timings exclude initial model loading and CPU adapter merging (initial CPU merge may take several minutes).
  • Speed: Acceleration stems from Turbo's 4-step sampling compared to longer base sampling; minor timing differences in sequential single-machine measurements do not establish an intrinsic speed advantage over the full checkpoint.
  • VRAM: Both ranks use the same merged 3B model. Peak PyTorch allocated GPU memory was 15,422.93 MiB for all three variants in this comparison.
  • SSIM: Measures visual similarity to the corresponding official Turbo output.

測定時間には初回のモデル読み込みとCPU合成を含めていません。合成後のモデルは同じ3Bモデルで、今回の測定では全方式ともGPUの割り当て済みメモリーのピークは15,422.93 MiBでした。SSIMは公式画像との類似度を表します。

Official Turbo, rank128 and rank64 comparison Columns: Official Turbo / Rank128 / Rank64. Rows: portrait, anime illustration, spatial relationship, poster (seed 6).

See benchmark.json for prompt configurations and complete metrics, and images/ for samples across both seeds.


Sources & License / 原典・ライセンス

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Aikimi/iris-3b-turbo-svd-lora

Adapter
(3)
this model