Полное название RAG: Retrival Augmented Generation (Поисковая дополненная генерация) Первоначально получено из статьи на Facebook в 2020 году: Retrival-Augmented Generation для наукоемких задач НЛП (Да, вы правильно прочитали, эта технология будет доступна в 2020 году). 2020).
Одна из проблем, которую хочет решить эта статья, очень проста: как генерировать языковые модели, используя внешние знания. Обычно знания модели перед обучением хранятся в параметрах, в результате чего модель не знает знаний за пределами обучающего набора (таких как данные поиска, отраслевые знания). Предыдущий подход заключался в повторной настройке модели перед обучением, когда были доступны новые знания. При таком подходе есть несколько проблем:
Итак, в этой статье предлагается метод RAG. Модель предварительного обучения может понимать новые знания, поэтому мы можем напрямую передать ей новые знания, которые мы хотим, чтобы модель поняла, с помощью подсказок.
Итак, минимальная система RAG состоит из 3 частей:
1. Языковая модель
2. Набор внешних знаний, необходимых модели (хранится в виде вектора)
3. Внешние знания, необходимые в текущем сценарии
Langchain, lama-index — это по сути эта RAG-система (включая конечно же агент, построенный на RAG).
Если вы понимаете суть, то на самом деле нет необходимости добавлять дополнительный уровень абстракции. Вы можете просто построить эту систему в соответствии с вашей собственной бизнес-ситуацией. Например, чтобы поддерживать высокую производительность, мы приняли архитектуру Go + Rust, которая может поддерживать запросы RAG с высокой степенью параллелизма.
Чтобы упростить задачу, независимо от того, какой RAG построен, оптимизация системы означает оптимизацию этих трех модулей соответственно.
Почему эта статья за 2020 год не вышла в свет до этого года?
Одна из основных причин заключается в том, что предыдущая базовая модель была недостаточно мощной. Если лежащая в основе модель глупа, даже если ей предоставлено множество внешних знаний, модель не может делать выводы на основе этих знаний.
Из некоторых тестов в статье также видно, что эффект улучшился, но это не особенно существенно.
1.1) Появление GPT-3 впервые делает RAG доступным.
Первая волна основана на RAG + GPT-3 компании получили очень высокие оценки & ARR (годовой регулярный доход):
Оба эти продукта создают RAG в сфере маркетинга. Когда-то они стали звездными единорогами ИИ. Конечно, их стоимость также значительно упала после разочарования.
1.2)2023 С начала года большое количество open source & Базовые модели с закрытым исходным кодом могут быть построены поверх них. RAG система
Самый распространенный способ:
Теперь каждый должен понимать модель внедрения, включая отзыв данных о внедрении.
Встраивание по существу преобразует данные в векторы, а затем использует косинусное сходство для поиска двух или более векторов, которые лучше всего совпадают.
knowledge -> chunks -> vector user query -> vector
2.1) Этот модуль разделен на две части:
Первый в основном использует модель внедрения OpenAI, а второй имеет множество вариантов, включая Pinecone, Zilliz отечественной команды, Chroma с открытым исходным кодом, pgvector, построенный на реляционной базе данных, и т. д.
2.2) Эти компании, занимающиеся внедрением баз данных, также получили очень высокие суммы финансирования и оценки на этой волне хайпа вокруг ИИ.
Но если исходить из основных принципов, то цель модуля 2 — хранить коллекции внешних знаний и вызывать их при необходимости.
Этот шаг не обязательно требует внедрения модели. Традиционное сопоставление поиска может работать лучше в некоторых сценариях (Elasticsearch).
2.3) http://devv.ai использует встраивание + традиционную базу данных отношений + Elasticsearch.
И в каждом сценарии было сделано множество оптимизаций. Одна из идей состоит в том, чтобы. encoding knowledge Чем больше работы вы делаете, когда retrieve может быть быстрее, когда & Более точная (сначала работа & Различия в окончательном исполнении).
2.4) Мы использовали Rust для создания полного набора индексов знаний.
включать:
Согласно принципу приоритезации работы, при кодировании мы проделали большую обработку исходных данных знаний:
3.1) После выполнения вышеуказанной работы гарантируется, что данные, которые мы получаем во время извлечения, сами по себе структурированы, не требуют слишком большой обработки и могут повысить точность вызова.
Будь то универсальный RAG или фирменный RAG, это та область, где легко сделать так себе, но сложно сделать 90 пунктов.
Не существует рекомендаций для каждого шага, таких как встраивание размера фрагмента и необходимости подключения поисковых систем. Вам нужно попробовать больше, исходя из реального бизнес-сценария.
Есть много связанных статей, но не каждый метод, упомянутый в статье, полезен.
В этой серии тем мы поделимся опытом devv.ai в построении всей поисковой системы дополненной генерации, включая некоторые практики в производственной среде.
Это вторая статья из серии «Как оценить RAG система」。
То, о чем мы говорили в предыдущей статье, RAG система,И основные элементы, из которых состоят,Давайте еще раз рассмотрим это здесь.
самый простой RAG система состоит из 3 Он состоит из:
Если вы хотите оптимизировать всю систему, вы можете разбить задачу на оптимизацию этой системы по каждой части.
Но оптимизация на основе LLM Сложность в том, что эта система по сути является черным ящиком и не имеет эффективного метода оценки. Если даже самое элементарное benchmark Нет, как улучшить соответствующие показатели – это пустые разговоры.
Итак, первое, что нам нужно сделать, это настроить все RAG системаиз Система оценки。
Эта статья из Стэнфорда делает именно это, оценивая проверяемость генеративных поисковых систем.
Evaluating Verifiability in Generative Search Engines
arxiv.org/abs/2304.09848
Хотя эта статья используется для оценки Generative Search Engine (генеративная поисковая система), но методы также можно применять и к RAG по сути Generative Search Engine Вот и все RAG подмножество , а также данные, специфичные для предметной области RAG система。
В документе упоминается, что предпосылкой для заслуживающей доверия генеративной поисковой системы является: проверяемость.
Мы все знаем, что LLM часто говорит ерунду (галлюцинации) и генерирует контент, который кажется правильным, но на самом деле является неправильным. Одним из преимуществ RAG является то, что он предоставляет справочные материалы для модели, что позволяет модели снизить вероятность галлюцинаций.
Насколько уменьшилась эта иллюзия, можно оценить с помощью индикатора проверяемости.
идеальный RAG системадолжно быть:
На самом деле эти два показателя не могут быть 100%. Согласно результатам экспериментов в статье, контент, генерируемый существующей генеративной поисковой системой, часто содержит необоснованные утверждения и неточные цитаты. Эти два показателя составляют 51,5% и 74,5% соответственно.
Проще говоря, сгенерированный контент не соответствует внешним знаниям.
В документе оцениваются 4 основные генеративные поисковые системы:
Вопросы для обзора касаются самых разных тем и областей.
Для оценки используются четыре показателя:
индекс 1 и 2 Обычно это общее условие. Если даже это не выполнено, то всё.
отличный RAG система должна быть в citation recall и citation precision Получите относительно высокие рейтинги.
Как реализуется конкретная система оценки? В этой части используются некоторые знания математики в средней школе. Для подробного описания процесса вы можете обратиться к исходному тексту статьи.
Метод оценки всего эксперимента заключается в использовании «искусственного» метода оценки.
1) Оцените беглость и практичность
Соответствуйте изreviewindex рецензенту, например. xxx Вот и всеfluentиз, используются вместе five-point Likert масштаб для расчета, начиная с Strongly Disagree приезжать Strongly Agree。
И пусть рецензенты оценят свое согласие с утверждением «Ответ — это полезный и информативный ответ на запрос».
2) Оценка отзыва цитат (Citation Recall)
цитирование Отзыватьотносится к:придетсяприезжатьцитированиеподдерживатьиз Генерировать контент / Сгенерированный контент, заслуживающий проверки
Таким образом, для расчета отзыва необходимо:
Под «достойным проверки» можно понимать просто часть сгенерированного контента, содержащую информацию. На практике практически весь сгенерированный контент можно рассматривать как контент, заслуживающий проверки, поэтому скорость отзыва может быть примерно равна:
Напомним = сгенерированный контент, поддерживаемый цитированием / общее количество сгенерированного контента.
3) Измерение точности цитирования (Citation Precision)
Точность цитирования означает долю сгенерированных цитат, подтверждающих рассматриваемое утверждение. Если сгенерированный контент цитирует все веб-страницы в Интернете для каждого сгенерированного утверждения, то отзыв цитирования будет высоким, но точность цитирования будет низкой, поскольку многие статьи нерелевантны и не поддерживают сгенерированный контент.
Например, задавая вопросы на китайском языке, поисковые системы искусственного интеллекта, такие как Bing Chat, цитируют большое количество контента из CSDN, Zhihu и Baidu Zhizhi. Уровень цитирования очень высок, и иногда даже каждое предложение генерируется. Контент имеет соответствующее значение. цитаты, но точность цитат очень низкая. Большинство цитат не соответствуют сгенерированному контенту или имеют низкое качество.
devv.ai провел множество оптимизаций точности цитирования, особенно для многоязычных сценариев. Если предположить, что вопросы задаются на китайском языке, точность значительно выше, чем у таких продуктов, как Perplexity, Bing Chat и Phind.
Конкретный метод расчета точности цитирования здесь описываться не будет. Его описание можно найти в статье.
Благодаря точности цитирования «Отзывать», мы можем вычислить итоговое значение Citation F (среднее тональное значение).
Чтобы добиться высокого F, вся система должна иметь высокую точность цитирования и высокую цитируемость Отзывать.
о Среднее гармоническое
devv.ai/en/search?threadId=d6xolrry09vk
Выше представлен полный набор пар. RAG системапроверяемостьиз Метод оценки。
Благодаря этой системе отзывов каждый раз RAG оптимизации, вы можете снова запустить набор оценок, чтобы определить соответствующие изменения и оценить весь процесс с макроэкономической точки зрения. RAG Система становится лучше или хуже?
Также поделитесь devv.ai Некоторые приемы использования данного набора системы:
1) Оценочный набор
Выбор набора оценок должен соответствовать RAG в соответствии с соответствующей сценой, например devv.ai. Все выбранные обзоры связаны с программированием, и было добавлено множество наборов обзоров на нескольких языках.
2) Автоматизированная система оценки
Метод, используемый в статье, по-прежнему представляет собой человеческую оценку. Например, в статье для участия в оценке было задействовано 34 оценщика.
Недостатки:
Поэтому для сценариев промышленного уровня мы создаем автоматизированную систему оценки (Evaluation Framework).
Основная идея заключается в следующем:
используйте этот метод,Можно очень эффективно тестировать и улучшать,Например для prompt изменения, вы можете быстро открыть один a/b эксперимент,Затем разные экспериментальные группы запустили систему оценки.,Получите окончательные результаты.
Эта структура все еще строится внутри компании. & В рамках эксперимента в будущем может быть рассмотрен открытый исходный код, соответствующий оценочному коду модели. (Я чувствую, что одна только эта система оценки может открыть новую startup )
Наконец, давайте представим devv.ai. devv.ai — это новое поколение поисковой системы искусственного интеллекта, специально предназначенное для разработчиков. Она призвана заменить ежедневное использование разработчиками Google/StackOverflow/документов и помочь разработчикам повысить эффективность и создать ценность.
Продукт выпускается уже больше месяца, а devv.ai уже используют сотни тысяч разработчиков.
кроме того,Если у вас есть какие-либо отзывы или предложения, вы можете опубликовать их в этом репо.,Вы можете напрямую пересылать прибытия на другие платформы.,Просто обратите внимание на источник.
Источник: https://twitter.com/Tisoga/status/1731478506465636749
https://typefully.com/Tisoga/PBB58Vu
Источник: https://www.toutiao.com/article/7319073154234958372/?log_from=6c1d282a778aa_1704166461102.
«IT Big Guys Say» приветствует заявки от технического персонала по электронной почте: aliang@itdks.com.
Ты сейчас здесь, иди куда хочешь, просто оставь сообщение~
ИТ-гуру говорят | о Авторское право
Оригинальная статья "ИТ-гуру Говорят (ID: itdakashuo)",При перепечатке указывайте автора, источник и официальный аккаунт WeChat. Пожалуйста, добавьте WeChat, чтобы отправлять, запрашивать и перепечатывать статьи (примечание: отправка),Мисс Жасмин свяжется с вами вовремя!
Благодарим за интерес к ИТ-гуру Говорятиз с энтузиазмом поддерживает!