Навіщо LLM зовнішня пам'ять: RAG, ембединги й донавчання
Як генерація з доповненим пошуком дає мовній моделі «відкриту книжку»: чанкінг, ембединги, відповіді з опорою на джерела, де RAG виграє в донавчання і де все ще помиляється.
Попросіть велику мовну модель пояснити складне поняття, стиснути звіт чи накидати переконливу відповідь — і вона зазвичай упорається. Попросіть її поводитися як база даних — і почнуться проблеми. Її знання живуть у параметрах і відображають ті дані, що були на момент навчання. Ці знання можуть бути неповними, застарілими чи неперевірюваними, а якщо модель чогось не знає, вона однаково може відповісти впевненим тоном.
Стандартне рішення — Retrieval-Augmented Generation, або RAG. Замість того щоб відповідати лише з пам'яті, модель спершу шукає потрібну інформацію в зовнішній бібліотеці, а потім пише відповідь на основі знайденого.
Іспит із закритою і відкритою книжкою
Уявіть, що ви просите юриста перевірити договір. За правилами «закритої книжки» юрист має згадати кожен пункт з пам'яті, і навіть досвідчений фахівець може переплутати деталь або спертися на застарілу редакцію. За правилами «відкритої книжки» ви даєте йому впорядковану шафу з документами. Юрист знаходить потрібний документ, читає точне формулювання пункту і лише тоді пояснює.
Мовні моделі поводяться так само:
Closed-book approach:
Question
|
v
LLM's internal memory
|
v
Possible outdated or invented answer
Open-book RAG approach:Question
|
v
Search external documents
|
v
Retrieve relevant passages
|
v
LLM uses those passages to answer
Розуміє і пояснює, як і раніше, модель. Пошукова система лише постачає докази.
Параметрична пам'ять та її межі
Те, що модель знає всередині себе, називають параметричною пам'яттю. Під час навчання вона обробляє величезні обсяги даних і підлаштовує параметри, але на виході виходить не охайна таблиця фактів. Інформація осідає у вигляді закономірностей, розподілених по всій мережі. Саме це робить модель гнучкою, але й створює проблеми:
- Змінити один конкретний факт складно.
- Не завжди можна сказати, звідки взялася відповідь.
- Знання застарівають.
- Правильні й неправильні закономірності можуть змішуватися.
- Закрита інформація компанії автоматично недоступна.
RAG додає другий вид пам'яті, який зазвичай називають непараметричним. Він міститься поза моделлю — у документах, базах даних, пошукових індексах чи векторних сховищах. У первісному дослідженні RAG це описано як поєднання попередньо навченої моделі із зовнішнім щільним індексом документів.
Як працює базова RAG-система
Більшість систем проходять чотири етапи.
1. Підготовка документів
Документи збирають, очищають і ріжуть на фрагменти — чанки. Чанк має бути достатньо великим, щоб зберегти зміст, і достатньо малим, щоб його можна було точно знайти. Корпоративну політику, наприклад, краще ділити за розділами, ніж рубати будь-де посеред речення.
2. Перетворюємо текст на те, що можна шукати
Кожен фрагмент стає ембедингом — числовим представленням свого змісту. Тексти зі схожим змістом дають схожі ембединги, тому система знаходить потрібні фрагменти, навіть якщо формулювання різні. Користувач може запитати, скільки днів можна працювати з дому, а в політиці написано, що працівники можуть працювати віддалено до двох днів на тиждень. Добрий пошук пов'яже одне з одним, попри різну лексику.
3. Знаходимо релевантне
Коли надходить запитання, система теж перетворює його на ембединг і шукає близькі фрагменти. Найкращі збіги потрапляють у контекст моделі.
User question
|
v
Search document index
|
v
Retrieve relevant passages
|
v
Add passages to the model prompt
4. Генеруємо відповідь з опорою на джерела
Тепер модель бачить і запитання, і знайдений матеріал. Вона може переказати його, порівняти джерела або просто пояснити відповідь. Ретельно побудована система також велить моделі посилатися на джерела й визнавати, коли в документах бракує інформації.
RAG чи донавчання
Коли компанія хоче, щоб модель користувалася внутрішніми знаннями, перша думка — часто донавчання (fine-tuning). Воно може допомогти, але зберігати так факти, що змінюються, — погана ідея. Донавчання змінює поведінку моделі через тренування на додаткових прикладах, і переглядати так політику щотижня було б повільно, дорого й важко перевірити.
RAG іде іншим шляхом. Коли інформація змінюється, ви оновлюєте колекцію документів, і вже наступний запит може знайти нову версію. Це як різниця між тим, щоб переписати людині пам'ять, і тим, щоб вручити їй оновлений довідник.
| Завдання | Донавчання | RAG |
|---|---|---|
| Змінити стиль тексту | Чудово підходить | Обмежено |
| Навчити конкретного формату відповіді | Чудово підходить | Можливо, але менш прямо |
| Додати факти, що часто змінюються | Погано підходить | Чудово підходить |
| Використати закриті документи | Можливо, але дорого | Чудово підходить |
| Показати першоджерело | Складно | Природно |
| Швидко оновити інформацію | Потрібне перенавчання | Оновити індекс документів |
Дослідження, що порівнюють обидва підходи, показують, що RAG особливо добре додає рідкісні чи нещодавно появлені факти. Одне порівняння впровадження знань через навчання і через пошук опубліковано на arXiv, і подальший аналіз доходить схожого висновку.
Конкурують вони не завжди. Команда може донавчити модель заради тону й поведінки, а актуальні факти подавати через RAG.
RAG — не панацея
RAG знижує частку помилок, але не гарантує правильних відповідей. Система однаково може помилитися, коли:
- Потрібний документ так і не додали.
- Документ застарів.
- Пошук повернув не той фрагмент.
- Ключова інформація розкидана по невдало нарізаних чанках.
- Модель неправильно зрозуміла знайдений текст.
- Трапляються суперечливі документи без зрозумілого пріоритету.
Тож якість залежить не лише від моделі. Важать структура документів, якість пошуку, метадані, права доступу, посилання на джерела й оцінювання. Запам'ятати легко: RAG покращує доступ моделі до доказів, але самі докази мають бути добрими.
Де це окупається в компаніях
RAG найкраще пасує, коли інформація закрита, вузькоспеціальна або часто оновлюється. Це політики щодо персоналу й відряджень, посібники до продуктів, бази знань підтримки, договори та інші юридичні матеріали, фінансові звіти, документація API і технічна документація, медичні настанови та записи щодо окремих проєктів.
Припустімо, працівник питає чинний ліміт компенсації витрат на відрядження. Універсальна модель може дати загальну відповідь або вгадати. RAG-система знайде актуальну політику відряджень і відповість затвердженою сумою, а заразом може вказати назву документа, версію політики й потрібний розділ, щоб відповідь було легко перевірити й проаудитувати.
Новий поділ праці
RAG змінює саме призначення мовної моделі. Їй більше не треба тримати в собі кожен факт, що може знадобитися, — вона може працювати шаром міркувань і спілкування, під'єднаним до зовнішніх знань.
External documents
|
v
Search and retrieval system
|
v
Relevant context
|
v
Language model
|
v
Answer with explanation and sources
Модель інтерпретує, пошукова система працює бібліотекарем, а документи — це довідкова полиця. Якщо розділити ці ролі, системи простіше оновлювати і часто простіше контролювати.
Чого пошук досі не вміє
Доступ до інформації — не те саме, що здатність діяти. Модель може знати, що відрядження треба погодити, але погодити його не може. Вона може пояснити правила повернення коштів, але не може оформити повернення, бо не має доступу до бізнес-системи. Щоб закрити цей розрив, моделі під'єднують до інструментів через виклик функцій і API, і тоді вони переходять від написання тексту до корисної роботи. Модель училася на світі, RAG дає їй змогу заглядати в довідники. Навчити її діяти на основі своїх знань — наступне завдання.
Статті, які варто відкрити
- Первісна стаття про RAG із NeurIPS 2020 поєднує попередньо навчений генератор із пошуковим індексом.
- Дослідження мовних моделей із доповненим пошуком у режимі few-shot показує, як далеко може зайти пошук лише з кількома прикладами.