Використання великих мовних моделей для створення додатків генеративного штучного інтелекту супроводжується новими викликами. Основною проблемою є забезпечення якості відповідей (точності та релевантності) у контенті, який генерує модель для конкретного запиту користувача. У попередніх уроках ми обговорювали такі техніки, як інженерія підказок та генерація з розширеним пошуком, які намагаються вирішити проблему шляхом модифікації вхідних даних підказки для існуючої моделі.
У сьогоднішньому уроці ми обговоримо третю техніку — тонке налаштування, яка намагається вирішити проблему шляхом перенавчання самої моделі з використанням додаткових даних. Давайте розглянемо деталі.
Цей урок знайомить з концепцією тонкого налаштування для попередньо навчених мовних моделей, досліджує переваги та виклики цього підходу, а також надає рекомендації щодо того, коли і як використовувати тонке налаштування для покращення продуктивності ваших генеративних моделей штучного інтелекту.
До кінця цього уроку ви зможете відповісти на наступні запитання:
- Що таке тонке налаштування мовних моделей?
- Коли і чому тонке налаштування є корисним?
- Як можна виконати тонке налаштування попередньо навченої моделі?
- Які обмеження тонкого налаштування?
Готові? Почнемо.
Хочете отримати загальне уявлення про те, що ми будемо розглядати, перед тим як заглибитися? Ознайомтеся з цим ілюстрованим посібником, який описує навчальний шлях цього уроку — від вивчення основних концепцій і мотивації для тонкого налаштування до розуміння процесу та найкращих практик для виконання завдання тонкого налаштування. Це захоплююча тема для дослідження, тому не забудьте переглянути сторінку Ресурси для додаткових посилань, які підтримають вашу самостійну навчальну подорож!
За визначенням, великі мовні моделі є попередньо навчені на великих обсягах тексту, отриманого з різних джерел, включаючи інтернет. Як ми вже дізналися в попередніх уроках, нам потрібні такі техніки, як інженерія підказок та генерація з розширеним пошуком, щоб покращити якість відповідей моделі на запитання користувача ("підказки").
Популярна техніка інженерії підказок передбачає надання моделі більш чітких вказівок щодо того, що очікується у відповіді, або шляхом надання інструкцій (явні вказівки), або наданням кількох прикладів (неявні вказівки). Це називається навчанням з кількома прикладами, але воно має два обмеження:
- Ліміти токенів моделі можуть обмежувати кількість прикладів, які ви можете надати, і знижувати ефективність.
- Вартість токенів моделі може зробити додавання прикладів до кожної підказки дорогим і обмежити гнучкість.
Тонке налаштування — це поширена практика в системах машинного навчання, коли ми беремо попередньо навчену модель і перенавчаємо її з новими даними, щоб покращити її продуктивність для конкретного завдання. У контексті мовних моделей ми можемо тонко налаштувати попередньо навчену модель з використанням спеціально підібраного набору прикладів для конкретного завдання або домену застосування, щоб створити кастомну модель, яка може бути більш точною та релевантною для цього конкретного завдання або домену. Додатковою перевагою тонкого налаштування є те, що воно може також зменшити кількість прикладів, необхідних для навчання з кількома прикладами, — зменшуючи використання токенів і пов'язані з цим витрати.
У цьому контексті, коли ми говоримо про тонке налаштування, ми маємо на увазі супервізоване тонке налаштування, де перенавчання здійснюється шляхом додавання нових даних, які не були частиною оригінального набору даних для навчання. Це відрізняється від підходу несупервізованого тонкого налаштування, де модель перенавчається на оригінальних даних, але з іншими гіперпараметрами.
Головне, що потрібно пам'ятати, це те, що тонке налаштування — це складна техніка, яка вимагає певного рівня експертизи для досягнення бажаних результатів. Якщо виконати його неправильно, воно може не забезпечити очікуваних покращень і навіть погіршити продуктивність моделі для вашого цільового домену.
Отже, перед тим як дізнатися "як" тонко налаштовувати мовні моделі, вам потрібно зрозуміти "чому" ви повинні обрати цей шлях і "коли" почати процес тонкого налаштування. Почніть з того, щоб задати собі ці запитання:
- Випадок використання: Який ваш випадок використання для тонкого налаштування? Який аспект поточної попередньо навченої моделі ви хочете покращити?
- Альтернативи: Чи пробували ви інші техніки для досягнення бажаних результатів? Використовуйте їх для створення базового рівня для порівняння.
- Інженерія підказок: Спробуйте техніки, такі як навчання з кількома прикладами, з прикладами релевантних відповідей на підказки. Оцініть якість відповідей.
- Генерація з розширеним пошуком: Спробуйте доповнити підказки результатами запитів, отриманими шляхом пошуку у ваших даних. Оцініть якість відповідей.
- Витрати: Чи визначили ви витрати на тонке налаштування?
- Налаштовуваність — чи доступна попередньо навчена модель для тонкого налаштування?
- Зусилля — для підготовки навчальних даних, оцінки та вдосконалення моделі.
- Обчислення — для запуску завдань тонкого налаштування та розгортання тонко налаштованої моделі.
- Дані — доступ до достатньої кількості якісних прикладів для впливу тонкого налаштування.
- Переваги: Чи підтвердили ви переваги тонкого налаштування?
- Якість — чи перевершила тонко налаштована модель базовий рівень?
- Вартість — чи зменшує вона використання токенів, спрощуючи підказки?
- Розширюваність — чи можна адаптувати базову модель для нових доменів?
Відповівши на ці запитання, ви зможете вирішити, чи є тонке налаштування правильним підходом для вашого випадку використання. Ідеально, якщо підхід є виправданим лише тоді, коли переваги перевищують витрати. Як тільки ви вирішите продовжити, настав час подумати про те, як ви можете тонко налаштувати попередньо навчену модель.
Хочете отримати більше інформації про процес прийняття рішення? Дивіться Тонке налаштування чи ні
Для тонкого налаштування попередньо навченої моделі вам потрібно мати:
- попередньо навчену модель для тонкого налаштування
- набір даних для використання в тонкому налаштуванні
- середовище для навчання, щоб запустити завдання тонкого налаштування
- середовище для розгортання тонко налаштованої моделі
Наступні ресурси надають покрокові інструкції, які допоможуть вам пройти реальний приклад використання вибраної моделі з підібраним набором даних. Для роботи з цими навчальними матеріалами вам потрібен обліковий запис у конкретного провайдера, а також доступ до відповідної моделі та наборів даних.
| Провайдер | Навчальний посібник | Опис |
|---|---|---|
| OpenAI | Як тонко налаштувати чат-моделі | Дізнайтеся, як тонко налаштувати gpt-35-turbo для конкретного домену ("асистент рецептів"), підготувавши навчальні дані, запустивши завдання тонкого налаштування та використовуючи тонко налаштовану модель для інференції. |
| Azure OpenAI | Навчальний посібник з тонкого налаштування GPT 3.5 Turbo | Дізнайтеся, як тонко налаштувати модель gpt-35-turbo-0613 на Azure, виконуючи кроки зі створення та завантаження навчальних даних, запуску завдання тонкого налаштування. Розгорніть і використовуйте нову модель. |
| Hugging Face | Тонке налаштування LLM з Hugging Face | Цей блог-пост проводить вас через процес тонкого налаштування відкритої LLM (наприклад, CodeLlama 7B) за допомогою бібліотеки transformers та Transformer Reinforcement Learning (TRL) з використанням відкритих наборів даних на Hugging Face. |
| 🤗 AutoTrain | Тонке налаштування LLM з AutoTrain | AutoTrain (або AutoTrain Advanced) — це бібліотека Python, розроблена Hugging Face, яка дозволяє виконувати тонке налаштування для багатьох різних завдань, включаючи тонке налаштування LLM. AutoTrain — це рішення без коду, і тонке налаштування можна виконати у вашій власній хмарі, на Hugging Face Spaces або локально. Воно підтримує як веб-інтерфейс, так і CLI, а також навчання через конфігураційні файли yaml. |
Виберіть один із наведених вище навчальних посібників і пройдіть його. Ми можемо відтворити версію цих навчальних посібників у Jupyter Notebooks у цьому репозиторії лише для довідки. Будь ласка, використовуйте оригінальні джерела безпосередньо, щоб отримати найновіші версії.
Після завершення цього уроку перегляньте нашу колекцію навчальних матеріалів з генеративного штучного інтелекту, щоб продовжити вдосконалювати свої знання про генеративний штучний інтелект!
Вітаємо!! Ви завершили фінальний урок з серії v2 цього курсу! Не зупиняйтеся на досягнутому, продовжуйте навчатися та створювати. **Перегляньте сторінку РЕСУРСИ для списку додаткових пропозицій саме з цієї теми.
Наша серія уроків v1 також була оновлена з додатковими завданнями та концепціями. Тож знайдіть хвилинку, щоб освіжити свої знання — і, будь ласка, поділіться своїми запитаннями та відгуками, щоб допомогти нам покращити ці уроки для спільноти.
Відмова від відповідальності:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.

