CoolFace
Datasetpublic

miria0/EduFeedback

EduFeedback Alternating dataset example: a single curated multi-turn conversation yields a complete (prompt, chosen, rejected) triplet on its own — the direct early response becomes chosen and a later, less-direct response becomes rejected. Both sides come from the same real dialog, so no synthetic LLM generation is needed to fill in the rejected side. EduFeedback is a synthetically generated, multi-turn conversational preference dataset in an educational tutoring… See the full description on the dataset page: https://huggingface.co/datasets/miria0/EduFeedback.

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
0likes88downloads
Dataset Card

EduFeedback

<figure align="center"> <img src="alternate.png" alt="Alternating Population Strategy: both chosen and rejected are extracted from the same real conversation, with no synthetic LLM generation needed for either side" width="780"/> <figcaption><em>Alternating dataset example: a single curated multi-turn conversation yields a complete <code>(prompt, chosen, rejected)</code> triplet on its own &mdash; the direct early response becomes <code>chosen</code> and a later, less-direct response becomes <code>rejected</code>. Both sides come from the same real dialog, so no synthetic LLM generation is needed to fill in the <code>rejected</code> side.</em></figcaption> </figure>

EduFeedback is a synthetically generated, multi-turn conversational preference dataset in an educational tutoring setting, introduced in the COALA paper (Feng & Pilanci, ICML 2026). It is released together with the Alternating Population Strategy, a novel method for extracting high-quality (prompt, chosen, rejected) preference training triplets directly from multi-turn conversations — no external reward model, no extra generation calls, no PairRM-style scoring step.

Conversations are produced by GPT-4o acting as two agents — a tutor (agent1) and a student (agent2) — across eleven topics in science and philosophy, with varying mood/personality prompts and sampling temperatures (t = 0.2 – 0.9). Each conversation has 4–8 alternating utterances.

The dataset is released in three configurations: the raw conversations, and two preference-pair views derived from them.

TL;DR — three configs

Config# RecordsWhat it is
conversations26,621Raw two-agent tutor/student conversations. Each row preserves the system prompts, mood, sampling temperature, and the full utterance list.
pairs-single26,621One (prompt, chosen, rejected) preference pair per conversation, in HuggingFace/TRL conversational-preference format.
pairs-alternating65,606Multiple preference pairs per conversation, generated via the Alternating Population Strategy. This is the set used for COALA's preference fine-tuning experiments in the paper.

No train/test split is provided; downstream users should generate their own splits to fit their setup.

Why the Alternating Population Strategy?

Curating real-world human conversations across domains is expensive, yet LLMs remain imperfect surrogates for genuine human responses. The standard preference-data convention only half-escapes this problem: it uses the costly curated dialog for the chosen side, but then falls back on an LLM to generate the rejected side &mdash; partially reintroducing the very synthetic surrogate the curation was meant to avoid. The Alternating Population Strategy sidesteps this: it populates both chosen and rejected directly from the same single real conversation, letting one curated dialog corpus do all the work and removing reliance on synthetic LLM-generated counterfactuals.

Concretely, the standard recipe for building a preference dataset from a corpus of conversations is to extract the prompt as all-but-the-final- turn, take the real final assistant turn as the chosen answer, then sample from a separate SFT baseline model around 5 times, and pass those samples to a third-party preference scorer such as PairRM to obtain a rejected.

This is:

  • slow and expensive — it requires hundreds of thousands of extra generations from an SFT model;
  • fragile — results are sensitive to both the SFT model and the choice of scoring model (PairRM, GPT-4-as-judge, learned reward model, ...);
  • wasteful — for a dataset of N multi-turn conversations, the convention extracts only N preference triplets (one per conversation), even though every assistant turn is in principle a usable training signal.

The Alternating Population Strategy (illustrated above) instead exploits a structural property of well-curated multi-turn educational dialogs:

In objective, domain-specific tutoring conversations, the early assistant turns answer the user's question directly, while later turns frequently drift into related follow-ups or tangents.

Given that asymmetry, you can synthesize a preference triplet from a single conversation without any external model:

  • prompt ← the user (agent2) question (plus any prior turns).
  • chosen ← the immediate next assistant (agent1) response — the most direct answer to that prompt.
  • rejected ← a later assistant response from the same conversation — still topically relevant and well-formed, but a less direct answer to the original question.

By sliding this construction across every assistant turn, a conversation of 3–4 turns yields 2–3 training triplets instead of just 1. Applied to the 26,621 EduFeedback conversations, this produces 65,606 preference training samples — roughly the same order of magnitude as UltraFeedback-Binarized (60,917), but at zero additional generation or scoring cost.

Why this matters

  • Maximum value from curated dialog data. Real human conversations are expensive to collect; the alternating method extracts every usable preference pair from each dialog instead of throwing most of it away.
  • No synthetic `rejected` responses. Both sides of the pair come from the same real conversation. The strategy generalizes naturally to costly human-curated conversation corpora, where avoiding an LLM-generated rejected side is most valuable.
  • No reward model required. Preference signal comes from conversation structure rather than from a learned or third-party ranker, removing a major source of pipeline brittleness and bias.
  • No extra inference calls. All triplets are extracted from the existing dialog; no SFT-baseline sampling pass is needed.
  • Higher data efficiency. "Since data for machine learning is becoming increasingly scarce, it is critical to extract the maximum amount of value possible from available datasets" (COALA paper, App. E.2). The alternating method recovers ~2.5× more triplets per conversation than the standard one-per-conversation convention.
  • Validated by COALA training. COALA fine-tuned on this dataset shows stable, monotonically increasing reward margins during training (Figure 3 in the paper), in contrast to the noisier DPO trajectories on the same data.
  • Validated by humans. In the paper's 107-participant double-blind human study, COALA fine-tuned on EduFeedback-Alternate achieved a 39.1% real-human win rate on the EduFeedback task, the highest of any compared method (ORPO 15.5%, DPO 28.8%, SFT 16.6%) — direct evidence that the heuristic captures genuine preference signal rather than just surface statistics.

Worked example

(Reproduced from Appendix E.3 of the COALA paper.)

Original multi-turn conversation

System: You are Dolphin, a helpful AI tutor. User (agent2): Hi! I'm studying for my music class and need some help understanding the different periods in classical music. Can you explain the main characteristics that differentiate the Baroque period from the Romantic period? Assistant (agent1, response i): Certainly! The Baroque period (roughly 1600–1750) is characterized by intricate compositions, ornate embellishments, and a strong emphasis on harmony and counterpoint. ... In contrast, the Romantic period (roughly 1800–1910) focuses more on emotional expression and individuality. ... User (agent2): I need more help to study for my music class tomorrow. What if a question on the quiz asks me to enumerate the main differences between the Baroque and Romantic periods? Assistant (agent1, response i+2): During the Classical period (roughly 1750–1820), the role of the conductor was often filled by a leading musician within the ensemble, such as the first violinist or the keyboard player ...

Extracted preference triplet

  • Prompt: the user's first question about Baroque vs Romantic periods.
  • Chosen: response i — directly answers the Baroque vs Romantic question.
  • Rejected: response i+2 — still informative and topically related, but drifts into the role of the conductor in the Classical period instead of the requested comparison.

Configurations — schemas

conversations

FieldTypeDescription
group_idstringUUID identifying a conversation group (multiple sampled conversations may share the same base prompt).
sample_uuidstringUUID identifying the specific sampled conversation file.
sample_idintSample index within the group.
lengthintNumber of alternating utterances (4–8).
temperaturefloatGPT-4o sampling temperature used.
initial_utterancestringThe seeding utterance used to start the dialog.
agent1_system_promptstringSystem prompt for the tutor.
agent2_system_promptstringSystem prompt for the student (carries the mood/personality and topic).
utteranceslist[{role, content}]The full dialog. role is either agent1 or agent2.

pairs-single

FieldTypeDescription
promptstringThe accumulated user-side history that precedes the assistant turn.
chosenlist[{role, content}]The preferred conversation (user history + assistant response).
rejectedlist[{role, content}]The dispreferred conversation (same user history + a less direct assistant response from the same source dialog).

pairs-alternating

FieldTypeDescription
promptlist[{role, content}]The conversational prefix (system + prior turns).
chosenlist[{role, content}]prompt followed by the directly-answering assistant turn.
rejectedlist[{role, content}]prompt followed by a later, less-direct assistant turn from the same conversation.

This format is directly consumable by HuggingFace TRL preference trainers (DPO, ORPO, SimPO, etc.).

Usage

python
from datasets import load_dataset

# Raw conversations
conv = load_dataset("miria0/EduFeedback", "conversations", split="train")

# Single-pair-per-conversation preference data
single = load_dataset("miria0/EduFeedback", "pairs-single", split="train")

# Full alternating-population preference data (used in COALA)
alt = load_dataset("miria0/EduFeedback", "pairs-alternating", split="train")

Generation details

  • Generator: GPT-4o (OpenAI), accessed via the OpenAI API.
  • Sampling temperature: uniformly drawn from {0.2, …, 0.9} per conversation.
  • Conversation length: 4–8 alternating utterances between agent1 (tutor) and agent2 (student).
  • Eleven topics span science and philosophy domains.
  • Student mood is randomly varied per conversation to simulate realistic human conversational behavior.

Further details on the dataset construction and the Alternating Population Strategy are provided in Appendix E.3 of the COALA paper.

Intended use

EduFeedback is intended as a benchmark and training corpus for preference fine-tuning of language models in objective, knowledge-grounded domains (correctness, helpfulness, safety) rather than for subjective style transfer. It is well-suited for evaluating reference-free / single-GPU preference optimization methods such as COALA, DPO, ORPO, and SimPO.

Limitations and disclaimers

  • The data is fully synthetic and generated by GPT-4o. It may contain factual errors, stylistic artifacts, or biases inherited from the generator. It should not be relied upon as a source of factual information.
  • The dataset was produced using OpenAI models. Users must comply with the applicable OpenAI usage policies and terms of service when training or evaluating models on this data.
  • The rejected responses in the preference configs are not incorrect answers — they are simply less direct answers to the original prompt. This matches the intent of the Alternating Population Strategy and is what makes the preference signal subtle and content-grounded (rather than rewarding obvious low-quality contrasts), but it should be kept in mind for downstream analyses.

License

Apache-2.0.

Citation

If you use this dataset, please cite the COALA paper:

bibtex
@inproceedings{feng2026coala,
  title     = {Convex Optimization for Alignment and Preference Learning on a Single GPU},
  author    = {Feng, Miria and Pilanci, Mert},
  booktitle = {Proceedings of the 43rd International Conference on Machine Learning},
  year      = {2026},
  series    = {Proceedings of Machine Learning Research},
  publisher = {PMLR},
}