Мы говорили несколько месяцев назадRAGклассическая схемаРасшифровка подсказок. Серия 14. Дизайн поискового приложения LLM Agent。Буквально на днях закончил смотретьopenAIсуществоватьDevDayПредставлено на закрытом заседанииRAGСоответствующий опыт,Некоторые новые идеи,Воспользуйтесь этой возможностью, чтобы разобраться во всем еще разRAGСопутствующие решения по оптимизации。Рекомендуется смотреть оригинальное видео напрямую.(Нужно посещать зарубежные сайты)A Survey of Techniques for Maximizing LLM Performance
На самом деле наиболее важной частью RAG является не LLM, а запоминание связанного контента. Как указано выше для рассуждений о большой модели, отличное запоминание контента должно соответствовать следующим условиям:
Здесь мы могли бы также поучиться на предыдущем опыте,ссылкаОсновная структура поиска: понимание и расширение запросов -> Многократный отзыв -> сортировка слиянием -> Переставить и разбить。последние несколько месяцевRAGВ статье также, похоже, сочетаются традиционные поисковые решения.,использоватьLLMОбновление парадигмы происходило по очереди。В этой главе мы сначала сосредоточимся наРазнообразие содержания воспоминанийВсего несколько слов。
Непосредственное использование пользовательского запроса для векторного поиска часто приводит к невысокой скорости отзыва по следующим причинам:
Вышеупомянутые проблемы на самом деле касаются двух моментов: разнообразия информации, содержащейся в самом Query, и разнообразия поисковых индексов. Ниже мы представим их соответственно на основе новых и старых статей, а также некоторых новых функций langchain~
2019 Query Expansion Techniques for Information Retrieval: a Survey
Расширение традиционного поискового запроса,Существуют похожие запросы, основанные на анализе журнала поиска пользователей.,Существуют похожие запросы, основанные на одной и той же ассоциации документов отзыва.,Еще есть Queryпереписать на базе SMT план。Это лучше соответствует эпохе больших моделей.из Конечнопереписать план,Поддержка LLM значительно снижает сложность переписывания запроса.,Это также предоставляет больше возможностей для перезаписи.
Learning to Rewrite Запросы, Yahoo (2016) webcpm: Interactive Web Search for Chinese Long-form Question Отвечаю, Цинхуа (2023)
Еще в 2016 году Yahoo исследовала возможность переписывания запросов.,В то время это еще былseq2seqизLSTM。Затем следует вступление.изwebcpmСуществует такжеиспользоватьбольшая модельqueryПерепишите, чтобы улучшить запоминаемость контента。НедавноlangchainТакже интегрированMultiQueryRetrieverиз Похожие функции。Логика заключается в том, чтобы поместить пользователяизQueryПереписано на несколько семантически схожихизQuery,Используйте несколько запросов вместе для отзыва,следующее
Query2doc: Query Expansion with Large Language Модели, Microsoft (2023) Query Expansion by Prompting Large Language Models, Гугл (2023 г.)
Кроме того, существует альтернативное решение по переписыванию запроса, которое заключается в переписывании запроса в документ, как указано в Query2doc. В документе используется подсказка из 4 шагов, позволяющая LLM сначала сгенерировать псевдодокумент на основе запроса, а затем использовать сгенерированный ответ для вызова соответствующего контента. Эта адаптация имеет некоторые существенные преимущества.
Конечно, недостатки также существенны. Один из них заключается в том, что в псевдодокументах может возникнуть семантический дрейф. В ответах-галлюцинациях будут вводиться неправильные ключевые слова, что снизит точность запоминания, и декодирование займет много времени ~
Здесь Query2Doc написан наоборот,Doc2Query — еще одно направление оптимизации.,Он заключается в создании N связанных запросов (псевдозапросов) для каждого документа.,Используйте вектор внедрения связанного запроса для представления документа.,и настоящийQueryВыполните расчеты сходства。langchainизMultiVector RetrieverТакже интегрированпохожийиз Функция。
Google также предпринял аналогичную попытку. Мы сравнили несколько схем перезаписи Query2Doc (Q2D), Query2Keyword (Q2E) и Query2COT, а также эффекты использования различных инструкций подсказок, таких как «нулевой», «несколько шагов» и улучшение документа отзыва. Среди них Query2Doc использует ту же инструкцию приглашения, что и Microsoft, описанную выше. Другие инструкции следующие.
Результаты показывают, что когда размер модели достаточно велик, Query2COT показывает значительно лучшие результаты. Даже за пределами схемы COT/PRF, которая включает соответствующую документацию выше. С одной стороны, COT выполнит многоэтапный демонтаж Query. С другой стороны, процесс мышления будет генерировать более эффективные ключевые слова, и отказ от использования связанных документов может более эффективно раскрыть способность воспоминания и креативность самой модели.
ASK THE RIGHT QUESTIONS: ACTIVE QUESTION REFORMULATION WITH REINFORCEMENT ОБУЧЕНИЕ, Google (2018) Query Rewriting for Retrieval-Augmented Large Language Модели, Microsoft (2023)
Вышеупомянутый план переписывания был упомянут на закрытой встрече Openai. Он действительно может в определенной степени улучшить эффект RAG и может быть использован для первоначальных попыток. Однако этот вид переписывания является неконтролируемым, то есть он переписывается на основе аналогичной семантики, и нет никакой гарантии, что эффект поиска переписанного запроса будет лучше. Тогда мы могли бы также поставить цель целенаправленно оптимизировать эффект перезаписи.
В 2018 году Google попыталась использовать обучение с подкреплением для оптимизации модели переписывания, рассматривая поисковую систему как среду, а модель seq2seq сгенерировала несколько кандидатов на перезапись запросов в качестве действий. Содержимое отзыва исходного запроса и содержимое отзыва переписанного запроса отправляются в последующий модуль сортировки. Скорость возврата содержимого переписанного запроса в содержимом TopK модуля сортировки используется в качестве оценки вознаграждения для постепенного обновления. модель перезаписи. Максимальное преобразование скорости отзыва перезаписи. В конце концов, каким бы необычным ни было ваше переписывание, оно может эффективно улучшить запоминаемость контента. Более высокий уровень запоминаемости эксклюзивного контента — действительно полезная модель переписывания.
В эпоху больших моделей модуль переписывания был обновлен до LLM. В рамках перезаписывания переписывания, предложенная Microsoft, используя большие модели в качестве переписывания, Bing Search в качестве ретривера, Chatgpt в качестве читателя, попробуйте использовать PPO, чтобы точно настроить модель переписывания в задаче QA. и реальные ответы. Тем не менее, в реальной сцене этот вид стандартного ответа QA Q & A на самом деле очень маленький, и более открытый Q & A. Таким образом, на самом деле, традиционная схема вышеуказанной компиляции может использоваться для использования эталонной скорости рассуждений крупной модели в качестве целевого рисунка. В конце концов, какой из входов больших моделей разумный, принцип аналогичен принципам ** сущности **.
После разговора о расширении запросов давайте посмотрим на расширение индекса. В настоящее время большинство индексов отзыва RAG по-прежнему основаны на одной векторной модели внедрения, но один вектор в качестве индекса отзыва имеет следующие общие проблемы:
Давайте посмотрим, какие еще типы индексов можно использовать в качестве дополнения к одному вектору.
Query Expansion by Prompting Large Language Models, Гугл (2023 г.) ChatLaw: Open-Source Legal Large Language Model with Integrated External Knowledge Bases
В традиционном поиске часто используется большое количество дискретных индексов, и они часто оказывают хорошее дополнение к векторному вызову при вызове контента во многих вертикальных полях. Точность восстановления некоторых дискретных индексов, таких как объекты, может быть значительно выше, чем векторных. отзывать. Некоторые общие представления Query о создании дискретных индексов включают:
Первое, что приходит на ум, — это использование больших моделей для улучшения парадигм.,Все единодушно сосредоточили свое внимание насуществовать Понятнорасширение ключевого слова。
Хотя эффект query2Keyword, опробованный в статье Google выше, не превзошел query2Doc и Query2COT. Но сама генерация ключевых слов не требует больших усилий и требует много времени.,И на самом деле он дает очень хорошие результаты в некоторых вертикальных областях. Например, ChatLaw — крупная модель в юридической сфере.,Просто используй этоLLM выполняет ассоциацию ключевых слов правовых положений。бумагаиспользоватьLLMОриентирован на пользователейQueryСоздайте ключевые слова, связанные с юридическими вопросами,ииспользоватьключевые словаизEnsemble Встраивание для напоминания соответствующих юридических терминов. Конечно, вы также можете использовать ключевые слова для прямого вызова. Этот дизайн на самом деле разработан для юридической сферы, где ключевые слова домена часто имеют значительно лучший эффект запоминаемости.
https://github.com/FlagOpen/FlagEmbedding https://github.com/shibing624/text2vec https://github.com/Embedding/Chinese-Word-Vectors AUGMENTED EMBEDDINGS FOR CUSTOM RETRIEVALS, Майкрософт 2023
При расширении векторных индексов первое, что приходит на ум, — это одновременное использование нескольких различных непрерывных векторных индексов, в том числе
Однако недавно Microsoft предложила более легкое решение, чем модель внедрения, в области тонкой настройки. Она аналогична идее тонкой настройки Лора. Мы не перемещаем базовую модель, а настраиваем ее. адаптер на нем, чтобы оптимизировать эффект сопоставления запроса и документа.
Для адаптера изменения вектора в статье используется сложение векторов, которое заключается в добавлении остатка на основе выходных данных D-мерного встраивания исходной модели. Расчет остатка представляет собой ключ-значение. Функция поиска содержит две переменные K и v одинаковой формы. Например, векторный вывод для openai — D = 1536 размеров,residualвыберуh<<Dтрансформировать,Значение h находится между 16 и 128.,Тогда K и V — h*D-мерные матрицы соответственно.,То есть адаптерной части нужны только параметры обновления градиента порядка 2hD.,следующее
Функция точной настройки потерь использует Globa контрастного обучения. lNegative Loss,То есть каждый (запрос,содержание) пара — положительный образец,Все содержимое остальных образцов является отрицательными образцами.,Целями обучения являютсяqueryКазумаса Тономотоиз Сходство>和其余所有负样本Сходствоизмаксимальное значение。Кажется, он очень легкийизплан,Если будет возможность, попробую~
https://learn.microsoft.com/en-us/azure/search/hybrid-search-ranking
Смешайте вызов дискретного индекса, например BM25, и непрерывный вызов индекса, например векторы внедрения, для гибридного вызова.,langchainизEnsemble RetrieverЭта функция интегрирована。Однако смешанный отзыв является крупнейшимиз Проблема в разных отзывахиз Рейтинг сложно отсортировать。Поэтому, когда содержимое многоканального смешанного отзыва велико,,Необходимо ввести модуль сортировки для дальнейшей фильтрации контента.,Мы поговорим об этом позже~
Я участвую в третьем этапе специального тренировочного лагеря Tencent Technology Creation 2023 с эссе, получившими приз, и сформирую команду, которая разделит приз!