RAG vs Fine-Tuning: Explaining the Trade-off (англійською)
Як пояснити RAG і тонку настройку зацікавленим сторонам, менеджерам продуктів і клієнтам — словник, аналогії і готові до використання фрази для технічних обговорень.
Однією з найпоширеніших технічних розмов, які інженери штучного інтелекту мають з зацікавленими сторонами, є те, чи використовувати RAG (Retrieval-Augmented Generation) або тонку настройку для поліпшення LLM для конкретного випадку використання. Це різні інструменти, які вирішують різні проблеми, але їх часто плутають. Цей посібник надає вам словниковий запас і фрази, які вам потрібні для чіткого пояснення цього компромісу.
Основні визначення
RAG (Retrieval-Augmented Generation) — генерація з відновленням
** RAG ** — це метод, за допомогою якого під час виведення висновків відповідні документи витягуються з бази знань і вводяться у командний рядок. Модель генерує свою відповідь, засновану на цих документах.
Сама модель не змінюється — тільки підказка збільшується.
“Ми використовуємо RAG, щоб дати моделі доступ до нашої внутрішньої документації. Кожного разу, коли користувач задає запитання, ми отримуємо три найбільш відповідні сторінки і включаємо їх у запит.”
** Ключова аналогія: **
«RAG схоже на те, що дає моделі * відкритий іспит * - вона може подивитися на відповідні сторінки перед тим, як відповісти. Модель не запам’ятовує знання; вона читає з нотаток»
Досконалість
** Досконала настройка ** це додаткове навчання на меншому, прицільному наборі даних — коригування ваги моделі для поліпшення продуктивності на певному завданні, області або стилі спілкування.
Сама модель ** змінюється ** - нові знання і поведінка випікаються в її параметрах.
«Ми відлагоджували модель на 5000 анотованих розмовах з підтримкою клієнтів. Тепер він дотримується наших тональних рекомендацій і знає наші категорії продуктів, не вимагаючи їх в кожному запиті»
** Ключова аналогія: **
«Досконала настройка є як спеціалізована підготовка — модель вивчає певну область і зберігає ці знання назавжди. Не потрібно відкритої книги»
Коли використовувати кожен
Використовувати RAG, коли:
- Знання часто змінюються: новини, документація, правила, каталоги продукції
- ** Потрібно вказати джерело **: модель може цитувати певні документи
- ** Знання великі **: база знань на 10 000 сторінок не вміститься у параметри запитів або моделей
- ** Швидке оновлення **: додавання або вилучення документів без перенавчання
- ** Важливість відстеження **: аудитори повинні бачити, які джерела описують кожну відповідь
«Ми обрали RAG, тому що наша документація продукту оновлюється щотижня — тонка настройка була б застарілим майже відразу»
Використовувати тонку настройку, коли:
- ** Важливість тону і стилю **: ви бажаєте, щоб модель відповідала певним голосом
- ** Спеціалізований формат задачі **: структуровані виводи, класифікація за доменом, код у власному DSL
- Знання стабільні: не змінюються часто — коди медичних рахунків, нормативні рамки з певного року
- ** Потрібні коротші підказки **: тонка настройка додає відомості, зменшуючи розмір підказки під час виведення висновку
- ** Затримка є критичною **: менші, точніше налаштовані моделі можуть перевершувати більші базові моделі для певних завдань
“Ми відрегулювали меншу модель на 2000 класифікованих квитків підтримки. Він працює на 5 разів швидше, ніж GPT-4 і досягає подібної точності маршрутизації для наших конкретних категорій квитків»
Закінчення цієї таблиці
| Factor | RAG | Fine-Tuning |
|---|---|---|
| Best for | Dynamic, changing knowledge | Stable tasks, tone, format |
| Model changes? | No | Yes |
| Update speed | Immediate (add/remove docs) | Requires retraining |
| Source attribution | Native (cite retrieved chunks) | Difficult |
| Hallucination risk | Lower (grounded in docs) | Higher (model relies on memorised weights) |
| Infrastructure | Vector DB + retrieval pipeline | Training compute + model hosting |
| Cost | Higher per-query retrieval cost | Higher upfront, lower per-query |
| Data required | Structured document corpus | Labelled training examples (hundreds to thousands) |
Неправильні твердження про значення
«Досконала настройка вчить модель новим фактам» — частково правдиво, але ризиковано
Досконала настройка * може * випікати фактичні знання - але модель все ще може галюцинувати, суперечити цим фактам, або грациозно провалюватися, коли запитують про інформацію, на яку вона не була досконало налаштована.
«Досконала настройка є більш надійною для * поведінки задачі *, ніж для * фактичної точності *. Для фактичних знань, RAG з заземленням джерела є більш надійним»
«RAG є тільки для великих документів» — Невірно
RAG застосовується до будь- якого сценарію, у якому вам потрібна модель для роботи з зовнішньою, перевіреною або оновленою інформацією — незалежно від розміру документа.
«Ми можемо просто швидко-інженерувати замість тонкої настройки» — Часто правда, рідко завжди правда
Для простих змін стилю достатньо простої інженерії. Досконала настройка стає необхідною, коли:
- Рішення з запитом вимагають дуже довгих системних запитів (дорого)
- Потрібна послідовність у тисячах взаємодій
- Виконання завдання з запитом досягає максимальної швидкості
Пояснення на зустрічі
Менеджеру продукту
«Фундаментальним питанням є: Чи має модель знати речі, чи робити речі? Якщо йому потрібно знати речі — особливо речі, які змінюються — ми отримуємо їх у час запиту (RAG). Якщо він повинен поводитися в певний спосіб — формат, тон, спеціалізована задача — ми тренуємо цю поведінку (досконала настройка). Часто найкраща система виробництва використовує обидва»
Для керівника
“Мислите в плане стоимости обслуживания и риска. RAG означає, що ми можемо оновлювати нашу базу знань без торкання до моделі ШІ - нижчий ризик, швидші оновлення. Досконала настройка дає нам більш спеціалізовану модель для конкретних завдань — більше можливостей, але довший цикл ітерацій»
Для клієнта
«Щоб зробити ШІ корисним для вашої конкретної області, у нас є два основних інструменти. Одним з них є надання доступу до ваших документів у реальному часі — програма шукає відповідний вміст перед тим, як відповідати. Інша - тренування його спеціально для вашого випадку використання, щоб він розумів вашу термінологію і процеси. Ми, ймовірно, використаємо комбінацію»
Гібридний метод
RAG + Fine-Tuning (RAFT / Domain-Adapted RAG) — RAG з тонким налаштуванням
Найбільш здатні виробничі системи використовують обидва:
- ** Досконала настройка ** формату завдання, тону, стилю аргументації і класифікації, що залежить від області
- ** RAG ** для поточних фактичних знань і приписування
«Ми відлагоджували модель на 3000 прикладах нашого бажаного вихідного формату — це означає, що базова модель вже знає, як структурувати відповіді. RAG потім підживлює його поточним знанням, яке йому потрібно, щоб насправді відповісти на фактичні питання»
Корисні фрази
** Рекомендуємо RAG:**
- “Враховуючи, як часто змінюється наша документація, я б рекомендував RAG, а не тонку настройку — в іншому випадку ми б перенавчалися щотижня.”
- “Вимога дотримання приписування джерела робить RAG очевидним вибором — ми можемо відстежити кожну заяву до конкретного абзацу.”
** Рекомендована тонка настройка: **
- “Проблема послідовності стилю є в основному проблемою тонкої настройки - ви не можете швидко розробити свій шлях до надійного тону через 50 000 взаємодій з клієнтами.”
- “Досконала настройка меншої моделі на нашому конкретному завданні на 6 разів дешевше за запит, ніж використання GPT-4 з довгим системним запитом.”
** Пояснюю обидва: **
- *“RAG і тонка настройка не є конкуруючими стратегіями — вони доповнюють один одного. RAG займається проблемою «що знає модель»; тонка настройка займається проблемою «як поводиться модель». *
Practice
Поглибте свій словниковий запас ШІ за допомогою ** Набір вправ з прикладного штучного інтелекту та права **.
Див. повний ** Інженер-технолог з інженерних систем ** для підготовки до інтерв’ю та практики спілкування.
Використання мови в іграх: Використання мови в іграх
Ми вже описали багато чого про пошук з розширеним поколінням (RAG) проти тонкої настройки - розуміння їх фундаментальних відмінностей є ключем до ефективного спілкування. Але перекладати ці технічні знання на чітку, коротку мову для колег, які не занурені в машинне навчання, може бути складно. Це не просто заява фактів; це вибір правильних слів і стратегічне оформлення ваших пояснень. Давайте поглянемо, як ми можемо вдосконалити наш підхід, щоб переконатися, що всі на одній сторінці.
Однією з поширених пасток є використання жаргону без пояснення. Сказати «ми повинні відрегулювати модель» може залишити менеджера продукту повністю збентеженим. Замість цього, ви можете сказати щось на зразок: “Щоб справді оптимізувати його відповіді для цієї конкретної області - скажімо, медичного діагнозу - ми будемо тренувати модель безпосередньо на величезному наборі даних відповідних записів пацієнтів і експертних оцінок. Цей процес, який називається * тонка настройка *, регулює базові параметри, щоб дати глибше розуміння цієї конкретної області. “Зверніть увагу, як ми замінили жаргон аналогією - процесом “трену” - і чітко заявили, що тренується * на *.
Аналогічно, обговорюючи RAG, уникайте простого зауваження «Ми використовуємо RAG». Це не передає користь. Замість цього ви можете пояснити: «По суті, замість того, щоб покладатися виключно на попередні знання моделі, ми надаємо їй відповідну інформацію з нашої бази даних - подумайте про це, як про те, щоб дати моделі всеоб’ємну дослідницьку статтю * в той момент *, коли їй потрібно відповісти на запитання. Це забезпечує, що відповіді ґрунтуються на поточних даних і є більш точним». Використання фраз на кшталт «ґрунтується на поточних даних» надає відчутну перевагу, яку зацікавлені сторони можуть зрозуміти, пов’язуючи технічні концепції з реальними результатами.
Нарешті, пам’ ятайте, що під час перегляду коду, пропонуючи зворотній зв’ язок на реалізації RAG вимагає ретельної фразування. Замість того, щоб сказати « Налаштування RAG потребують поліпшення », спробуйте сказати: « Мене хвилює те, що компонент пошуку не ефективно фільтрує відповідні документи; можливо, ми могли б розглянути можливість додавання більш детальних пошукових термінів або вдосконалення алгоритму ранжування, щоб визначити пріоритет найбільш відповідної інформації для цього конкретного запиту. » Цей спосіб зосереджено на * конкретних * діях і пропонує чіткий шлях уперед, уникаючи нечіткої критики. Використання фраз, таких як «зерені пошукові терміни» і «алгоритм ранжування» демонструє глибше розуміння технології і заохочує конструктивний діалог.