🚀 無參考對齊擴散模型的邊際感知偏好優化
我們提出了 MaPO,這是一種無參考、樣本高效且節省內存的文本到圖像擴散模型對齊技術。有關該技術的更多詳細信息,請參閱我們的論文 點擊查看。
👥 開發者
- 洪智宇* (韓國科學技術院人工智能系)
- 賽亞克·保羅* (Hugging Face)
- 諾亞·李 (韓國科學技術院人工智能系)
- 卡希夫·拉蘇爾 (Hugging Face)
- 詹姆斯·索恩 (韓國科學技術院人工智能系)
- 鄭正憲 (韓國大學)
📊 數據集
該模型是在 yuvalkirstain/pickapic_v2 數據集上對 Stable Diffusion XL 進行微調得到的。
💻 訓練代碼
請參考我們的代碼倉庫 點擊查看。
🖼️ 定性比較
📈 結果
下面我們報告一些定量指標,並使用這些指標將 MaPO 與現有模型進行比較:
模型 |
美學得分 |
HPS v2.1 得分 |
Pickscore 得分 |
SDXL |
6.03 |
30.0 |
22.4 |
SFTChosen |
5.95 |
29.6 |
22.0 |
Diffusion-DPO |
6.03 |
31.1 |
22.7 |
MaPO (我們的模型) |
6.17 |
31.2 |
22.5 |
我們在 Imgsys 公開基準測試中評估了該檢查點。在撰寫本文時,MaPO 在排行榜上排名第 7,能夠在 25 個最先進的文本到圖像擴散模型中超越或匹配其中 21 個,而 Diffusion-DPO 排名第 20。同時,在適配 Pick-a-Pic v2 時,MaPO 的實際訓練時間減少了 14.5%。我們感謝 Imgsys 團隊幫助我們獲取人類偏好數據。
下表報告了 MaPO 的內存效率,使其成為擴散模型對齊微調的更好選擇:
指標 |
Diffusion-DPO |
MaPO (我們的模型) |
時間 (越低越好) |
63.5 |
54.3 (-14.5%) |
GPU 內存 (越低越好) |
55.9 |
46.1 (-17.5%) |
最大批次大小 (越高越好) |
4 |
16 (×4) |
💻 使用示例
基礎用法
from diffusers import DiffusionPipeline, AutoencoderKL, UNet2DConditionModel
import torch
sdxl_id = "stabilityai/stable-diffusion-xl-base-1.0"
vae_id = "madebyollin/sdxl-vae-fp16-fix"
unet_id = "mapo-t2i/mapo-beta"
vae = AutoencoderKL.from_pretrained(vae_id, torch_dtype=torch.float16)
unet = UNet2DConditionModel.from_pretrained(unet_id, torch_dtype=torch.float16)
pipeline = DiffusionPipeline.from_pretrained(sdxl_id, vae=vae, unet=unet, torch_dtype=torch.float16).to("cuda")
prompt = "An abstract portrait consisting of bold, flowing brushstrokes against a neutral background."
image = pipeline(prompt=prompt, num_inference_steps=30).images[0]
如需查看定性結果,請訪問我們的 項目網站。
📚 引用
@misc{hong2024marginaware,
title={Margin-aware Preference Optimization for Aligning Diffusion Models without Reference},
author={Jiwoo Hong and Sayak Paul and Noah Lee and Kashif Rasul and James Thorne and Jongheon Jeong},
year={2024},
eprint={2406.06424},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
📄 許可證
openrail++