Преминете към основното съдържание

Self-RAG: Адаптивно извличане и самокритика за големи езикови модели (LLMs)

· 7 минути четене
Mike Thrift
Mike Thrift
Marketing Manager

Стандартният RAG извлича информация всеки път, независимо дали това помага. Self-RAG от Asai и др. (ICLR 2024 Oral) поставя различен въпрос: какво ако самият модел решава кога да провери нещо и след това оцени резултата? Оказва се, че това е от голямо значение, а механизмът е достатъчно изчистен, за да си струва внимателното проучване.

Документът

2026-05-09-self-rag-learning-to-retrieve-generate-critique-self-reflection

Основното оплакване към стандартния Retrieval-Augmented Generation (RAG) е неговата безразборност: извличане на фиксиран брой пасажи за всяко въведено запитване, добавянето им в началото и генериране. Това работи достатъчно добре, когато извличането помага, но активно вреди, когато пасажите са нерелевантни или когато моделът вече има отговора в теглата си. Документът представя Self-Reflective Retrieval-Augmented Generation (Self-RAG), разработен от Akari Asai, Zeqiu Wu, Yizhong Wang, Avirup Sil и Hannaneh Hajishirzi (Вашингтонски университет и IBM Research).

Ключовият механизъм е набор от четири специални токена за рефлексия, вградени в речника на модела по време на обучението. Retrieve решава дали изобщо да извика системата за извличане. IsRel (relevance) оценява дали извлеченият пасаж действително съдържа полезна информация за заявката. IsSup (support) проверява дали генерираното твърдение е напълно, частично или изобщо не е подкрепено от пасажа. IsUse (utility) оценява цялостното качество на отговора от 1 до 5. Моделът се научава да излъчва тези токени в контекста на нормалния си изход — така той критикува собственото си извличане и генериране в рамките на един проход (forward pass).

Обучението е на два етапа: първо, модел-критик (LLaMA 2, 7B фино настроен) се обучава върху около 4,000–20,000 етикетирани примера за всеки тип токен, постигайки над 90% съгласие с прогнозите на GPT-4. След това този критик анотира офлайн корпус от 150,000 примера с инструкции и отговори, а генераторът се обучава върху тези анотирани данни, като токените за рефлексия се третират като обикновен речник. Не е необходимо обучение с подсилване (reinforcement learning).

Ключови идеи

  • Четирите токена за рефлексия (Retrieve, IsRel, IsSup, IsUse) дават на модела структуриран вътрешен диалог за това дали доказателствата заслужават доверие — а не просто бинарно решение за извличане/неизвличане.
  • Self-RAG 13B достига 55,8% на PopQA, 69,3% на TriviaQA, 74,5% на PubHealth, 73,1% на ARC-Challenge и Biography FactScore от 80,2 — превъзхождайки ChatGPT и Llama2-chat с извличане на информация във всеки от тях.
  • Аблациите върху PopQA показват, че премахването на извличането по време на тест коства 20,8 процентни пункта, докато премахването само на критика коства само 2,9 пр.п. — извличащият механизъм е носещата конструкция; критиката добавя калибриране отгоре.
  • По време на извод (inference), теглата на токените за критика могат да бъдат коригирани, за да се балансира прецизността на цитирането спрямо плавността без никакво преобучение. Това прави поведението на модела конфигуруемо за различни приложения.
  • Програмният комитет на ICLR 2024 даде на Self-RAG статут на устна презентация (oral - топ 1%), което отразява истинско академично признание за техническия принос.

Какво издържа проверката — и какво не

Резултатите от аблацията са убедителни. Разликата между „винаги извличай“ и „без извличане“ е голяма (20,8 пр.п.); моделът ясно се е научил да разграничава полезното извличане от шума. Токените IsRel и IsSup добавят измерима стойност над самото адаптивно извличане. Това е значим резултат, а не просто преформулиране.

Това, в което съм по-малко убеден, е твърдението за обобщаване. Всичките пет задачи за оценка (PopQA, TriviaQA, PubHealth, ARC-Challenge, ASQA) са задачи с кратки отговори или избор между няколко възможности — точно ситуацията, в която един извлечен пасаж може да даде решаващ сигнал. Дългото генериране върху контексти от множество документи, където живеят финансовите задачи, получава по-малко внимание. Biography FactScore (80,2) е най-близкият заместител, но биографиите са сравнително добре структурирани в сравнение с разхвърлян многогодишен счетоводен регистър на разходите.

Има и уловка с възпроизводимостта: етикетите за обучение на модела-критик идват от GPT-4. Това прави качеството на етикетите зависимо от патентована система и въвежда разходи за API, които не са отчетени. CRAG (arXiv:2401.15884) по-късно показа, че оценител на извличането с 0,77B параметри — много по-лек от 7B критика на Self-RAG — може да коригира качеството на извличане и да спечели 19,0 пр.п. над стандартния RAG в PopQA, което предполага, че тежкият фино настроен критик може да не е необходим. Това е смислено предизвикателство към дизайна, дори ако основната идея за селективно извличане остава валидна.

И накрая, базовата линия за сравнение е от значение. Побеждаването на ChatGPT (вероятно GPT-3.5-turbo, края на 2023 г.) и Llama2-chat е разумна летва за отворен 13B модел, но водещите модели се развиха значително оттогава. Дали адаптивното извличане на Self-RAG би победило добре подканен GPT-4o с проста настройка „винаги извличай“ в същите тези бенчмаркове, не е разгледано.

Защо това е важно за финансовия AI

Финансовите агенти върху Beancount регистри се сблъскват точно с проблема с дискриминацията при извличане, който Self-RAG адресира. Когато потребител попита „какъв е нетният ми доход за този месец?“, агентът може да го изчисли от заредения си контекст — извличането може просто да добави шум. Когато същият потребител попита „записах ли фактурата на изпълнителя за Q3?“, агентът трябва да сканира записи от потенциално години наред. „Винаги извличай“ губи контекстно пространство и рискува вмъкването на нерелевантни стари транзакции; „никога не извличай“ пропуска търсенето.

Токените IsRel и IsSup се картографират чисто към логиката за валидиране на счетоводни регистри. IsRel: дали извлеченият запис на транзакция действително се отнася до заявката? IsSup: дали извлеченият контекст действително подкрепя генерираната цифра на баланса, или числото е халюцинация? Оценката за полезност (1–5) може да информира увереността при записване: потвърждавайте предложен запис в дневника само когато моделът дава на собствените си разсъждения 4 или 5, и маркирайте останалите за преглед от човек.

Загрижеността за възпроизводимостта също е важна тук. За производствен счетоводен агент зависимостта от GPT-4 за генериране на етикети за обучение е оперативно ограничение. Ако по-лек оценител (като в CRAG) може да постигне сравнимо селективно извличане, това е по-подходящият път за внедряване. Принципите на дизайна на Self-RAG — вземане на решение преди извличане, критика след извличане — остават ценни, дори ако конкретната рецепта за обучение на токени бъде заменена.

Какво да прочетете след това

  • CRAG: Corrective Retrieval Augmented Generation (arXiv:2401.15884) — надгражда идеята за адаптивно извличане на Self-RAG с по-лек оценител и резервен вариант за уеб търсене, когато локалното извличане се провали; заслужава си да се сравни директно със Self-RAG при припокриващи се бенчмаркове.
  • RQ-RAG: Learning to Refine Queries for Retrieval Augmented Generation (arXiv:2404.00610) — фокусира се специално върху декомпозицията на заявки за сложни QA с множество стъпки, което е сценарият, с който Self-RAG се справя най-трудно.
  • FRAMES: Retrieval and Augmentation for Multi-Hop Evaluation (arXiv:2409.12941) — бенчмарк на Google DeepMind за RAG върху множество документи, който изисква свързване на няколко извлечени факта; естествен по-труден тест за модели от типа на Self-RAG.