Jump to content

Генерация с расширенным поиском

Поисковая дополненная генерация ( RAG ) — это тип генеративного искусственного интеллекта , обладающий возможностями поиска информации . Он изменяет взаимодействие с большой языковой моделью (LLM) так, что модель отвечает на запросы пользователей со ссылкой на указанный набор документов, используя эту информацию вместо информации, полученной из ее собственных обширных статических обучающих данных . Это позволяет LLM использовать специфичную для предметной области и/или обновленную информацию. [ 1 ] Варианты использования включают предоставление чат-боту доступа к внутренним данным компании или предоставление фактической информации только из авторитетного источника. [ 2 ]

Процесс RAG состоит из четырех ключевых этапов. Во-первых, все данные должны быть подготовлены и проиндексированы для использования LLM. После этого каждый запрос состоит из фазы поиска, дополнения и генерации. [ 1 ]

Индексирование

[ редактировать ]

Данные, на которые можно ссылаться, сначала должны быть преобразованы в вложения LLM , числовые представления в форме больших векторов. RAG можно использовать для неструктурированных (обычно текстовых), полуструктурированных или структурированных данных (например, графов знаний ). [ 1 ] Эти вложения затем сохраняются в базе данных векторов, что позволяет осуществлять поиск документов .

Обзор процесса RAG, объединение внешних документов и вводимых пользователем данных в запрос LLM для получения адаптированного результата.

По запросу пользователя сначала вызывается средство извлечения документов, чтобы выбрать наиболее релевантные документы, которые будут использоваться для дополнения запроса. [ 3 ] Это сравнение может быть выполнено с использованием различных методов, которые частично зависят от типа используемого индексирования. [ 1 ]

Увеличение

[ редактировать ]

Модель передает эту соответствующую полученную информацию в LLM посредством быстрого проектирования исходного запроса пользователя. [ 2 ] Новые реализации (по состоянию на 2023 г. ) также может включать специальные модули расширения с такими возможностями, как расширение запросов на несколько доменов, а также использование памяти и самосовершенствование для обучения на предыдущих извлечениях. [ 1 ]

Поколение

[ редактировать ]

Наконец, LLM может генерировать выходные данные на основе как запроса, так и полученных документов. [ 4 ] Некоторые модели включают дополнительные шаги для улучшения результатов, такие как изменение ранжирования полученной информации, выбор контекста и точная настройка. [ 1 ]

Улучшения

[ редактировать ]

Улучшения базового процесса, описанного выше, могут применяться на разных этапах процесса RAG.

Эти методы основаны на кодировании текста как плотных, так и разреженных векторов. Разреженные векторы, используемые для кодирования идентичности слова, обычно имеют словарную длину. [ нужны разъяснения ] и содержат почти все нули. Плотные векторы, используемые для кодирования значения, намного меньше и содержат гораздо меньше нулей. Можно внести некоторые усовершенствования в способ расчета сходства в векторных хранилищах (базах данных).

  • Производительность можно повысить за счет более быстрого скалярного произведения, поиска приближенных ближайших соседей или поиска центроидов. [ 5 ]
  • Точность можно повысить с помощью поздних взаимодействий. [ нужны разъяснения ] [ 6 ]
  • Гибридные векторы: плотные векторные представления можно комбинировать с разреженными горячими векторами, чтобы использовать более быстрые разреженные скалярные произведения, а не более медленные плотные. [ 7 ] Другой [ нужны разъяснения ] методы могут сочетать разреженные методы (BM25, SPLADE) с плотными, такими как DRAGON.

Ретривер-ориентированные методы

[ редактировать ]

Эти методы направлены на улучшение качества попаданий из векторной базы данных:

  • предварительно обучите ретривера, используя обратную задачу закрытия. [ 8 ]
  • прогрессивное увеличение данных. Метод Дракона отбирает сложные негативы для обучения ретривера плотных векторов. [ 9 ]
  • Под присмотром обучайте ретривера работе с заданным генератором. Получив подсказку и желаемый ответ, извлеките первые k векторов и подайте эти векторы в генератор, чтобы получить оценку недоумения для правильного ответа. Затем минимизируйте KL-расхождение между наблюдаемой вероятностью извлеченных векторов и вероятностью LM, чтобы настроить ретривер. [ 10 ]
  • используйте рерангирование для тренировки ретривера. [ 11 ]

Языковая модель

[ редактировать ]
Ретро языковая модель для RAG. Каждый ретро-блок состоит из слоев внимания, фрагментированного перекрестного внимания и прямой связи. В прямоугольниках с черными буквами показаны изменяемые данные, а синими буквами показан алгоритм, выполняющий изменения.

Перепроектировав языковую модель с учетом ретривера, сеть в 25 раз меньшего размера может столкнуться с такими же затруднениями, как и ее гораздо более крупные аналоги. [ 12 ] Поскольку обучение проводится с нуля, этот метод (ретро) требует больших затрат на обучение, которых можно было избежать в исходной схеме RAG. Гипотеза состоит в том, что, предоставляя знания предметной области во время обучения, Retro требует меньше внимания к предметной области и может уделять меньше внимания только семантике языка. Переработанная языковая модель показана здесь.

Сообщалось, что Retro не воспроизводится, поэтому были внесены изменения, чтобы сделать это так. Более воспроизводимая версия называется Retro++ и включает контекстный RAG. [ 13 ]

Разбивка на части

[ редактировать ]

Преобразование данных предметной области в векторы должно выполняться продуманно. Наивно преобразовывать весь документ в один вектор и ожидать, что программа поиска найдет детали в этом документе в ответ на запрос. Существуют различные стратегии разделения данных. Это называется Чанкинг.

Различные стили данных имеют шаблоны, которые можно использовать при правильном фрагментировании.

Три типа стратегий фрагментации:

  • Фиксированная длина с перекрытием. Это быстро и легко. Перекрытие последовательных фрагментов помогает поддерживать семантический контекст между фрагментами.
  • Части, основанные на синтаксисе, могут разбивать документ на предложения. Также могут помочь такие библиотеки, как spaCy или NLTK.
  • Разбиение на части по формату файла. Некоторые типы файлов имеют встроенные естественные фрагменты, и лучше их уважать. Например, файлы кода лучше всего разбивать на фрагменты и векторизовать как целые функции или классы. В файлах HTML следует оставлять элементы <table> или <img> в кодировке Base64 нетронутыми. Аналогичные соображения следует принять и для файлов PDF. В этом методе могут помочь такие библиотеки, как Unstructured или Langchain.

Проблемы

[ редактировать ]

Если внешний источник данных большой, извлечение может быть медленным. Использование RAG не устраняет полностью общие проблемы, с которыми сталкиваются LLM, включая галлюцинации. [ 3 ]

  1. ^ Перейти обратно: а б с д и ж Гао, Юньфан; Гао, Синьюй; Пан, Цзиньлю; Дай, И; Языковые модели: обзор». arXiv : 2312.10997 [ cs.CL ].
  2. ^ Перейти обратно: а б «Что такое RAG? — Объяснение искусственного интеллекта с расширенным поиском — AWS» . Amazon Веб-сервисы, Inc. Проверено 16 июля 2024 г.
  3. ^ Перейти обратно: а б «Модели большого языка следующего поколения: Справочник по расширенному поиску (RAG)» . freeCodeCamp.org . 11 июня 2024 г. Проверено 16 июля 2024 г.
  4. ^ Льюис, Патрик; Перес, Итан; Пиктус, Александра; Петрони, Фабио; Карпухин Владимир; Гоял, Наман; Кюттлер, Генрих; Льюис, Майк; Йи, Вен-тау; Роктешель, Тим; Ридель, Себастьян; Киела, Доуве (2020). «Расширенная поисковая генерация для наукоемких задач НЛП» . Достижения в области нейронных систем обработки информации . 33 . Curran Associates, Inc.: 9459–9474. arXiv : 2005.11401 .
  5. ^ "файс" ​​. Гитхаб .
  6. ^ Хаттаб, Омар; Захария, Матей (2020). " "ColBERT: эффективный и действенный поиск проходов посредством контекстуализированного позднего взаимодействия через BERT" " . дои : 10.1145/3397271.3401075 .
  7. ^ Формальный, Тибо; Лассанс, Карлос; Пивоварски, Бенджамин; Клиншан, Стефан (2021). " "SPLADE v2: Разреженная лексика и модель расширения для поиска информации" " . Арксив . S2CID   237581550 .
  8. ^ Ли, Кентон; Чанг, Мин-Вэй; Тутанова, Кристина (2019). « Скрытый поиск для ответов на вопросы открытого домена со слабым контролем» ( PDF) .
  9. ^ Линь, Шэн-Чье; Асаи, Акари (2023). « Как приручить ДРАКОНА: разнообразные дополнения к обобщенному плотному извлечению» » (PDF) .
  10. ^ Ши, Вейцзя; Мин, Севон (2024). «REPLUG: языковые модели черного ящика с расширенным поиском» . «REPLUG: языковые модели черного ящика с расширенным поиском» . стр. 8371–8384. arXiv : 2301.12652 . doi : 10.18653/v1/2024.naacl-long.463 .
  11. ^ Рам, Ори; Левин, Йоав; Далмедигос, Италия; Мюльгай, Дор; Шашуа, Амнон; Лейтон-Браун, Кевин; Шохам, Йоав (2023). " "Языковые модели с расширенным поиском в контексте" " . Труды Ассоциации компьютерной лингвистики . 11 : 1316–1331. дои : 10.1162/tacl_a_00605 .
  12. ^ Боржо, Себастьян; Менш, Артур (2021). " "Улучшение языковых моделей путем извлечения из триллионов токенов" " ( PDF) .
  13. ^ Ван, Боксин; Пин, Вэй (2023). « Должны ли мы предварительно обучить авторегрессионные языковые модели поиску? Комплексное исследование» » (PDF) .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9eb2255e61fff1a207aa153230e2834e__1725745980
URL1:https://arc.ask3.ru/arc/aa/9e/4e/9eb2255e61fff1a207aa153230e2834e.html
Заголовок, (Title) документа по адресу, URL1:
Retrieval-augmented generation - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)