Flow-OPD / README.md
CostaliyA's picture
Update README.md
2f4771d verified
---
base_model: stabilityai/stable-diffusion-3.5-medium
library_name: peft
pipeline_tag: text-to-image
---
# Flow-OPD
<div align="center">
[![arXiv](https://img.shields.io/badge/arXiv-2605.08063-red)](https://arxiv.org/abs/2605.08063)
[![GitHub](https://img.shields.io/badge/๐Ÿ™_GitHub-Green)](https://github.com/CostaliyA/Flow-OPD)
[![HuggingFace](https://img.shields.io/badge/๐Ÿค—%20Model-Flow--OPD-yellow)](https://huggingface.co/CostaliyA/Flow-OPD)
> **Flow-OPD: On-Policy Distillation for Flow Matching Models** โ€” Evaluated on SD-3.5-Medium, Flow-OPD achieves **+18pt** average improvement over vanilla GRPO.
</div>
## Quick Start
```python
import torch
from diffusers import StableDiffusion3Pipeline
from peft import PeftModel
model_id = "stabilityai/stable-diffusion-3.5-medium"
lora_ckpt_path = "CostaliyA/Flow-OPD"#dev ckpt
device = "cuda"
pipe = StableDiffusion3Pipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe.transformer = PeftModel.from_pretrained(pipe.transformer, lora_ckpt_path)
pipe.transformer = pipe.transformer.merge_and_unload()
pipe = pipe.to(device)
prompt = "a photo of a black kite and a green bear"
image = pipe(prompt, height=512, width=512, num_inference_steps=40, guidance_scale=4.5, negative_prompt="").images[0]
image.save("flow_opd.png")
```
## Results
| Model | GenEval | OCR | DeQA | PickScore | Average |
|---|---|---|---|---|---|
| SD-3.5-M (base) | 0.63 | 0.59 | 4.07 | 21.64 | 0.72 |
| GRPO-Mix | 0.73 | 0.83 | 4.33 | 21.84 | 0.82 |
| **Flow-OPD** | **0.92** | **0.94** | **4.35** | **23.08** | **0.90** |
## Citation
```bibtex
@article{fang2026flow,
title={Flow-OPD: On-Policy Distillation for Flow Matching Models},
author={Fang, Zhen and Huang, Wenxuan and Zeng, Yu and Zhao, Yiming and Chen, Shuang and Feng, Kaituo and Lin, Yunlong and Chen, Lin and Chen, Zehui and Cao, Shaosheng and others},
journal={arXiv preprint arXiv:2605.08063},
year={2026}
}
```