Dragonjinny/FiFA-pickapic-v2
Pick-a-Pic v2 · FiFA Filtered Subsets These subsets were produced by filtering the original Pick-a-Pic v2 dataset using FiFA, a data filtering algorithm proposed in the paper Automated Filtering of Human Feedback Data for Aligning Text-to-Image Diffusion Models. Overview The filtering process is based on three key metrics: Preference Margin: Estimated using PickScore Text Quality: Estimated through LLM scoring Text Diversity: Estimated using K-NN distance… See the full description on the dataset page: https://huggingface.co/datasets/Dragonjinny/FiFA-pickapic-v2.
Pick-a-Pic v2 · FiFA Filtered Subsets
These subsets were produced by filtering the original Pick-a-Pic v2 dataset using FiFA, a data filtering algorithm proposed in the paper *Automated Filtering of Human Feedback Data for Aligning Text-to-Image Diffusion Models*.
Overview
The filtering process is based on three key metrics:
- Preference Margin: Estimated using PickScore
- Text Quality: Estimated through LLM scoring
- Text Diversity: Estimated using K-NN distance
Dataset Configurations
This dataset provides several configurations, each corresponding to a different number of filtered triplets selected by the automated FiFA algorithm. You can choose from FiFA-500, FiFA-1k, FiFA-5k, FiFA-10k, FiFA-20k, FiFA-50k, and FiFA-100k, depending on your needs. The only difference between these configurations is the number of examples included; all are filtered using the same FiFA method. We recommend using the FiFA-5k configuration as the default, as it generally works best for Stable Diffusion training.
Quick Start
from datasets import load_dataset
# Load a specific configuration
dataset = load_dataset("Dragonjinny/FiFA-pickapic-v2", "FiFA-5k", split="train")
# Access the data
import io
from PIL import Image
for example in dataset:
caption = example["caption"] # The prompt text
jpg_0 = example["jpg_0"] # First image (bytes)
jpg_1 = example["jpg_1"] # Second image (bytes)
label_0 = example["label_0"] # Binary label (0 or 1) indicating which image is preferred
# Convert bytes to PIL Images
image1 = Image.open(io.BytesIO(jpg_0)).convert("RGB")
image2 = Image.open(io.BytesIO(jpg_1)).convert("RGB")
# Now you can work with the images
print(f"Caption: {caption}")
print(f"Preferred image: {'jpg_0' if label_0 == 1 else 'jpg_1'}")
# image1.show() # Display the first image
# image2.show() # Display the second imageData Format
Each example contains:
caption: The prompt textjpg_0: First image (bytes)jpg_1: Second image (bytes)label_0: Binary label (0 or 1) indicating which image is preferred__index_level_0__: Unique ID for each data point
Citation
If you use this dataset in your research, please cite our paper:
@inproceedings{
yang2025automated,
title={Automated Filtering of Human Feedback Data for Aligning Text-to-Image Diffusion Models},
author={Yongjin Yang and Sihyeon Kim and Hojung Jung and Sangmin Bae and SangMook Kim and Se-Young Yun and Kimin Lee},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025},
url={https://openreview.net/forum?id=8jvVNPHtVJ}
}License
This dataset is licensed under MIT License, following the license of the original Pick-a-Pic v2 dataset.
