byte-vortex's picture
Update README.md
f30cf05 verified
|
Raw History Blame Contribute Delete
1.82 kB
metadata
title: The Reward Went Up. Nothing Changed.
emoji: 🔧
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 6.30.0
python_version: '3.12'
app_file: app.py
pinned: false
license: apache-2.0
short_description: Reward went up. The model's answers didn't change.

The Reward Went Up. Nothing Changed.

How a model can "learn" a safety preference in training and still say the exact same thing.

A recorded walkthrough of training small LoRA adapters with Direct Preference Optimization (DPO) on a Gemma 4 base model, across seven increasingly rigorous attempts — including two that failed cleanly and one that eventually worked.

Every stage tab displays results recorded from actual notebook runs — each response is copied verbatim from a real training/evaluation pass, not generated on the fly, so what you see is exactly what was tested (and exactly where it failed).

The "Try it live" tab is the one exception: real inference against the one adapter that worked (Step 3.7b, r=32 LoRA), running on ZeroGPU. It's clearly marked experimental, validated on only 2 safety prompts and 2 near-miss prompts — outside that narrow set, expect base-model behavior. Live responses can also differ from the recorded transcripts even on the "known-working" prompts: greedy decoding is only truly deterministic on identical hardware, and this tab runs on different GPU hardware than the original training/eval did, so a close token choice can flip and the completion can diverge from there. In one observed case, a prompt recorded as a clean refusal produced a softer, more hedged response live. Treat the recorded tabs as the validated record, and the live tab as a demo that can vary, not a guaranteed reproduction of them.

See the Limitations tab before taking any of the numbers at face value.