Ir para o conteúdo
ModelListadosExterno
Baixar

Rag Dpo Qwen2.5 0.5b

DPO alignment of sidmhuggingface/rag-sft-qwen2.5-0.5b (itself a QLoRA-SFT of Qwen/Qwen2.5-0.5B-Instruct) on 40 preference pairs: chosen = qwen3-235b-a22b-instruct-2507 (a much larger model) answers, rejected = the...

TipoOtherModelo baseQwen/Qwen2.5-0.5B-InstructVersãoRevision cb93ee4Bnota

Fonte do modelo

Tipo
Other
Tamanho do arquivo
8,27 MB
Modelo base
Qwen/Qwen2.5-0.5B-Instruct
Versão
vRevision cb93ee4
Atualizado
20 de out. de 2026
Downloads
8
Fonte
Hugging Face

Descrição da fonte

Qwen2.5-0.5B-Instruct DPO-aligned (arXiv QA)

DPO alignment of sidmhuggingface/rag-sft-qwen2.5-0.5b (itself a QLoRA-SFT of Qwen/Qwen2.5-0.5B-Instruct) on 40 preference pairs: chosen = qwen3-235b-a22b-instruct-2507 (a much larger model) answers, rejected = the SFT model's own generations on the same questions.

Part of a larger RAG + GPT-from-scratch + DPO alignment portfolio project: https://github.com/sidesshmore/rag-document-assistant

Training

  • Method: DPO (trl DPOTrainer), beta=0.1, 3 epochs, LoRA r=16 continuing from the SFT adapter
  • Data: 40 preference pairs (34 train / 6 eval), questions distinct from the SFT training set
  • Training-time signal: reward accuracy 0.79 -> 0.94 -> 1.0 across 3 epochs, reward margin 0.37 -> 1.23, eval loss 0.39 -> 0.32 - DPO clearly learned to separate chosen from rejected during training.

Honest evaluation: DPO did not clearly beat SFT on held-out generation quality

Pairwise win rate on 20 held-out questions, judged with gemma3-27b-it - deliberately a different model family from the qwen3-235b DPO teacher, to avoid the judge favoring outputs that resemble its own family. Each pair was judged twice with (SFT, DPO) presentation order swapped and reconciled to a winner or "tie" - a standard control for LLM-judge position bias.

Win rate
SFT wins35%
DPO wins20%
Tie45%

SFT alone won more often than the DPO-aligned model. This is reported as-is, not tuned away: an earlier check with a different judge (before the bias controls above were added, and before that run hit an unrelated API error) showed the same mixed pattern, which cross-checks that this isn't a one-off artifact of the specific judge model.

The likely explanation is that the training signal here is thin by construction: a 0.5B parameter model, LoRA rank 16, and only 40 preference pairs. The gap is between "the model learned to prefer chosen over rejected during training" (which the reward-accuracy curve above shows clearly) and "that generalizes to better held-out answers judged independently" (which it does not, at this scale). A larger preference set or more epochs might change this - untested here, and worth flagging as a natural next step rather than retroactively "fixing" the number by re-running until it looks better.

Sample generations (held-out questions)

Q: What is the significance of treewidth in determining the efficiency of exact inference in graphical models?

  • SFT: "Treewidth plays a crucial role in evaluating the complexity of exact inference for graphical models. A model with low treewidth can be more efficiently solved using approximate algorithms..."
  • DPO: "Treewidth plays a crucial role in assessing the complexity of exact inference for graphical models. A model with low treewidth (e.g., 2 or less) generally has simpler structures..."
  • Judge verdict: SFT

Q: What method was used to generate in-distribution adversarial attacks in the study on CNN robustness for lumbar disk shape reconstruction?

  • SFT: "The study generated in-distribution adversarial attacks using a combination of adversarial training and data augmentation techniques."
  • DPO: "The study utilized a combination of adversarial training and in-distribution adversarial attacks to improve the robustness of CNNs for lumbar disk shape reconstruction."
  • Judge verdict: tie

Usage

from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer

base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-0.5B-Instruct")
model = PeftModel.from_pretrained(base, "sidmhuggingface/rag-dpo-qwen2.5-0.5b")
tokenizer = AutoTokenizer.from_pretrained("sidmhuggingface/rag-dpo-qwen2.5-0.5b")

Framework versions

  • PEFT 0.19.1
  • TRL 0.24.0
  • Transformers 5.12.1
  • PyTorch 2.11.0

Citation

@inproceedings{rafailov2023direct,
    title        = {{Direct Preference Optimization: Your Language Model is Secretly a Reward Model}},
    author       = {Rafael Rafailov and Archit Sharma and Eric Mitchell and Christopher D. Manning and Stefano Ermon and Chelsea Finn},
    year         = 2023,
    booktitle    = {Advances in Neural Information Processing Systems 36},
}

Fontes

1 fonte
Hugging FacePrimárioVersão cb93ee489b702511c75f5214b85f2baa851dc85b
huggingface.co/sidmhuggingface/rag-dpo-qwen2.5-0.5b/tree/cb93ee489b702511c75f5214b85f2baa851dc85b

Verificado 20 de out.

Artefatos de modelo

1 artefato

adapter_model.safetensors

safetensors · 8,27 MB · SHA-256 e2027eea11e1…c857 · Hugging Face

Baixar

Trechos de fonte

3 trechos

--- license: apache-2.0 base_model: Qwen/Qwen2.5-0.5B-Instruct library_name: peft tags: - dpo - lora - peft pipeline_tag: text-generation --- # Qwen2.5-0.5B-Instruct DPO-aligned (arXiv QA) DPO alignment of [sidmhuggingface/rag-sft-qwen2.5-0.5b](https://huggingface.co/sidmhuggingface/rag-sft-qwen2.5-0.5b) (itself a QLoRA-SFT of `Qwen/Qwen2.5-0.5B-Instruct`) on 40 preference pairs: `chosen` = `qwen3-235b-a22b-instruct-2507` (a much larger model) answers, `rejected` = the SFT model's own generations on the same questions. Part of a larger RAG + GPT-from-scratch + DPO alignment portfolio project: https://github.com/sidesshmore/rag-document-assistant ## Training - **Method:** DPO (`trl` `DPOTrainer`), beta=0.1, 3 epochs, LoRA r=16 continuing from the SFT adapter - **Data:** 40 preference pairs (34 train / 6 eval), questions distinct from the SFT training set - **Training-time signal:** reward accuracy 0.79 -> 0.94 -> 1.0 across 3 epochs, reward margin 0.37 -> 1.23, eval loss 0.39 -> 0.32 - DPO clearly learned to separate `chosen` from `rejected` during training. ## Honest evaluation: DPO did not clearly beat SFT on held-out generation quality Pairwise win rate on 20 held-out questions, judged with **`gemma3-27b-it`** - deliberately a different model family from the `qwen3-235b` DPO teacher, to avoid the judge favoring outputs that resemble its own family. Each pair was judged twice with (SFT, DPO) presentation order swapped and reconciled to a winner or "tie" - a standard control for LLM-judge position bias. | | Win rate | |---|---| | SFT wins | 35% | | DPO wins | 20% | | Tie | 45% | **SFT alone won more often than the DPO-aligned model.** This is reported as-is, not tuned away: an earlier check with a different judge (before the bias controls above were added, and before that run hit an unrelated API error) showed the same mixed pattern, which cross-checks that this isn't a one-off artifact of the specific judge model. The likely explanation is that the training signal here is thin by construction: a 0.5B parameter model, LoRA rank 16, and only 40 preference pairs. The gap is between "the model learned to prefer `chosen` over `rejected` during training" (which the reward-accuracy curve above shows clearly) and "that generalizes to better held-out answers judged independently" (which it does not, at this scale). A larger preference set or more...

Source context: 8 downloads · 0 likes · Pipeline text-generation · Library peft · Repo sidmhuggingface/rag-dpo-qwen2.5-0.5b

Source context: 11 downloads · 0 likes · Pipeline text-generation · Library peft · Repo sidmhuggingface/rag-dpo-qwen2.5-0.5b