--- base_model: stabilityai/stable-diffusion-3.5-medium library_name: peft pipeline_tag: text-to-image --- # Flow-OPD
[![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.
## 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} } ```