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 і досягає подібної точності маршрутизації для наших конкретних категорій квитків»


Закінчення цієї таблиці

FactorRAGFine-Tuning
Best forDynamic, changing knowledgeStable tasks, tone, format
Model changes?NoYes
Update speedImmediate (add/remove docs)Requires retraining
Source attributionNative (cite retrieved chunks)Difficult
Hallucination riskLower (grounded in docs)Higher (model relies on memorised weights)
InfrastructureVector DB + retrieval pipelineTraining compute + model hosting
CostHigher per-query retrieval costHigher upfront, lower per-query
Data requiredStructured document corpusLabelled 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 потребують поліпшення », спробуйте сказати: « Мене хвилює те, що компонент пошуку не ефективно фільтрує відповідні документи; можливо, ми могли б розглянути можливість додавання більш детальних пошукових термінів або вдосконалення алгоритму ранжування, щоб визначити пріоритет найбільш відповідної інформації для цього конкретного запиту. » Цей спосіб зосереджено на * конкретних * діях і пропонує чіткий шлях уперед, уникаючи нечіткої критики. Використання фраз, таких як «зерені пошукові терміни» і «алгоритм ранжування» демонструє глибше розуміння технології і заохочує конструктивний діалог.

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

Про що ця стаття "RAG vs Fine-Tuning: Explaining the Trade-off (англійською)"?

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

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

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

Скільки часу займає читання "RAG vs Fine-Tuning: Explaining the Trade-off (англійською)"?

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