Refresh

This website www.unite.ai/uk/a-deep-dive-into-retrieval-augmented-generation-in-llm/ is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

Зв'язатися з нами

Штучний Інтелект

Глибоке занурення в пошуково-розширену генерацію в LLM

mm

опублікований

 on

Пошук розширеної генерації ілюстрації за допомогою Midjourney

Уявіть, що ви аналітик і маєте доступ до великої мовної моделі. Ви в захваті від перспектив, які він приносить у ваш робочий процес. Але потім ви запитуєте його про останні ціни на акції чи поточний рівень інфляції, і ви вражаєте:

«Вибачте, але я не можу надати дані в режимі реального часу або після відключення. Мої останні дані про тренування стосуються лише січня 2022 року».

Великі мовні моделі, незважаючи на всю їхню лінгвістичну потужність, не мають здатності осягнутизараз'. І в швидкоплинному світі,зараз' це все.

Дослідження показали, що великі попередньо підготовлені мовні моделі (LLM) також є сховищем фактичних знань.

Їх навчили так багато даних, що вони засвоїли багато фактів і цифр. При точному налаштуванні вони можуть досягти чудових результатів у різноманітних завданнях НЛП.

Але ось у чому заковика: їх здатність отримувати доступ до збережених знань і маніпулювати ними часом не ідеальна. Особливо, коли поставлене завдання є наукомістким, ці моделі можуть відставати від більш спеціалізованих архітектур. Це як мати бібліотеку з усіма книгами світу, але немає каталогу, щоб знайти те, що вам потрібно.

ChatGPT від OpenAI отримує оновлення веб-перегляду

Нещодавнє оголошення OpenAI про можливість перегляду веб-сторінок ChatGPT є значним кроком у напрямку Retrieval-Augmented Generation (RAG). Завдяки тому, що ChatGPT тепер може шукати актуальну та достовірну інформацію в Інтернеті, він відображає підхід RAG, який передбачає динамічне отримання даних із зовнішніх джерел для надання збагачених відповідей.

Наразі ця функція доступна для користувачів Plus і Enterprise, але незабаром OpenAI планує розгорнути цю функцію для всіх користувачів. Користувачі можуть активувати це, вибравши «Огляд за допомогою Bing» під опцією GPT-4.

Chatgpt Нова функція перегляду

Chatgpt Нова функція перегляду Bing

 Швидка інженерія є ефективною, але недостатньою

Підказки служать воротами до знань LLM. Вони направляють модель, забезпечуючи напрямок для відповіді. Однак створення ефективної підказки не є повноцінним рішенням, щоб отримати те, що ви хочете від LLM. І все-таки давайте розглянемо деякі хороші практики, які слід враховувати під час написання підказки:

  1. ясність: чітко визначена підказка усуває двозначність. Він має бути зрозумілим, гарантуючи, що модель розуміє намір користувача. Ця ясність часто перетворюється на більш узгоджені та відповідні відповіді.
  2. Контекст: Особливо для великих вхідних даних розміщення інструкції може вплинути на результат. Наприклад, перенесення інструкції в кінець довгого підказки часто може дати кращі результати.
  3. Точність у навчанні: Сила запитання, яке часто передається через структуру «хто, що, де, коли, чому, як», може спрямувати модель до більш цілеспрямованої відповіді. Крім того, вказівка ​​бажаного формату виводу або розміру може ще більше уточнити вихід моделі.
  4. Робота з невизначеністю: дуже важливо навчити модель реагувати, коли вона не впевнена. Наприклад, вказівка ​​моделі відповідати «Я не знаю», коли я не знаю, може запобігти створенню неточних чи «галюцинований» відповіді.
  5. Поетапне мислення: Для складних інструкцій скерування моделі до систематичного мислення або розбиття завдання на підзавдання може призвести до більш повних і точних результатів.

Що стосується важливості підказок у керуванні ChatGPT, вичерпну статтю можна знайти в статті за адресою Unite.ai.

Проблеми в генеративних моделях ШІ

Оперативне проектування передбачає точне налаштування директив, наданих вашій моделі, щоб покращити її продуктивність. Це дуже економічно ефективний спосіб підвищити точність програми Generative AI, що вимагає лише незначних коригувань коду. Хоча оперативне проектування може значно покращити результати, дуже важливо розуміти властиві обмеження великих мовних моделей (LLM). Є два основних виклики галюцинацій та обрізки знань.

  • Галюцинації: це стосується випадків, коли модель впевнено повертає неправильну або сфабриковану відповідь. Хоча розширений LLM має вбудовані механізми для розпізнавання та уникнення таких виходів.
Галюцинації в LLM

Галюцинації в LLM

  • Обрізки знань: Кожна модель LLM має дату завершення навчання, після якої вона не знає про події чи розробки. Це обмеження означає, що знання моделі заморожені на момент останнього навчання. Наприклад, модель, навчена до 2022 року, не знала б подій 2023 року.
Відсічення знань у LLMS

Відсічення знань у LLM

Генерація з доповненим пошуком (RAG) пропонує вирішення цих проблем. Це дозволяє моделям отримувати доступ до зовнішньої інформації, пом’якшуючи проблеми галюцинацій, надаючи доступ до пропрієтарних або доменних даних. Для обмеження знань RAG може отримати доступ до поточної інформації після дати навчання моделі, забезпечуючи актуальність вихідних даних.

Це також дозволяє LLM отримувати дані з різних зовнішніх джерел у режимі реального часу. Це можуть бути бази знань, бази даних або навіть величезний простір Інтернету.

Вступ до пошуково-доповненої генерації

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

Структура RAG працює структуровано:

Оперативний вхід

Процес починається з введення або підказки користувача. Це може бути питання або твердження, що вимагає конкретної інформації.

Отримання із зовнішніх джерел

Замість того, щоб безпосередньо генерувати відповідь на основі свого навчання, модель за допомогою компонента retriever здійснює пошук у зовнішніх джерелах даних. Ці джерела можуть варіюватися від баз знань, баз даних і сховищ документів до даних, доступних в Інтернеті.

Розуміння пошуку

За своєю суттю пошук відображає операцію пошуку. Йдеться про вилучення найбільш актуальної інформації у відповідь на введення користувача. Цей процес можна розбити на два етапи:

  1. Індексація: мабуть, найскладнішою частиною всього шляху RAG є індексування вашої бази знань. Процес індексування можна загалом розділити на два етапи: завантаження та розділення. У таких інструментах, як LangChain, ці процеси називаються «навантажувачі"І"розкольники“. Завантажувачі отримують вміст із різних джерел, будь то веб-сторінки чи PDF-файли. Після отримання роздільники сегментують цей вміст на невеликі фрагменти, оптимізуючи їх для вбудовування та пошуку.
  2. Запит: це акт вилучення найбільш відповідних фрагментів знань на основі пошукового терміну.

Хоча існує багато способів підходу до пошуку, від простого зіставлення тексту до використання пошукових систем, таких як Google, сучасні системи Retrieval-Augmented Generation (RAG) покладаються на семантичний пошук. В основі семантичного пошуку лежить концепція вкладень.

Вбудовування є ключовим для того, як великі мовні моделі (LLM) розуміють мову. Коли люди намагаються сформулювати, як вони отримують значення зі слів, пояснення часто повертається до внутрішнього розуміння. Глибоко в наших когнітивних структурах ми усвідомлюємо, що «дитина» і «дитина» є синонімами або що «червоний» і «зелений» позначають кольори.

Доповнення підказки

Потім отримана інформація поєднується з оригінальним запитом, створюючи доповнене або розширене повідомлення. Ця розширена підказка надає моделі додатковий контекст, який особливо цінний, якщо дані є предметно-специфічними або не є частиною початкового навчального корпусу моделі.

Створення завершення

Маючи під рукою розширену підказку, модель генерує завершення або відповідь. Ця відповідь не тільки базується на навчанні моделі, але й на основі даних, отриманих у реальному часі.

Пошуково-доповнена генерація

Пошуково-доповнена генерація

Архітектура першого RAG LLM

Дослідницька стаття Meta, опублікована в 2020 році «Генерація з доповненим пошуком для наукоємних завдань НЛП” забезпечує поглиблений погляд на цю техніку. Модель Retrieval-Augmented Generation доповнює традиційний процес генерації зовнішнім механізмом пошуку або пошуку. Це дозволяє моделі отримувати релевантну інформацію з величезних масивів даних, підвищуючи її здатність генерувати контекстуально точні відповіді.

Ось як це працює:

  1. Параметрична пам'ять: Це ваша традиційна мовна модель, як модель seq2seq. Його навчили величезній кількості даних і він багато знає.
  2. Непараметрична пам'ять: сприймайте це як пошукову систему. Це щільний векторний індекс, скажімо, Вікіпедії, до якого можна отримати доступ за допомогою нейронного ретривера.

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

РАГ ОРИГІНАЛЬНА МОДЕЛЬ МЕТА

Оригінальна модель RAG від Meta

1. Двоетапний процес:

RAG LLM працює в два етапи:

  • Пошук: спочатку модель шукає релевантні документи або уривки з великого набору даних. Це робиться за допомогою механізму щільного пошуку, який використовує вбудовування для представлення як запиту, так і документів. Потім вбудовування використовуються для обчислення показників подібності, і витягуються документи з найвищим рейтингом.
  • Покоління: маючи під рукою релевантні документи top-k, вони потім направляються в генератор послідовності поряд із початковим запитом. Потім цей генератор створює кінцевий результат, витягуючи контекст як із запиту, так і з отриманих документів.

2. Щільне пошук:

Традиційні системи пошуку часто покладаються на розріджені представлення, такі як TF-IDF. Однак RAG LLM використовує щільні представлення, де і запит, і документи вбудовані в безперервні векторні простори. Це дозволяє проводити більш тонкі порівняння подібності, фіксуючи семантичні зв’язки, окрім простого зіставлення ключових слів.

3. Генерація послідовності до послідовності:

Отримані документи діють як розширений контекст для моделі генерації. Ця модель, яка часто базується на таких архітектурах, як Transformers, потім генерує кінцевий результат, забезпечуючи його послідовність і релевантність контексту.

Пошук документів

Індексування та пошук документів

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

Векторні бази даних

Векторна база даних

джерело: Redis

Векторні бази даних, які іноді називають векторним сховищем, — це адаптовані бази даних, які вміють зберігати та отримувати векторні дані. У сфері штучного інтелекту та інформатики вектори — це, по суті, списки чисел, що символізують точки в багатовимірному просторі. На відміну від традиційних баз даних, які більше налаштовані на табличні дані, векторні бази даних сяють у керуванні даними, які природно відповідають векторному формату, наприклад, вбудованим моделям AI.

Деякі відомі векторні бази даних включають Annoy, Фейс від Meta, Мільвус та Соснова шишка. Ці бази даних є ключовими в додатках штучного інтелекту, допомагаючи виконувати завдання, починаючи від систем рекомендацій і закінчуючи пошуком зображень. Такі платформи, як AWS, також пропонують послуги, адаптовані для потреб векторних баз даних, наприклад Amazon OpenSearch Service і Amazon RDS для PostgreSQL. Ці служби оптимізовані для конкретних випадків використання, забезпечуючи ефективне індексування та запити.

Частування для релевантності

Зважаючи на те, що багато документів можуть бути великими, часто використовується техніка, відома як «фрагментація». Це передбачає розбиття великих документів на менші, семантично узгоджені частини. Потім ці фрагменти індексуються та витягуються за потреби, гарантуючи, що найбільш релевантні частини документа використовуються для швидкого доповнення.

Розгляд контекстного вікна

Кожен LLM працює в контекстному вікні, яке, по суті, є максимальною кількістю інформації, яку він може розглядати одночасно. Якщо зовнішні джерела даних надають інформацію, яка перевищує це вікно, її потрібно розбити на менші фрагменти, які вписуються в контекстне вікно моделі.

Переваги використання пошуково-доповненої генерації

  1. Підвищена точність: Використовуючи зовнішні джерела даних, RAG LLM може генерувати відповіді, які базуються не лише на даних навчання, але й на основі найактуальнішої та найновішої інформації, доступної в пошуковому корпусі.
  2. Подолання прогалин у знаннях: RAG ефективно усуває властиві обмеження знань LLM, незалежно від того, чи це пов’язано з обмеженням навчання моделі чи відсутністю даних, що стосуються предметної області, у навчальному корпусі.
  3. Гнучкість: RAG можна інтегрувати з різними зовнішніми джерелами даних, від власних баз даних в організації до загальнодоступних даних в Інтернеті. Це робить його адаптованим до широкого спектру застосувань і галузей.
  4. Зменшення галюцинацій: Однією з проблем LLM є можливість «галюцинацій» або створення фактично невірної чи сфабрикованої інформації. Надаючи контекст даних у реальному часі, RAG може значно зменшити ймовірність таких виходів.
  5. масштабованість: Однією з головних переваг RAG LLM є його здатність до масштабування. Завдяки розділенню процесів пошуку та генерації модель може ефективно обробляти величезні набори даних, що робить її придатною для реальних додатків, де даних надлишок.

Виклики та міркування

  • Обчислювальні витрати: двоетапний процес може бути інтенсивним з точки зору обчислень, особливо при роботі з великими наборами даних.
  • Залежність даних: Якість отриманих документів безпосередньо впливає на якість створення. Отже, мати вичерпний і добре підібраний пошуковий корпус має вирішальне значення.

Висновок

Завдяки інтеграції процесів пошуку та генерації, Retrieval-Augmented Generation пропонує надійне рішення для наукомістких завдань, забезпечуючи результати, які є як інформованими, так і відповідними контексту.

Справжня перспектива RAG полягає в її потенційних реальних застосуваннях. Для таких галузей, як охорона здоров’я, де своєчасна та точна інформація може мати вирішальне значення, RAG пропонує можливість безперебійно отримувати та генерувати інформацію з великої кількості медичної літератури. У сфері фінансів, де ринки розвиваються щохвилини, RAG може надавати інформацію в реальному часі на основі даних, допомагаючи приймати обґрунтовані рішення. Крім того, в академічних і дослідницьких колах науковці можуть використовувати RAG для сканування величезних сховищ інформації, роблячи огляди літератури та аналіз даних більш ефективними.

Останні п’ять років я провів, занурюючись у захоплюючий світ машинного та глибокого навчання. Моя пристрасть і досвід допомогли мені внести свій внесок у понад 50 різноманітних проектів розробки програмного забезпечення, зосередивши особливу увагу на ШІ/ML. Моя постійна цікавість також привела мене до обробки природної мови, галузі, яку я хочу досліджувати далі.