Learnly
LLM Fine Tuning/Глава 3/Урок 4

DPO Практическая реализация

Отправьте свой финальный проект!

Пришло время отправить вашу модель, выровненную с DPO! В этом разделе используется та же система отправки с лидером, что и в разделе 1. Вот план:

  1. Прочитайте руководство по разделу ✅
  2. Выполните обучение модели, используя знания из этого раздела.
  3. Загрузите модель в LearnPath Hub.
  4. Оцените модель с помощью hf jobs.
  5. Откройте запрос на включение в таблицу лидеров.

На этой странице мы рассмотрим каждый шаг.

1. Прочитайте руководство по разделу и 2. Выполните обучение модели, используя знания из этого раздела.

Для сдачи в разделе 3 вам нужно прочитать весь материал в разделе и выполнить обучение модели, выровненной по предпочтениям, используя DPO. Код обучения предоставлен в:

Вам нужно будет объединить это с техниками обучения с LearnPath Jobs из раздела 1.

3. Загрузите модель в LearnPath Hub

После того, как вы обучите свою модель, выровненную с DPO, вам нужно будет загрузить ее в репозиторий на LearnPath Hub. TRL за это позаботится, если вы добавите флаг --push_to_hub в команду обучения.

Обучение DPO с загрузкой в Hub:

hf jobs uv run \
    --flavor a100-large \
    --secrets HF_TOKEN \
    "https://raw.githubusercontent.com/huggingface/trl/main/trl/scripts/dpo.py" \
    --model_name_or_path HuggingFaceTB/SmolLM3-3B \
    --dataset_name Anthropic/hh-rlhf \
    --learning_rate 5e-7 \
    --beta 0.1 \
    --max_steps 1000 \
    --push_to_hub \
    --hub_model_id your-username/smollm3-dpo-aligned \
    --report_to trackio

Ваша обученная модель будет доступна по адресу your-username/your-model-name. Для подробной документации обратитесь к документации по контрольным точкам из transformers.

4. Оцените модель с помощью hf jobs

Теперь мы будем оценивать вашу модель, выровненную с DPO. Мы будем использовать hf jobs для оценки модели и объединим это с lighteval. Мы загрузим результаты оценки в датасет на хабе.

Для оценки DPO мы используем задачи, которые тестируют как полезность, так и аспекты безопасности выравнивания, включая truthfulqa, gsm8k и другие оценочные показатели, ориентированные на выравнивание.

hf jobs uv run \
    --flavor a10g-large \
    --with "lighteval[vllm]" \
    --secrets HF_TOKEN \
    lighteval vllm "model_name=<your-username>/<your-model-name>" \
    "lighteval|truthfulqa:mc2|0|0,lighteval|hellaswag|0|0,lighteval|arc:challenge|0|0" \
    --push-to-hub --results-org <your-username>

Эта команда оценит модель с помощью lighteval и vllm и сохранит результаты на LearnPath Hub в репозиторий датасета, который вы определите.

В разделе 3 мы фокусируемся на оценке выравнивания, но в разделе 2 мы более подробно исследуем оценку. Ключевые оценочные показатели для оценки DPO включают:

  • TruthfulQA: Проверка на правдивые и честные ответы
  • GSM8K: Математическое рассуждение и полезность
  • MMLU: Широкие знания и полезность во всех областях

5. Отправить pull request на leaderboard

Теперь вы готовы отправить вашу модель с выравниванием ПВП на таблицу лидеров! Вам нужно сделать две вещи:

  1. Добавить результаты вашей модели в submissions.json
  2. Поделиться командами для обучения и оценки в тексте PR.

Добавить результаты вашей модели в submissions.json

Отправьте pull request на leaderboard space, чтобы отправить вашу модель. Вам нужно всего лишь добавить информацию о вашей модели и ссылку на набор данных, созданный на предыдущем шаге. Мы извлечем результаты и отобразим их на таблице лидеров.

{
    "submissions": [

        ... // существующие отправки
        
        {
            "username": "<your-username>",
            "model_name": "<your-model-name>", 
            "chapter": "3",
            "method": "DPO",
            "submission_date": "<your-submission-date>",
            "results-dataset": "<your-results-dataset>",
            "base_model": "HuggingFaceTB/SmolLM3-3B",
            "preference_dataset": "Anthropic/hh-rlhf"
        }
    ]
}

Поделиться командами для обучения и оценки в тексте PR

В тексте PR предоставьте команды для обучения и оценки.

Дождаться слияния PR

Как только PR будет объединен, ваша модель с выравниванием ПВП будет добавлена на таблицу лидеров! Вы можете проверить таблицу лидеров здесь.

Проверьте свои знания

Вы завершили блок, отличная работа!
Теперь продемонстрируйте свои знания, приняв участие в квизе.

Ресурсы и дополнительные материалы для чтения

Удачи с вашей отправкой модели для выравнивания ПВП! 🚀

AI-тест
1 / 5

Что такое DPO?