Продолжая вышеизложенную оптимизацию разнообразия отзыва,Схема отзыва с несколькими индексами может предоставить больше потенциального контента-кандидата. Но чем больше кандидатов,Как фильтровать и сортировать этот контент становится все более важным。В этой главе мы вспоминаем плотность и качество информации.。Также обратитесь кКлассическая система поиска и рекомендаций,Эта глава соответствуетСортировка+Изменить порядоксвязь,Учитывая различие между грубой сортировкой и тонкой сортировкой, сортировка в основном предназначена для инженерной оптимизации с малой задержкой.,Никакого дальнейшего различия здесь делаться не будет.,Считайте равномерно Сортировочный модуль. Давайте сначала сравним перестановку и Сортировочный. Сходства и различия модуля в классическом фреймворке и RAG
Ниже мы поговорим о решениях реализации этих двух модулей соответственно.
В предыдущей главе упоминалось использование перезаписи запросов, многоканальной индексации, включая дискретный индекс bm25, и многократного внедрения непрерывных индексов для многоканального вызова контента. Этот подход обеспечит кандидатов с более богатым содержанием, но также значительно увеличит длину приведенного выше текста. Во многих статьях было оценено, что слишком длинные тексты и большая доля шумовой информации в слишком длинных текстах повлияют на эффект вывода модели следующим образом.
Так как же отсортировать и отфильтровать контент более высокого качества из отозванного контента?,Фильтрация зашумленной информации — это то, что должен делать Сортировочный модуль. Учтите, что оценки сходства между различными индексами несопоставимы друг с другом.,Не будет добавлено,Таким образом, для ранжирования контента-кандидата необходим единый параметр оценки.,Доступно здесьДве неконтролируемые гибридные схемы ранжирования и оценки
https://learn.microsoft.com/en-us/azure/search/hybrid-search-ranking https://python.langchain.com/docs/modules/data_connection/retrievers/ensemble
Наиболее распространенным гибридным рейтингом многоканального отзыва является Reciprocal Rank Fusion (RRF), который преобразует все параметры оценки в рейтинги. Окончательная оценка каждого документа является обратной величиной суммы многоканальных рейтингов. Разница в масштабе между разными оценками устраняется посредством ранжирования. Формула выглядит следующим образом, где r(d) — рейтинг документа по одному измерению оценки, K — константа, играющая сглаживающую роль, а значение, данное Microsoft после эксперимента, равно 60.
Ниже приведена схематическая диаграмма использования класса RRF для объединения текстового и векторного поиска в Microsoft Search. RRF используется для гибридной сортировки содержимого многоканального вызова текстового и векторного поиска соответственно.
Помимо использования рейтингов для нормализации качества контента, вспоминаемого различными каналами, вы также можете использовать унифицированную модель оценки для измерения качества контента. Например, вы можете использовать Bert. Cross-Encoder BGE-RerankerОценка и сортировка всех документов кандидатов,Перекрестная модель является более точной, чем модель внедрения, и позволяет дополнительно фильтровать вызываемый контент.
Здесь я хочу поговорить о другом аспекте оценки качества контента, помимо релевантности. - Information-Entropy。Information-EntropyОн оценивает и проверяет достоверность и качество контента с точки зрения энтропии текстовой информации.,Существует несколько различных способов измерения информационной энтропии:
Unlocking Context Constraints of LLMs: Enhancing Context Efficiency of LLMs with Self-Information-Based Content Filtering
Selective-Contextиспользоватьинформация о себеОцените качество контента。Последний раз, когда я встретилинформация о себе, все еще работаю над новым алгоритмом интеллектуального анализа слов. То же самое справедливо и в отношении проверки качества контента. Чем ниже значение энтропии (тем ниже неопределенность), информация. о себе НижнийtokenКоличество информации, вносимой в языковую модель, меньше.,Например стоп-слова,Синонимы и т. д.。Таким образом, информация о себе, нижний контент сам по себе стоит меньше.。ноинформация о Расчет себе ведется на уровне детализации токена,хочу соединить фразы,предложение,Подсчет абзацев можно аппроксимировать суммированием токенов.,То естьПредположим, что токены независимы друг от друга。但是越大Гранулированный信息合并,Простая сумма информации о себе Чем больше ошибка, потому что токен не является по-настоящему независимым. Так что просто используйте информацию о содержании о себе的计算方式更适合短语Гранулированный上文Сжатие контента,Кажется, не совсем подходит для оценки содержания отрывков, вспоминаемых RAG.,Но не волнуйтесь и оглянитесь назад~
Ниже приводится эффект выборочного сжатия контекста посредством самоинформации. Что касается амплитуды сжатия и влияния на рассуждения модели после сжатия, мы сравним их в конце.
LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models
LLMLingua также использует значение энтропии токена для оценки качества контента, но еще больше ослабляет предположение о независимости токенов. Формула расчета следующая: Сначала разделите весь контекст на сегменты. В документе используется 100 токенов как один сегмент. Следующее $S_{j,i}$ — это i-е слово в j-м абзаце, а $\tilde{S}_j$ — это сжатое содержимое всех абзацев перед j-м абзацем. То есть при вычислении значения энтропии каждого слова в текущем абзаце ранее сжатый контент будет склеен спереди, что сделает оценку значения энтропии абзацев с большей детализацией более точной.
LongLLMLingua: Accelerating and Enhancing LLMs in Long Context Scenarios via Prompt Compression
LongLLMLingua дополнительно оптимизирует информационную энтропию, полностью основанную на контенте, в условную энтропию для ответов на вопросы, основанные на контенте, которая более идеально адаптируется к требованиям модуля сортировки в структуре RAG для общей оценки отозванного контента.
Вышеупомянутые LLMLinugua и Selective-Context просто вычисляют значение энтропии вышеуказанного контента, но весьма вероятно, что, хотя контент с высоким значением энтропии содержит много информации, он не имеет никакого отношения к проблеме и является просто чистым информационным шумом. . Таким образом, LongLLMLingua вводит проблемы в расчете энтропии, которые представляют собой не что иное, как две схемы расчета: либо для расчета значения энтропии контента с учетом проблемы, либо для расчета значения энтропии проблемы с учетом контента. В статье считается, что контент может представлять собой смесь эффективной информации и шумовой информации, поэтому выбирается последняя. То есть, учитывая каждую часть содержимого воспоминания, рассчитывается значение энтропии вопроса.
Здесь в документе также добавлена инструкция перед вопросом: «$X^{restrict}=$мы можем получить ответ на этот вопрос в данных документах», чтобы оптимизировать расчет условной энтропии за счет повышения релевантности контента для вопрос.
В статье сравниваются различные схемы оценки и сортировки, включая BM25, различные векторные вложения и LLMLingua. Среди них LongLLMLinuga значительно лучше по скорости отзыва документов TopK, как показано на рисунке ниже. Конкретная степень сжатия и сравнение эффектов вывода будут обсуждаться вместе с модулем перестановки позже.
LongLLMLingua выходит за рамки приведенных выше абзацев.,Он также добавляет сжатие контента на уровне токена внутри абзацев. То есть сначала отфильтруйте абзацы TopN,Затем отфильтруйте внутри абзаца, чтобы быть эффективным.Token。но看论文效果感觉段落排序的重要性>>Сжатие контента,Я не буду вдаваться в подробности этой части.,Если вам интересно, пожалуйста, прочтите статью~
против Сортировочный Кандидаты Топ К, отобранные по модулю, переставить модуль необходимо дополнительно систематизировать и объединить по содержанию,Максимизируйте общий эффект рассуждения модели.。и Сортировочный модуль Самым большим отличием является его целостность.,Больше никакой независимой оценки для каждого документа,Вместо этого оптимизируйте весьContextЭффект от вышеперечисленного。В основном существуют два направления оптимизации::Один из них — это оптимизация местоположения документов, а другой — оптимизация корреляции между документами.
LongLLMLingua: Accelerating and Enhancing LLMs in Long Context Scenarios via Prompt Compression Lost in the Middle: How Language Models Use Long Contexts https://api.python.langchain.com/en/latest/document_transformers/langchain.document_transformers.long_context_reorder.LongContextReorder.html#
Оптимизация местоположения документа — «Потерянные посередине» (на фото выше), с которой, я думаю, каждый может быть знаком. Проще говоря, когда большие модели используют приведенные выше рассуждения, они склонны использовать первый и последний контент, игнорируя при этом средний контент. Таким образом, в зависимости от качества контента важный контент может быть размещен перед контекстом и позади него.
LongLLMLingua также предприняла аналогичную попытку и посчитала, что передняя позиция более важна, чем задняя, поэтому она напрямую использовала указанный выше модуль сортировки для оценки абзацев, переупорядочила содержимое-кандидат, оставшееся после сортировки, и упорядочила от высокого к меньшему в соответствии с переставить счет.
Наконец, давайте посмотрим на эффекты. В статье LongLLMLingua сравнивается влияние различных схем сортировки по сходству на сохранение документов TopN и использование этой схемы сортировки для дальнейшей реорганизации контента. Эффект LongLLMLingua, очевидно, является лучшим при степени сжатия в 2 и 4 раза. Однако можно обнаружить, что эффект от использования только LongLLMLingua для сортировки (методы базы поиска) и изменения порядка (столбец изменения порядка) на самом деле неплох. . , а сжатие токенов внутри абзаца — еще одна вишенка на торте.
https://python.langchain.com/docs/integrations/retrievers/merger_retriever MetaInsight: Automatic Discovery of Structured Knowledge for Exploratory Data Analysis
Логика вышеуказанной сортировки и перестановки учитывает корреляцию между вопросами и вспоминаемым содержанием, но не вводит корреляцию между различным вспоминаемым содержанием в контексте.
LOTR (Merger Retriever) компании Langchain реализует некоторые аналогичные функции, в том числе использование встраивания для дедупликации контента многоканальных вызовов, кластеризацию контента и выбор части контента, ближайшей к центру, в каждом кластере. Этот шаг можно выполнить во время сортировки или в модуле перестановки после сортировки.
ДоРасшифровка подсказки Серия 19. Применение LLM Agent в области анализа данныхMicrosoft упоминается в главеMetaInsightАналогичная логика распада также представлена.。в
Если вы поместите это в структуру RAG, вы сможете использовать указанную выше информационную энтропию в качестве оценки, а сходство — в качестве степени совпадения.
Мы также пробуем эту область, поэтому окончательных результатов нет. Любой, кто пробовал этот эффект, может ответить в области комментариев.
Если вы хотите увидеть более полный обзор статей, связанных с большими моделями, данными и платформами точной настройки и предварительного обучения, а также приложениями AIGC, перейдите на Github. >> DecryPrompt