Instructions to use WhyZosa/llm-course-hw2-reward-model with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use WhyZosa/llm-course-hw2-reward-model with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="WhyZosa/llm-course-hw2-reward-model")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("WhyZosa/llm-course-hw2-reward-model") model = AutoModelForSequenceClassification.from_pretrained("WhyZosa/llm-course-hw2-reward-model", device_map="auto") - Notebooks
- Google Colab
- Kaggle
SmolLM reward model
Сначала обучил reward-модель для PPO. За основу взял SmolLM-135M-Instruct и пары chosen/rejected из HumanLLMs. Обновлял только голову score, то есть 576 параметров, остальные веса заморозил
Как обучал
| Параметр | Значение |
|---|---|
| GPU | A100 80 ГБ |
| Train / test | 9790 / 1089 пар |
| Эпохи | 1 |
| Шаги | 612 |
| Batch size | 16 |
| Learning rate | 3e-4 |
| Максимальная длина | 1024 токена |
| Seed | 42 |
| Время обучения | 150,55 с, около 2 мин 31 с |
После разбиения в train было 9795 пар. Пять слишком длинных примеров RewardTrainer отфильтровал, осталось 9790. В test осталось 1089 пар
Для паддинга добавил отдельный [PAD], потому что EOS встречается и внутри диалога. После этого в словаре 49153 токена. Модель нужно загружать со своим сохранённым токенизатором
Что получилось
На test модель правильно расставила ответы в 1084 из 1089 пар, accuracy получилась 99,54%. Eval loss - 0,043659, train loss за эпоху - 0,110826
На первой паре из test оценки такие:
| Ответ | Score |
|---|---|
| chosen | 4.5403 |
| rejected | -0.0810 |
У chosen оценка выше, как и должно быть. Сам score - это оценка предпочтения, а не вероятность того, что ответ правильный
Пример пары
В выводе evaluate() есть вопрос Do you have a favorite type of vacation or getaway?
Фрагмент chosen:
You know, I'm a big fan of beach vacations!
Фрагмент rejected:
I'm happy to assist you with your inquiry. However, as a professional AI, I don't have personal preferences or opinions, nor do I have the capacity to experience emotions or take vacations.
Ответы здесь сокращены, полностью их можно посмотреть в ноутбуке. Эта модель сама не генерирует текст, а оценивает готовые ответы
Для этого датасета результат хороший: chosen почти всегда получает оценку выше rejected. Но здесь предпочтения в основном про разговорный стиль. Проверки фактов в таком score нет, а на других датасетах я модель не проверял
- Downloads last month
- 29
Model tree for WhyZosa/llm-course-hw2-reward-model
Base model
HuggingFaceTB/SmolLM-135M