Iris-3B Turbo SVD LoRA: rank64 and rank128
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_basein 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 asW = 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
- Use a Forge Neo build supporting
iris-turbo-svd-v1. - Place the adapter file in
models/Iris-3B/loras/official-turbo-svd/. - 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での直接使用
iris-turbo-svd-v1対応の Forge Neo を使用します。- アダプターを
models/Iris-3B/loras/official-turbo-svd/に配置します。 - 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は公式画像との類似度を表します。
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 / 原典・ライセンス
- Base Model & Official Turbo Weights: speridlabs/iris-3b (Snapshot
adc05b909fb05d4276d26aae5a52b36406b2ef26). Official Turbo weights are underturbo/. - Official Demo: speridlabs/iris-3b-turbo
- Official Codebase: speridlabs/iris-3b
- Manifest & Hashes: Complete file definitions, format specifications, and SHA-256 hashes are cataloged in adapter-manifest.json.
- License: Apache-2.0 (LICENSE). Attribution belongs to the Iris-3B authors at Sperid Labs. Separately downloaded text encoders retain their respective licenses.
Model tree for Aikimi/iris-3b-turbo-svd-lora
Base model
speridlabs/iris-3b