NFT-OR / README.md
Haocheng1's picture
Add scratch NFT ckpt-180 and NFT-OR ckpt-180/200 EMA LoRA
060c29c verified
|
Raw
History Blame Contribute Delete
2.26 kB
metadata
license: apache-2.0
base_model: stabilityai/stable-diffusion-3.5-medium
library_name: peft
pipeline_tag: text-to-image
tags:
  - stable-diffusion
  - stable-diffusion-3
  - lora
  - diffusionnft
  - reinforcement-learning

NFT-OR scratch LoRA (SD3.5-Medium)

From-scratch DiffusionNFT LoRA checkpoints for HaC-RL / NFT-OR.

Base model: stabilityai/stable-diffusion-3.5-medium.
LoRA: rank 32, alpha 64, attention projections only.

What is uploaded

Inference adapters only (adapter_config.json + adapter_model.safetensors). Optimizer / scaler states are not included.

Path Run Epochs Adapter
scratch-nft/checkpoint-180/ scratch DiffusionNFT, job 219145 200 (last save is 180) EMA stored in lora/ (legacy save)
scratch-nft-or/checkpoint-180/ scratch NFT-OR or_mix, job 219585 180 EMA (lora_ema/)
scratch-nft-or/checkpoint-200/ same run 200 EMA (lora_ema/)

The NFT 200-epoch job only checkpointed at epoch starts (save_freq=20), so its last file is checkpoint-180, not 200.

Training recipe (both): Pick-a-Pic, PickScore+CLIP+HPSv2, 512², 40 sample steps, β=0.1, 4×A800, seed 42.

DrawBench (1024², 40 steps, EMA)

Checkpoint ImageReward CLIP Aesthetic PickScore HPSv2 avg
scratch-nft ckpt-180 1.194 0.280 5.888 0.895 0.316 8.573
scratch-nft-or ckpt-180 1.292 0.285 5.938 0.897 0.321 8.733
scratch-nft-or ckpt-200 1.306 0.286 5.951 0.896 0.319 8.757

The NFT-OR run used collinear implicit_positive OR (α=0.05), which saturates after epoch 0. Do not treat the score gap as causal evidence that OR is active.

Load

from diffusers import StableDiffusion3Pipeline
import torch

pipe = StableDiffusion3Pipeline.from_pretrained(
    "stabilityai/stable-diffusion-3.5-medium",
    torch_dtype=torch.bfloat16,
)
pipe.load_lora_weights("HaC-RL/NFT-OR", subfolder="scratch-nft-or/checkpoint-200")

For the matched DrawBench row, use subfolder="scratch-nft/checkpoint-180" or scratch-nft-or/checkpoint-180.