Генерація з доповненням через пошук (Retrieval-Augmented Generation, RAG) — це техніка, що поєднує пошук інформації з її генерацією для створення більш точних і контекстуально релевантних відповідей.
Генерація з доповненою вибіркою інформації надає генеративним моделям штучного інтелекту можливості пошуку інформації. Вона змінює взаємодію з великою мовною моделлю (LLM) так, щоб модель відповідала на запити користувачів, спираючись на визначений набір документів, використовуючи цю інформацію для доповнення даних, отриманих із її власного великого статичного набору . Це дозволяє LLM використовувати інформацію, яка є специфічною для певної галузі, або актуальнішу інформацію. Застосування включають надання чат-ботам доступу до внутрішніх даних компанії або надання фактів лише з авторитетних джерел.
Процес
RAG є гібридним підходом у галузі машинного навчання, який підвищує якість генерації тексту за рахунок попереднього пошуку релевантної інформації. На відміну від традиційних моделей машинного навчання, які покладаються виключно на вбудовані знання, RAG динамічно витягує інформацію з зовнішніх джерел перед генерацією відповіді
Процес RAG складається з чотирьох основних етапів. Спершу всі дані повинні бути підготовлені та проіндексовані для використання великою мовною моделлю (LLM). Далі кожен запит включає етапи пошуку, доповнення та генерації.
Індексація
Зазвичай дані, до яких потрібно звертатися, перетворюються на вбудовування (embeddings) для великої мовної моделі (LLM) — числові представлення у вигляді великих векторів. RAG можна застосовувати до неструктурованих (зазвичай текстових), напівструктурованих або структурованих даних (наприклад, графів знань). Ці вбудовування зберігаються у векторній базі даних, що дозволяє здійснювати пошук документів.
Пошук
Для заданого запиту користувача спочатку викликається механізм пошуку документів, щоб вибрати найбільш релевантні документи, які будуть використані для доповнення запиту. Цей процес порівняння може виконуватися різними методами, залежно від типу індексації, що використовується.
Доповнення
Модель передає цю релевантну отриману інформацію у велику мовну модель (LLM) через інженерію запитів на основі початкового запиту користувача. Новіші реалізації (станом на 2023 рік) також можуть включати спеціальні модулі доповнення, які здатні розширювати запити на кілька доменів, використовувати пам’ять і самовдосконалення для навчання на основі попередніх пошуків.
Генерація
Нарешті, велика мовна модель (LLM) може згенерувати відповідь, спираючись як на запит, так і на отримані документи. Деякі моделі включають додаткові кроки для покращення результату, такі як повторне ранжування отриманої інформації, вибір контексту та тонке налаштування.
Покращення
Удосконалення базового процесу, наведеного вище, можна застосовувати на різних етапах потоку RAG.
Кодувальник
Ці методи зосереджені на кодуванні тексту у вигляді густих або розріджених векторів. Розріджені вектори, які використовуються для кодування ідентичності слова, зазвичай мають довжину словника та майже повністю складаються з нулів. Густі вектори, які використовуються для кодування значення, значно менші та містять набагато менше нулів. Можна зробити кілька покращень у способі розрахунку подібностей у векторних сховищах (базах даних).
- Продуктивність можна покращити за допомогою швидших скалярних добутків, приблизного пошуку найближчих сусідів або пошуку центроїдів.
- Точність можна покращити за допомогою пізніх взаємодій (Late Interactions).
- Гібридні вектори: густі векторні представлення можна поєднувати з розрідженими векторами one-hot, щоб використовувати швидші розріджені скалярні добутки замість повільніших густих. Інші методи можуть поєднувати розріджені методи (BM25, SPLADE) із густими, такими як DRAGON.
Методи, орієнтовані на пошук (Retriever-centric methods)
Ці методи спрямовані на покращення якості звернень із векторної бази даних:
- попередньо навчити механізм пошуку (retriever) за допомогою завдання зворотного закриття (Inverse Cloze Task).
- прогресивне доповнення даних. Метод Dragon вибирає складні негативні приклади для навчання механізму пошуку з використанням густих векторів.
- під наглядом навчайте механізм пошуку (retriever) для заданого генератора. На основі запиту та бажаної відповіді отримайте топ-k векторів і передайте їх до генератора, щоб отримати оцінку заплутаності (perplexity) для правильної відповіді. Потім мінімізуйте KL-дивергенцію між спостережуваною ймовірністю отриманих векторів і ймовірностями мовної моделі (LM), щоб налаштувати механізм пошуку.
- використовуйте повторне ранжування для навчання механізму пошуку.
Мовна модель
Переробивши мовну модель з урахуванням механізму пошуку (retriever), можна створити мережу, яка у 25 разів менша за розміром, але має порівняльний рівень заплутаності (perplexity) з набагато більшими моделями. Оскільки ця модель (Retro) навчається з нуля, її реалізація вимагає високих витрат на навчання, яких уникала початкова схема RAG. Гіпотеза полягає в тому, що, надаючи знання про домен під час навчання, Retro потребує менше уваги до домену і може зосередити свої обмежені ресурси ваг лише на мовній семантиці. Тут показано перероблену мовну модель.
Було повідомлено, що Retro не є відтворюваним, тому були внесені зміни для забезпечення відтворюваності. Більш відтворювана версія називається Retro++ і включає RAG у контексті.
Розбиття на фрагменти (Chunking)
Розбиття на фрагменти включає різні стратегії поділу даних на вектори, щоб механізм пошуку міг знаходити в них деталі.
Три типи стратегій розбиття на фрагменти:
- Фіксована довжина з перекриттям. Це швидко та просто. Перекриття послідовних фрагментів допомагає зберігати семантичний контекст між фрагментами.
- Фрагменти на основі синтаксису можуть розбивати документ на речення. Для цього можуть допомогти бібліотеки, такі як spaCy або NLTK.
- Розбиття на фрагменти на основі формату файлу. Деякі типи файлів мають природні фрагменти, і їх найкраще враховувати. Наприклад, файли з кодом найкраще розбивати та векторизувати як цілі функції або класи. У файлах HTML слід залишати елементи <table> або закодовані в base64 зображення <img> недоторканими. Подібні підходи слід застосовувати і до pdf-файлів. Для цього методу можуть бути корисними бібліотеки, такі як Unstructured або Langchain.
Переваги та обмеження
Переваги
- Підвищена точність інформації
- Актуальність даних
- Можливість посилання на джерела
- Зменшення ризику "галюцинацій" моделі
Обмеження
- Технічна складність реалізації
- Залежність від якості бази знань
- Обчислювальна ресурсоємність
Якщо зовнішнє джерело даних є великим, пошук може бути повільним. Використання RAG не повністю усуває загальні виклики, з якими стикаються великі мовні моделі (LLM), зокрема галюцинації.
Список літератури
- Why Use RAG?
- Retrieval-augmented generation (RAG)
- Знайомство з RAG: що таке генерація з доповненим пошуком
- Глибоке занурення в пошуково-розширену генерацію в LLM
- Розуміння генерації з розширеним пошуком (RAG)
- Sajid, Haziqa (3 січня 2024). Що таке доповнена пошукова генерація?. Unite.AI (укр.). Процитовано 27 листопада 2024.
- Gao, Yunfan; Xiong, Yun; Gao, Xinyu; Jia, Kangxiang; Pan, Jinliu; Bi, Yuxi; Dai, Yi; Sun, Jiawei; Wang, Meng; Wang, Haofen (2023). Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv:2312.10997 [cs.CL].
- What is RAG? - Retrieval-Augmented Generation AI Explained - AWS. Amazon Web Services, Inc. Процитовано 16 липня 2024.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nemaye perevirenih versij ciyeyi storinki jmovirno yiyi she ne pereviryali na vidpovidnist pravilam proektu Generaciya z dopovnennyam cherez poshuk Retrieval Augmented Generation RAG ce tehnika sho poyednuye poshuk informaciyi z yiyi generaciyeyu dlya stvorennya bilsh tochnih i kontekstualno relevantnih vidpovidej Generaciya z dopovnenoyu vibirkoyu informaciyi nadaye generativnim modelyam shtuchnogo intelektu mozhlivosti poshuku informaciyi 1 Vona zminyuye vzayemodiyu z velikoyu movnoyu modellyu LLM tak shob model vidpovidala na zapiti koristuvachiv spirayuchis na viznachenij nabir dokumentiv vikoristovuyuchi cyu informaciyu dlya dopovnennya danih otrimanih iz yiyi vlasnogo velikogo statichnogo naboru navchalnih danih Ce dozvolyaye LLM vikoristovuvati informaciyu yaka ye specifichnoyu dlya pevnoyi galuzi abo aktualnishu informaciyu 2 Zastosuvannya vklyuchayut nadannya chat botam dostupu do vnutrishnih danih kompaniyi abo nadannya faktiv lishe z avtoritetnih dzherel 3 Zmist 1 Proces 1 1 Indeksaciya 1 2 Poshuk 1 3 Dopovnennya 1 4 Generaciya 2 Pokrashennya 2 1 Koduvalnik 2 2 Metodi oriyentovani na poshuk Retriever centric methods 2 3 Movna model 2 4 Rozbittya na fragmenti Chunking 3 Perevagi ta obmezhennya 3 1 Perevagi 3 2 Obmezhennya 4 Spisok literaturiProcesred RAG ye gibridnim pidhodom u galuzi mashinnogo navchannya yakij pidvishuye yakist generaciyi tekstu za rahunok poperednogo poshuku relevantnoyi informaciyi Na vidminu vid tradicijnih modelej mashinnogo navchannya yaki pokladayutsya viklyuchno na vbudovani znannya RAG dinamichno vityaguye informaciyu z zovnishnih dzherel pered generaciyeyu vidpovidi Proces RAG skladayetsya z chotiroh osnovnih etapiv Spershu vsi dani povinni buti pidgotovleni ta proindeksovani dlya vikoristannya velikoyu movnoyu modellyu LLM Dali kozhen zapit vklyuchaye etapi poshuku dopovnennya ta generaciyi Indeksaciyared Zazvichaj dani do yakih potribno zvertatisya peretvoryuyutsya na vbudovuvannya embeddings dlya velikoyi movnoyi modeli LLM chislovi predstavlennya u viglyadi velikih vektoriv RAG mozhna zastosovuvati do nestrukturovanih zazvichaj tekstovih napivstrukturovanih abo strukturovanih danih napriklad grafiv znan Ci vbudovuvannya zberigayutsya u vektornij bazi danih sho dozvolyaye zdijsnyuvati poshuk dokumentiv nbsp Oglyad procesu RAG poyednannya zovnishnih dokumentiv i vvedennya koristuvacha u zapit do velikoyi movnoyi modeli LLM dlya otrimannya individualizovanogo rezultatu Poshukred Dlya zadanogo zapitu koristuvacha spochatku viklikayetsya mehanizm poshuku dokumentiv shob vibrati najbilsh relevantni dokumenti yaki budut vikoristani dlya dopovnennya zapitu Cej proces porivnyannya mozhe vikonuvatisya riznimi metodami zalezhno vid tipu indeksaciyi sho vikoristovuyetsya Dopovnennyared Model peredaye cyu relevantnu otrimanu informaciyu u veliku movnu model LLM cherez inzheneriyu zapitiv na osnovi pochatkovogo zapitu koristuvacha Novishi realizaciyi stanom na 2023 rik takozh mozhut vklyuchati specialni moduli dopovnennya yaki zdatni rozshiryuvati zapiti na kilka domeniv vikoristovuvati pam yat i samovdoskonalennya dlya navchannya na osnovi poperednih poshukiv Generaciyared Nareshti velika movna model LLM mozhe zgeneruvati vidpovid spirayuchis yak na zapit tak i na otrimani dokumenti Deyaki modeli vklyuchayut dodatkovi kroki dlya pokrashennya rezultatu taki yak povtorne ranzhuvannya otrimanoyi informaciyi vibir kontekstu ta tonke nalashtuvannya Pokrashennyared Udoskonalennya bazovogo procesu navedenogo vishe mozhna zastosovuvati na riznih etapah potoku RAG Koduvalnikred Ci metodi zoseredzheni na koduvanni tekstu u viglyadi gustih abo rozridzhenih vektoriv Rozridzheni vektori yaki vikoristovuyutsya dlya koduvannya identichnosti slova zazvichaj mayut dovzhinu slovnika ta majzhe povnistyu skladayutsya z nuliv Gusti vektori yaki vikoristovuyutsya dlya koduvannya znachennya znachno menshi ta mistyat nabagato menshe nuliv Mozhna zrobiti kilka pokrashen u sposobi rozrahunku podibnostej u vektornih shovishah bazah danih Produktivnist mozhna pokrashiti za dopomogoyu shvidshih skalyarnih dobutkiv pribliznogo poshuku najblizhchih susidiv abo poshuku centroyidiv Tochnist mozhna pokrashiti za dopomogoyu piznih vzayemodij Late Interactions Gibridni vektori gusti vektorni predstavlennya mozhna poyednuvati z rozridzhenimi vektorami one hot shob vikoristovuvati shvidshi rozridzheni skalyarni dobutki zamist povilnishih gustih Inshi metodi mozhut poyednuvati rozridzheni metodi BM25 SPLADE iz gustimi takimi yak DRAGON Metodi oriyentovani na poshuk Retriever centric methods red Ci metodi spryamovani na pokrashennya yakosti zvernen iz vektornoyi bazi danih poperedno navchiti mehanizm poshuku retriever za dopomogoyu zavdannya zvorotnogo zakrittya Inverse Cloze Task progresivne dopovnennya danih Metod Dragon vibiraye skladni negativni prikladi dlya navchannya mehanizmu poshuku z vikoristannyam gustih vektoriv pid naglyadom navchajte mehanizm poshuku retriever dlya zadanogo generatora Na osnovi zapitu ta bazhanoyi vidpovidi otrimajte top k vektoriv i peredajte yih do generatora shob otrimati ocinku zaplutanosti perplexity dlya pravilnoyi vidpovidi Potim minimizujte KL divergenciyu mizh sposterezhuvanoyu jmovirnistyu otrimanih vektoriv i jmovirnostyami movnoyi modeli LM shob nalashtuvati mehanizm poshuku vikoristovujte povtorne ranzhuvannya dlya navchannya mehanizmu poshuku Movna modelred nbsp Movna model Retro dlya RAG Kozhen blok Retro skladayetsya z shariv uvagi Attention pokrokovoyi kros uvagi Chunked Cross Attention ta pryamogo poshirennya Feed Forward Polya z chornim tekstom pokazuyut zminyuvani dani a sinij tekst vkazuye algoritm sho vikonuye ci zmini Pererobivshi movnu model z urahuvannyam mehanizmu poshuku retriever mozhna stvoriti merezhu yaka u 25 raziv mensha za rozmirom ale maye porivnyalnij riven zaplutanosti perplexity z nabagato bilshimi modelyami Oskilki cya model Retro navchayetsya z nulya yiyi realizaciya vimagaye visokih vitrat na navchannya yakih unikala pochatkova shema RAG Gipoteza polyagaye v tomu sho nadayuchi znannya pro domen pid chas navchannya Retro potrebuye menshe uvagi do domenu i mozhe zoserediti svoyi obmezheni resursi vag lishe na movnij semantici Tut pokazano pereroblenu movnu model Bulo povidomleno sho Retro ne ye vidtvoryuvanim tomu buli vneseni zmini dlya zabezpechennya vidtvoryuvanosti Bilsh vidtvoryuvana versiya nazivayetsya Retro i vklyuchaye RAG u konteksti Rozbittya na fragmenti Chunking red Rozbittya na fragmenti vklyuchaye rizni strategiyi podilu danih na vektori shob mehanizm poshuku mig znahoditi v nih detali nbsp Rizni stili danih mayut shabloni yaki pravilne rozbittya na fragmenti mozhe efektivno vikoristovuvati Tri tipi strategij rozbittya na fragmenti Fiksovana dovzhina z perekrittyam Ce shvidko ta prosto Perekrittya poslidovnih fragmentiv dopomagaye zberigati semantichnij kontekst mizh fragmentami Fragmenti na osnovi sintaksisu mozhut rozbivati dokument na rechennya Dlya cogo mozhut dopomogti biblioteki taki yak spaCy abo NLTK Rozbittya na fragmenti na osnovi formatu fajlu Deyaki tipi fajliv mayut prirodni fragmenti i yih najkrashe vrahovuvati Napriklad fajli z kodom najkrashe rozbivati ta vektorizuvati yak cili funkciyi abo klasi U fajlah HTML slid zalishati elementi lt table gt abo zakodovani v base64 zobrazhennya lt img gt nedotorkanimi Podibni pidhodi slid zastosovuvati i do pdf fajliv Dlya cogo metodu mozhut buti korisnimi biblioteki taki yak Unstructured abo Langchain Perevagi ta obmezhennyared Perevagired Pidvishena tochnist informaciyi Aktualnist danih Mozhlivist posilannya na dzherela Zmenshennya riziku galyucinacij modeli Obmezhennyared Tehnichna skladnist realizaciyi Zalezhnist vid yakosti bazi znan Obchislyuvalna resursoyemnist Yaksho zovnishnye dzherelo danih ye velikim poshuk mozhe buti povilnim Vikoristannya RAG ne povnistyu usuvaye zagalni vikliki z yakimi stikayutsya veliki movni modeli LLM zokrema galyucinaciyi Spisok literaturired Why Use RAG Retrieval augmented generation RAG Znajomstvo z RAG sho take generaciya z dopovnenim poshukom Gliboke zanurennya v poshukovo rozshirenu generaciyu v LLM Rozuminnya generaciyi z rozshirenim poshukom RAG Sajid Haziqa 3 sichnya 2024 Sho take dopovnena poshukova generaciya Unite AI ukr Procitovano 27 listopada 2024 Gao Yunfan Xiong Yun Gao Xinyu Jia Kangxiang Pan Jinliu Bi Yuxi Dai Yi Sun Jiawei Wang Meng Wang Haofen 2023 Retrieval Augmented Generation for Large Language Models A Survey arXiv 2312 10997 cs CL What is RAG Retrieval Augmented Generation AI Explained AWS Amazon Web Services Inc Procitovano 16 lipnya 2024 Otrimano z https uk wikipedia org wiki Generaciya z dopovnennyam cherez poshuk