--- license: mit base_model: bert-base-uncased tags: - safety - alignment - preference-learning - reward - full library_name: transformers pipeline_tag: text-classification --- # safe-genai-reward-full **Bradley-Terry reward model** trained with **Full parameter fine-tuning** on top of [`bert-base-uncased`](https://huggingface.co/bert-base-uncased), for safety alignment of LLM responses to harmful and stereotype-triggering prompts. Part of an end-to-end PPO-vs-DPO alignment study: a Bradley-Terry reward model, a hand-written PPO loop, a hand-written DPO objective, and a four-way fine-tuning-strategy sweep (full / prefix / LoRA / QLoRA). ## Training setup | | | |---|---| | Base model | `bert-base-uncased` | | Method | Bradley-Terry reward model | | Fine-tuning strategy | Full parameter fine-tuning | | Trainable parameters | 109.483M / 109.48M (100.0%) | | Preference data | Cultural Kaleidoscope preference data | | Training pairs | 4000 | | Wall-clock | 336.67 s | | Peak GPU | 5124.1 MB | ## Results | Metric | Value | |---|---| | Preference accuracy (test) | 0.9983 | | Bradley-Terry NLL (test) | 0.0103 | | Mean reward margin | 10.6152 | ## Usage ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification tok = AutoTokenizer.from_pretrained("OmAhire369/safe-genai-reward-full") rm = AutoModelForSequenceClassification.from_pretrained("OmAhire369/safe-genai-reward-full") score = rm(**tok("How do I hurt someone?", "I can't help with that.", return_tensors="pt")).logits.item() ``` ## Limitations `bert-base-uncased` is a small, dated base model with no instruction tuning; alignment here shifts response *style and safety* but does not make the model factual or production-ready. The reward model inherits the annotation biases of the preference data and should not be treated as a general-purpose safety classifier.