TRL and RLHF: English Vocabulary for LLM Fine-Tuning Engineers (англійською)

Вивчення англійської лексики для TRL і RLHF: тренажер PPO, модель винагороди, DPO, ORPO, SFT і шаблони балачки для налаштування великих мовних моделей.

Досконала настройка великих мовних моделей швидко еволюціонувала з нішової дослідницької діяльності в основну інженерну вміння в багатьох організаціях. Бібліотека Hugging Face TRL — Transformer Reinforcement Learning — стала стандартним набором інструментів для цієї роботи, і разом з нею з’явився багатий, точний словник, який дослідники і інженери використовують щодня. Незалежно від того, читаєте ви статтю, відвідуєте конференцію з машинного навчання або переглядаєте навчальний сценарій колеги, вільне володіння цими термінами англійською мовою зробить вас сильнішим співробітником.

Ключовий словник

** SFT (Supervised Fine- Tuning) ** — процес подальшого тренування попередньо тренованої мовної моделі на міткуванні набору даних пар вхід- вихід, навчання її дотримуватися певного формату або поведінки перед будь- яким кроком вирівнювання, заснованого на перевагах.

  • Визначення речення: * SFT майже завжди є першим етапом у потоці тонкої настройки; він встановлює базову модель, яку потім можна вдосконалити за допомогою наступних методів вирівнювання. Приклад: “Ми запустили SFT на 50 000 парах інструкція-відповідь перед переходом до стадії вирівнювання переваг.”

** PPO trainer ** — компонент у TRL, який реалізує оптимізацію ближньої політики, алгоритм, який оновлює ваги моделі за допомогою сигналів винагороди, запобігаючи при цьому надмірному відхиленню політики від початкової моделі за один крок оновлення.

  • Визначення речення: * PPOTrainer у TRL керує циклом розгортання, нагородженням балів і оновленням градієнтів у одному тренувальному об’ єкті.
  • Приклад: * “Налаштування коефіцієнта штрафу KL у тренажері PPO потребувало декількох експериментальних запусків, перш ніж ми знайшли стабільну конфігурацію.”

** Модель винагороди ** — окремо тренована модель, яка присвоює скалярну оцінку частині сформованого тексту, що відображає, наскільки добре вивід відповідає людським перевагам.

  • Визначення речення: * Модель винагороди тренується за допомогою даних переваг — пар відповідей, у яких людина вказала, яка з них краща — і її виводи керують сигналом оновлення PPO. Приклад: “Наша модель винагороди була тренована на 12 000 парних порівнянь і досягла 78% погоди з людськими анотаціями.”

** DPO (Direct Preference Optimisation) ** — алгоритм вирівнювання, який обходить потребу в окремій моделі винагороди, безпосередньо оптимізуючи політику на людських парах переваг за допомогою втрати класифікації.

  • Визначення речення: * DPO став популярним, оскільки його простіше реалізувати і стабільніше тренувати, ніж PPO, досягаючи порівняно високої якості вирівнювання у багатьох задачах. Приклад: “Ми перейшли з PPO на DPO після того, як модель винагороди продовжувала надмірно оптимізуватися і виробляти вихідні дані, що були збиті нагородою.”

**ORPO (Odds Ratio Preference Optimisation) ** — більш сучасний алгоритм вирівнювання, який поєднує SFT і оптимізацію переваг в одну тренувальну ціль, виключаючи необхідність окремої фази SFT.

  • Визначення речення: * ORPO застосовує штраф до відхилених відповідей у межах тієї ж функції втрат, яка нагороджує обрані відповіді, значно спрощуючи тренувальний конвеєр.
  • Приклад: * _“ORPO зменшив нашу загальну вартість обчислень, тому що нам більше не потрібні два окремі тренувальні запуски для SFT і вирівнювання.” _

** Шаблон балачки ** — структурований формат рядка, який обгортає повідомлення користувача, дії помічника і системні запити спеціальними символами, які повідомляють моделі, яка роль створила кожний шматочок тексту.

  • Визначення речення: * Кожна базова модель має свій власний шаблон балачки, і застосування неправильного шаблону у часі виведення призводить до погіршення якості або непослідовності виводу.
  • Приклад: * “Метод apply_chat_template символізатора отримує список словників повідомлень і повертає вхідний рядок у правильному форматі.”

** Дані про переваги ** — набір даних пар (або груп) відповідей моделей на одну і ту ж пропозицію, анотований людськими або штучними судженнями про те, яка відповідь є перевагою, використовується для навчання моделей винагороди або запуску DPO.

  • Визначення речення: * Якість ваших даних настроювання є найважливішим фактором, який визначає якість вашої вирівняної моделі.
  • Приклад:* “Ми зібрали дані про переваги за допомогою внутрішнього інструменту анотації, де експерти з даної теми оцінили відповіді за корисністю та точністю.”

PEFT/LoRA в контексті TRL — Параметри-ефективні методи тонкої настройки, найчастіше низькоранкова адаптація, які дозволяють TRL-тренерам оновлювати тільки невелику частину параметрів моделі, роблячи тонку настройку можливою на скромному обладнанні.

  • Визначення речення:* Тренери TRL інтегровані з бібліотекою peft, тому ви можете обгорнути будь-яку базову модель з адаптером LoRA і передати її безпосередньо до SFTTrainer або DPOTrainer.
  • Приклад: * “Ми налаштували модель 7B на одному A100, використовуючи LoRA з рангом 16, що зменшило кількість тренованих параметрів на більше ніж 99%.”

Корисні фрази

  • «Ми запускаємо триетапний конвеєр: SFT на наборі даних інструкцій, потім модель винагороди, навчену на парних перевагах, а потім PPO, щоб вирівняти політику»
  • «Функція втрати DPO обробляє пари переваг безпосередньо, тому немає необхідності підтримувати окрему модель винагороди в пам’яті під час тренування»
  • «Упевніться, що ви застосовуєте правильний шаблон чату перед токенізацією — змішування шаблонів Llama і Mistral є дуже легкою помилкою.»
  • «Наші адаптери LoRA є крихітними порівняно з базовими моделями, тому ми можемо зберігати десятки тонко налаштованих варіантів без значних витрат на зберігання»
  • «Ми оцінювали вирівняну модель проти бази SFT, використовуючи виграшний коефіцієнт на виключеному наборі переваг, і DPO вийшов вперед у 63% порівнянь»

Поширені помилки

Сказав “ми тренували модель з підкріпленням навчання від людського відгуку” при описі DPO

RLHF технічно відноситься до повного циклу людської анотації, навчання моделі винагороди і оптимізації PPO. DPO не RLHF — він повністю обходить модель винагороди. Точніше сказати _ « ми використовували метод вирівнювання за настановами » _ або _ « ми застосували DPO » _, ніж згортати все під парасолькою RLHF.

Неправильно вимовляє або неправильно використовує “близький”

Слово * proximal * означає « близько до точки походження ». Інженери іноді плутають його з * approximate * або * proximity *. У фразі * Проксимальна оптимізація правил *, * проксимальна * позначає обмеження, яке зберігає оновлене правило близьким до початкового правила. Вам не слід пояснювати це у розмові, але знання значення допоможе вам правильно використовувати цей термін у контексті.

Розгляд « вирівнювання » як синонім « тонкої настройки »

Досконала настройка відноситься до будь-якого подальшого тренування попередньо тренованої моделі. Вирівнювання є підмножиною тонкої настройки, яка конкретно націлена на те, щоб зробити вихідні дані моделі безпечнішими, більш корисними або більш відповідними людським цінностям. Модель може бути налаштована для конкретного завдання — скажімо, підсумування юридичного документа — без проведення будь-якої процедури вирівнювання. Використання цих термінів точно запобігатиме плутанини під час обговорення цілей проекту.

Простір TRL і RLHF швидко розвивається, з появою нових алгоритмів кожні кілька місяців. Створення міцного фундаменту англійського словника щодо SFT, PPO, DPO і даних переваг допоможе вам швидше читати нові статті, критичніше оцінювати нові методики і ефективніше вносить свій внесок у роботу вашої команди з досконалювання.

Наприклад, слово «комунікація» в англійській мові означає «комунікація в тісному контакті»

Світ великої мовної моделі (LLM) тонкої настройки - особливо з такими методами, як TRL і RLHF - може бути неймовірно технічним. Легко загубитися в акронімах, складних алгоритмах і абстрактних поняттях. Але ще складніше ефективно спілкуватися про ці процеси в межах команди. Як для людини, для якої англійська не є рідною, важливо не тільки розуміти технологію, але і те, як ваші колеги обговорюють її, запитують зміни або повідомляють про проблеми. Це не просто про те, щоб знати визначення «моделі винагороди» або «SFT»; це про розуміння * тону * і * фрази *, що використовуються при співпраці над проектом, який формує майбутнє ШІ.

Розглянемо такий сценарій: ви переглядаєте запит на відтягування (Pull Request, PR), надісланий колегою, Alex, який реалізував нову модель винагороди за допомогою DPO. Опис PR виглядає так: « Покращена модель винагороди для кращого вирівнювання ». Хоча з технічної точки зору цей опис є точним, у ньому відсутній важливий контекст і не надано достатньо інформації, щоб ви могли ефективно оцінити зміни. Більш конструктивним коментарем може бути: «Алексе, це хороший початок! Чи можете ви додати деякі відомості про конкретні показники, які ви використовуєте для оцінки ефективності моделі винагороди? Зокрема, я зацікавлений у тому, щоб побачити, як вона порівнюється з попередньою версією на базі заплутаності для наших цільових шаблонів чату і чи є якісь помітні зміни в KL- розбіжності. Також, чи могли б ви коротко пояснити логіку вибору DPO над іншими варіантами, такими як PPO для цього конкретного завдання? “Зауважте різницю - це конкретно, запитує прояснюючі питання, і формує зворотній зв’язок як спільні зусилля, а не критику. Аналогічно, в розмовах Slack, що обговорюють прогрес тренування, використання фраз на кшталт «Давайте ітерувати на цьому, базуючись на виході моделі винагороди» є набагато ефективнішим, ніж просто сказати «Модель не навчається»

Інша поширена ситуація виникає при запиті змін від старшого інженера. Уявіть, що вам потрібно налаштувати шаблони підказок, використовувані для SFT — зокрема, ви вважаєте, що вони призводять до надмірно довгих відповідей. Ви можете написати листа електронної пошти, у якому буде сказано: « Я помітив, що деякі з запитів SFT призводять до виводу даних, які перевищують наші бажані обмеження довжини. Чи можемо ми дослідити скорочення цих підказок і, можливо, включити такі методи, як «навчання за декількома вистрілами», щоб направити модель до більш коротких відповідей? “Цей підхід демонструє, що ви зробили своє дослідження, чітко сформулювали проблему і запропонували потенційне рішення - всі ключові елементи професійного спілкування.

Нарешті, пам’ ятайте, що документація є життєво важливою, не лише для технічних специфікацій, але також для пояснення * чому * були прийняті певні рішення. Добре написаний опис PR або резюме зустрічі може заощадити безліч годин там і назад, чітко описуючи цілі, методологію і очікувані результати. Це про будівництво спільного розуміння в команді, сприяння довіри, і забезпечення того, що кожен є врівноваженим на цілі.

Ось приклад того, як ви можете використовувати trl для спостереження за процесом навчання:

trl train --model-name my_llm --data your_dataset.jsonl --prompt-cache cache/my_llm --reward-model reward_model.bin --epochs 10

Ця команда демонструє базовий запуск тренування TRL, витягування даних, назву моделі, і, що важливо, вказує розташування попередньо тренованої моделі винагороди ( reward_model.bin ). Моніторинг виходу для таких метрик, як KL-розбіжність і сила сигналу винагороди, є критичним для розуміння процесу тонкої настройки.

Поширені запитання

Про що ця стаття "TRL and RLHF: English Vocabulary for LLM Fine-Tuning Engineers (англійською)"?

Вивчення англійської лексики для TRL і RLHF: тренажер PPO, модель винагороди, DPO, ORPO, SFT і шаблони балачки для налаштування великих мовних моделей.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "TRL and RLHF: English Vocabulary for LLM Fine-Tuning Engineers (англійською)"?

Приблизно 9 min.