Built with ML Intern

Idol Turbo

A distilled, few-step version of speridlabs/idol.
One picture of an object in, up to a million 3D Gaussians out β€” in 6 guidance-free steps instead of 50 guided ones.

What this is

Idol Turbo is Idol's flow-matching denoiser distilled for speed:

  • 6 sampling steps, no classifier-free guidance β€” 100 network evaluations (50 steps Γ— CFG) down to 6, a 16.7Γ— NFE reduction. Sub-second sampling on an H200-class GPU.
  • Two-stage distillation: (1) Glance-style phase-LoRA (arXiv 2512.02899) β€” two rank-32 experts (Slow/Fast, switch at t=0.5) trained by regression against the teacher's CFG-composed velocity, folding guidance into the weights; (2) anchored trajectory distillation β€” on-policy fine-tune matching the teacher's 50-step final latent through the student's own few-step sampler, with a per-step velocity anchor for stability.
  • The base model is untouched: 29.4M LoRA params on top of the frozen 370M denoiser.

Where the turbo shows: complex objects at 6 steps

At 6 steps the naive sampler (with CFG, so 12 evaluations) visibly loses color and detail on complex objects β€” the distilled student holds both, at half the evaluations:

naive 6 steps vs idol-turbo 6 steps on a detailed object

At 8 steps the turbo matches the naive sampler on simple objects (and still costs half the evaluations, since guidance is folded in). At 4 steps, naive collapses entirely while the current turbo weights degrade β€” 4-step distillation needs full-model training, which rank-32 LoRAs can't carry (we tried; see the run history).

same compute: naive 4 steps vs idol-turbo 8 steps

input vs naive 8-step vs idol-turbo 8-step

Honest status

LoRA-scale distill trained on 10–12 demo images. Strengths: demo-style single objects, guidance-free 6–8 steps, big speed win. Known weaknesses: some inputs come out softer than the 50-step teacher, and colors can drift more saturated than the teacher (the few-step latent-drift effect described in arXiv 2610.15321). If you hit a bad case, the base speridlabs/idol at 50 steps is the quality reference. All training runs, metrics and eval renders: akhaliq/idol-turbo-runs.

Usage

Requires the idol SDK (pip install git+https://github.com/speridlabs/idol-sdk.git) and access to Idol's two gated encoders: facebook/dinov3-vith16plus-pretrain-lvd1689m and black-forest-labs/FLUX.2-dev.

from idol import IdolPipeline
from huggingface_hub import hf_hub_download
import importlib.util

spec = importlib.util.spec_from_file_location(
    "turbo", hf_hub_download("akhaliq/idol-turbo", "turbo.py"))
turbo = importlib.util.module_from_spec(spec)
spec.loader.exec_module(turbo)

pipeline = IdolPipeline.from_pretrained("akhaliq/idol-turbo")
turbo.patch_pipeline_for_turbo(pipeline, "akhaliq/idol-turbo")

output = pipeline("photo.jpg", mode="real", seed=42, steps=6, cfg_strength=0.0)
output.gaussian.save_ply("photo.ply")

This repo is a drop-in weights replacement: denoiser.safetensors, decoder.safetensors, decoder_gs.safetensors, birefnet.safetensors and config.json are identical to speridlabs/idol; idol_turbo_lora.safetensors + turbo.py add the distilled experts and the guidance-free sampler.

License

Apache-2.0, inherited from speridlabs/idol. All credit for the base model to Speri Labs.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for akhaliq/idol-turbo

Base model

speridlabs/idol
Finetuned
(4)
this model

Space using akhaliq/idol-turbo 1

Papers for akhaliq/idol-turbo