--- library_name: diffusers pipeline_tag: text-to-image inference: false base_model: nota-ai/bk-sdm-tiny-2m license: creativeml-openrail-m tags: - text-to-image - diffusion - stable-diffusion - knowledge-distillation - research-preview --- # Clover Image Tiny — Research Preview This is **Clover Image Tiny**, an early conventional knowledge-distillation checkpoint released as a research preview. It is a production-data pilot, not a release-ready model. It uses the compact BK-SDM-Tiny-2M architecture, a conventional 50-step PNDM schedule, 512×512 output, and classifier-free guidance 7.5. The checkpoint is useful for inspecting an early, licensed-data quality-refresh experiment. It is not a finished Clover release, a quality benchmark, or a claim of uniformly better output than its starting model. ## Exact artifact identity | Field | Value | |---|---| | Repository | `neonforestmist/Clover-Image-Tiny` | | Status | **RESEARCH PREVIEW · PRODUCTION PILOT · NOT RELEASE-READY** | | Experiment | `clover-kd-20260712T050925Z-01KXABNHP0` | | Training stage | Stage B knowledge distillation | | Optimizer step | 500 | | Checkpoint SHA-256 | `4a5b99ff18478742528a0d31c97dcee939b166a51be858721d40ad5984110893` | | Checkpoint-bundle SHA-256 | `384b6515f5f26838aea33ec9a941e06610a20764f0b8637c8b7b0667bfc0d447` | | Resolved-config SHA-256 | `80cf9395d1f587dc0c1d440d9f5b55c55c20703187998509bb306d19d463f597` | | Dataset-manifest SHA-256 | `50c1249f1cb0d8d690a9acc451ca10c9432eb5a7f4e26f34acb5462096e72322` | | Package bytes | `1671489892` | | Package files | `30` | | Validated Stage B source-package checksums SHA-256 | `d9a28d5fe6f5b675ee1b9db52e6d0493c8d3d357bb824eac590911acbd5c3ebc` | | Builder source commit | `1880c3eb55133e8b7b1786ddea8e732d16a2f902` | The checkpoint completed 500 optimizer steps, 4,000 microsteps, and 4,000 sample presentations. All 500 recorded training rows were finite and had a nonzero gradient. Those are training-integrity observations, not image-quality scores. ## Example gallery ![Eight paired baseline and Clover Image Tiny examples](assets/clover-image-tiny-paired-contact-sheet.png) Each row uses the same prompt and seed. The **left column is the pinned BK-SDM-Tiny-2M baseline; only the right column is this Stage B checkpoint**. The gallery was generated on an NVIDIA L4 in bfloat16 with 50 PNDM steps, guidance 7.5, an empty negative prompt, and 512×512 output. With the pinned Diffusers 0.39.0 scheduler, those 50 requested PNDM steps use 51 U-Net invocations because PLMS repeats its first retained timestep. All eight Stage B gallery images were finite, nonblank, nonblack, and returned clear from the packaged upstream safety checker in that measured run. This small engineering subset is not a general safety or quality evaluation. The changes are modest and not uniformly better: the bottle example loses prompt fidelity, hands remain weak, and some details change without clear improvement. ## Run with Diffusers Install the pinned preview environment: ```bash python -m pip install -r requirements.txt ``` Then generate with the conventional configuration used for the gallery: ```python import torch from diffusers import DiffusionPipeline, PNDMScheduler model_id = "neonforestmist/Clover-Image-Tiny" if torch.cuda.is_available(): device = "cuda" elif torch.backends.mps.is_available(): device = "mps" else: device = "cpu" dtype = torch.float16 if device in {"cuda", "mps"} else torch.float32 pipe = DiffusionPipeline.from_pretrained(model_id, torch_dtype=dtype) pipe.scheduler = PNDMScheduler.from_config(pipe.scheduler.config) pipe = pipe.to(device) generator_device = "cuda" if device == "cuda" else "cpu" generator = torch.Generator(device=generator_device).manual_seed(1337) result = pipe( prompt="a tiny greenhouse glowing in a moonlit garden", negative_prompt="", num_inference_steps=50, guidance_scale=7.5, height=512, width=512, generator=generator, ) result.images[0].save("clover-image-tiny.png") ``` The bundled `examples/generate.py` chooses CUDA, MPS, or CPU safely and writes the resolved settings next to the PNG: ```bash python examples/generate.py \ --model "neonforestmist/Clover-Image-Tiny" \ --prompt "a tiny greenhouse glowing in a moonlit garden" \ --output clover-image-tiny.png ``` Seeded generation is repeatable only within the limits of the selected runtime. Different devices, dtypes, kernels, and dependency builds can produce different pixels. The bundled Mac example below was measured locally on an Apple M4 Pro with MPS and fp16: 18.21 seconds, exactly 51 U-Net calls, and 631,341,056 bytes of process-lifetime maximum RSS. It used the prompt “a compact modern library with arched windows” and seed 1469. The packaged safety checker ran and returned clear. This does not promise identical pixels or performance on another Mac. ![Clover Image Tiny local MPS library example](assets/clover-image-tiny-local-mps-library-seed-1469.png) Its machine-readable evidence is bundled at `evidence/clover-image-tiny-local-mps-library-seed-1469.json`; the image SHA-256 is `f8830346f2a9c2b9a8c2a01d8f90e6925c93d667c1bcf998aa904a150589a742`. ## Training lineage - Starting student: `nota-ai/bk-sdm-tiny-2m@aad3e0e8ba61b7cb9f64869dc4e586f8ad9d3665` - Frozen teacher: `CompVis/stable-diffusion-v1-4@133a221b8aa7292a167afc5127cb63fb5005638b` - Fine-tuning data: exactly 1,000 accepted image-caption pairs from `Spawning/PD3M@2a5eb24a8dccf245acd8e56341761aee06da0bdf` - Split: 973 train, 17 validation, and 10 test records in one checksummed shard - Data gate: `CDLA-Permissive-2.0`; accepted items retain CC0-1.0 or Public Domain Mark 1.0 provenance - Preprocessing: deterministic center crop and 512×512 JPEG conversion, version `clover-pd3m-center-crop-512-jpeg95-v1` The 1,000 records describe only this Clover fine-tuning run. The starting student and teacher already contain knowledge learned from much larger upstream corpora. Their pinned model cards and weight licenses were verified, but the project does not have complete per-record provenance for all foundational pretraining behind those weights. In particular, the BK-SDM model card names LAION-Aesthetics V2 6.25+ and 2,256,472 pairs without the per-record evidence required by Clover's full release policy. This inherited gap is a material reason the package is labeled a research preview and not release-ready. See `DATA_PROVENANCE.md`, `MODEL_DATA_LICENSES.md`, the bundled CreativeML Open RAIL-M terms, and the package checksums for the portable evidence included here. ## Intended use - Research and inspection of compact Stable Diffusion knowledge distillation - Reproducing the fixed conventional 50-step engineering examples - Comparing this early calibration checkpoint with its pinned starting student - Non-consequential creative experimentation subject to the model license ## Limitations - The model was fine-tuned for only 500 optimizer steps on 1,000 pairs. - The eight-prompt gallery is an engineering-health subset, not a representative quality, alignment, diversity, bias, or human-preference evaluation. - Results may omit requested objects, lose relationships or counts, produce malformed anatomy and hands, render text poorly, or preserve/amplify biases from upstream models and data. - The Stage B changes are modest and can make individual prompts worse. - The included pipeline is the conventional PyTorch/Diffusers path only. ## Safety and out-of-scope use The upstream safety checker is included and was exercised in the recorded gallery run, but it is not a complete safety system and can miss harmful output or over-filter benign output. Applications should add appropriate prompt and output controls, human review, and policy enforcement. Do not use this preview for consequential decisions, identity claims, medical or legal conclusions, harassment, exploitation, illegal activity, or any use prohibited by CreativeML OpenRAIL-M. Review outputs before sharing them. ## Licenses The model weights are a derivative under **CreativeML OpenRAIL-M**. The small example and packaging code is licensed separately under **Apache-2.0**. The PD3M dataset declaration and each accepted item's public-domain status remain separate from both licenses. Read the bundled license files and `MODEL_DATA_LICENSES.md`; this summary is not legal advice.