К тому времени, когда вы достигнете этого этапа, вы уже создали индекс поиска и определили, какие поисковые запросы вы хотите выполнить. На этом этапе рассматривается процесс оценки решения "Получение дополненного поколения" (RAG) с точки зрения оценки ожидаемых запросов пользователей, содержащих полученные данные о заземления для крупной языковой модели. Прежде чем достичь этого этапа, необходимо завершить этап подготовки, где вы собираете тестовые документы и запросы, блокируете тестовые документы, обогащаете блоки, внедряете блоки, создаете индекс поиска и реализуете стратегию поиска. Вы должны оценить каждый из этих этапов и быть довольны результатами. На этом этапе вы должны чувствовать себя комфортно, что ваше решение возвращает соответствующие данные о заземления для запроса пользователя.
Эти данные заземления формируют контекст запроса, который отправляется в большую языковую модель для решения запроса пользователя. Стратегии разработки запросов выходят за рамки этой статьи. В этой статье рассматривается оценка инженерного вызова крупной языковой модели с точки зрения данных о заземления. В этой статье рассматриваются некоторые метрики оценки общей языковой модели, а также некоторые конкретные метрики сходства и оценки, которые можно использовать в вычислениях оценки большой языковой модели или как автономные метрики.
Эта статья не пытается предоставить исчерпывающий список метрик крупной языковой модели или метрики сходства и оценки. Число этих метрик растет каждый день. Что важно для вас, чтобы отнять эту статью, заключается в том, что существуют различные метрики, каждый из которых имеет свой собственный вариант использования. Вы единственный человек с целостным пониманием рабочей нагрузки. Вы и специалисты по обработке и анализу данных должны определить, что вы хотите измерить и какие метрики помогут вам выполнить эту задачу.
Этот материал входит в цикл статей. Ознакомьтесь с введением.
Метрики оценки крупной языковой модели
Существует несколько метрик, которые можно использовать для оценки ответа крупной языковой модели, включая заземление, полноту, использование и релевантность.
Внимание
Ответы на большие языковые модели являются недетерминированными, что означает, что один и тот же запрос на большую языковую модель может возвращать различные результаты. Это важно понимать при использовании крупной языковой модели в рамках процесса оценки. При оценке с помощью крупной языковой модели рекомендуется использовать диапазон целевых значений по одному целевому объекту.
Соответствие эталонным данным
Приземленность, иногда называемая верностью, измеряет, полностью ли ответ основан на контексте. Он проверяет, что ответ не использует сведения, отличные от того, что существует в контексте. Метрика низкой почвы указывает, что большая языковая модель может смещения в образную или нечувствительную территорию, известную как галлюцинации.
Расчётливый
- Служба безопасности содержимого Azure (AACS) — это настраиваемая модель, которая использует вывод естественного языка (NLI) для определения того, влечет ли за собой блоки утверждений, в данном случае влечет за собой исходный документ.
- Большая языковая модель на основе заземления использует большую языковую модель для определения уровня заземления ответа.
- Библиотека верности Ragas
- Расчет верности MLflow
Oценивающий
Если заземленность низка, она указывает, что большая языковая модель не отображает блоки как соответствующие. Вы должны оценить, нужно ли добавлять данные в корпус, настраивать стратегию блокирования или размер блока или настраивать запрос.
Полнота
Полнота измеряет, отвечает ли ответ на все части запроса. Полнота помогает понять, относятся ли блоки в контексте и напрямую связаны с запросом и предоставляют полный ответ.
Расчётливый
- С помощью ИИ: запрос на получение оценки
- Большая языковая модель поможет оценить качество ответа на большую языковую модель. Для выполнения этого измерения вам потребуется вопрос, контекст и созданный ответ. Ниже описан процесс высокого уровня.
- Используйте большую языковую модель для повторения, сводки или упрощения вопроса. Этот шаг определяет намерение.
- Попросите модель проверить, найдено ли намерение или ответ на намерение или может быть получено из извлеченных документов, где ответ может быть "Нет", или "Да" для каждого документа. Ответы, начинающиеся с "Да", указывают на то, что извлеченные документы относятся к намерению или ответу на намерение.
- Вычислите соотношение намерений, имеющих ответ, начиная с "Да".
- Скверите оценку, чтобы выделить ошибки.
Oценивающий
Если полнота низка, начните с оценки модели внедрения. Сравните словарь в содержимом с словарем в выбранной модели внедрения. Определите, требуется ли модель внедрения конкретного домена или необходимо точно настроить существующую модель. На следующем шаге оцените стратегию блокирования. Если вы используете фиксированную длину, попробуйте увеличить размер блока. Вы также можете оценить, имеют ли тестовые данные достаточно данных, чтобы полностью решить этот вопрос.
Загруженность
Использование измеряет степень, в которой ответ состоит из сведений из блоков в контексте. Цель состоит в том, чтобы определить степень, в которой каждый блок является частью ответа. Низкая загрузка означает, что результаты могут не иметь отношения к запросу. Использование должно оцениваться вместе с полнотой.
Расчётливый
Для вычисления использования можно использовать большую языковую модель. Вы можете передать ответ и контекст, содержащий блоки в большую языковую модель. Вы можете попросить большую языковую модель определить количество блоков, которые влечет за собой ответ.
Oценивающий
В следующей таблице приведены рекомендации, которые объединяются как в полноту, так и на использование.
Высокая загрузка | Низкая загрузка | |
---|---|---|
Высокая полнота | Действия не требуются | В этом случае возвращенные данные могут решить вопрос, но неуместные блоки были возвращены. Рекомендуется уменьшить значение параметра top-k, чтобы получить более вероятные или детерминированные результаты. |
Низкая полнота | В этом случае используются блоки, которые вы предоставляете, но не полностью решают вопрос. Рассмотрим следующий пример.
|
В этом случае вы не полностью отвечаете на вопрос, и блоки, которые вы предоставляете, не хорошо используются. Рассмотрим следующие проблемы:
|
С сортировкой по релевантности
Измеряет степень, в которой ответ крупной языковой модели имеет отношение к запросу и связан с ним.
Расчётливый
- С помощью ИИ: релевантность в Azure AI Studio. Вы можете использовать Azure AI Studio для выполнения вычислений или использовать рекомендации, приведенные в этой статье, чтобы вычислить релевантность для себя.
- Библиотека релевантности ответов Ragas
- Вычисление релевантности MLflow
Oценивающий
Если релевантность низка, оцените следующее:
- Убедитесь, что блоки, предоставленные большой языковой модели, актуальны.
- Определите, существуют ли жизнеспособные блоки, которые не были возвращены. Если есть, оцените модель внедрения.
- Если отсутствуют жизнеспособные блоки, просмотрите, существуют ли соответствующие данные. Если это так, оцените стратегию блокирования.
- Если были возвращены соответствующие блоки, оцените запрос.
Другие методы оценки, такие как Полнота , должны быть вычисляются и должны давать аналогичные оценки, наблюдаемые в измерении релевантности.
Метрики сходства и оценки
Как упоминалось в вводном представлении, существуют сотни сходства и метрик оценки, используемых в обработке и анализе данных. Некоторые алгоритмы относятся к домену, например речь к тексту или языку для перевода языка. Каждый алгоритм имеет уникальную стратегию для вычисления своей метрики.
Специалист по обработке и анализу данных определяет, что вы хотите измерять, а также какие метрики или комбинацию метрик можно использовать для измерения. Например, в области перевода языка метрика Bleu проверяет, сколько n-граммов отображается как в машинном переводе, так и в переводе человека для измерения сходства на основе одинаковых слов. Cosine сходство использует внедрение между машинным и человеческим переводами для измерения семантической сходства. Если ваша цель заключалась в том, чтобы иметь высокую семантику сходства и использовать аналогичные слова для человеческого перевода, ваша цель будет высоким показателем Bleu с высокой косинусностью. Если вы заботились только о семантической сходстве, вы сосредоточитесь на косине сходство.
В следующем списке содержится небольшая выборка общих сходства и метрик оценки. Обратите внимание, что перечисленные метрики сходства описаны как маркеры, на основе последовательности или на основе редактирования, иллюстрирующие использование значительно различных подходов к вычислению сходства. Кроме того, обратите внимание, что список содержит три алгоритма для оценки качества перевода текста с одного языка на другой.
- Самая длинная общая подстрока — алгоритм на основе последовательности, который находит самую длинную подстроку между двумя строками. Самый длинный процент подстроки занимает самую длинную общую подстроку и делит ее на число символов меньшей или большей входной строки.
- Самый длинный распространенный дочерний эквивалент (LCS) — алгоритм на основе последовательности, который находит самую длинную подсезону между двумя строками. LCS не требует последовательного последовательных параметров LCS.
- Сходство косинуса — алгоритм на основе маркеров, который вычисляет косинус угла между двумя векторами.
- Jaro Winkler — алгоритм на основе редактирования, который подсчитывает минимальное количество шагов для преобразования одной строки в другую.
- Хеминг — алгоритм на основе редактирования, который измеряет минимальное количество подстановок, необходимых для преобразования одной строки в другую.
- Jaccard — алгоритм на основе токенов, который вычисляет сходство путем деления пересечения двух строк по объединениям этих строк.
- Levenshtein — алгоритм на основе редактирования, который вычисляет сходство, определяя минимальное количество изменений одного символа, необходимых для преобразования одной строки в другую.
- BLEU — оценивает качество текста, которое является результатом машинного перевода с одного языка на другой. Bleu вычисляет перекрытие n-граммов между машинным переводом и переводом качества человека, чтобы сделать эту оценку.
- ROUGE — сравнение машинного перевода одного языка с другим на созданный человеком перевод. Существует несколько вариантов ROUGE, использующих перекрытие n-граммов, skip-bigrams или наиболее длинные распространенные вложенные значения.
- МЕТЕОР — оценивает качество текста, являющегося результатом машинного перевода, просматривая точные совпадения, совпадения после стебля, синонимов, парафразирования и выравнивания.
Ознакомьтесь со следующими ресурсами для общих метрик сходства и оценки:
Документация, отчеты и агрегирование
Вы должны задокументировать как гиперпараметры, выбранные для эксперимента, так и полученные метрики оценки, чтобы понять влияние гиперпараметров на результаты. Необходимо документировать гиперпараметры и результаты на гранулярных уровнях, таких как внедрение или оценка поиска, а также на уровне макроса, например тестирование всей системы до конца.
Во время разработки и разработки вы можете отслеживать гиперпараметры и результаты вручную. Однако при выполнении нескольких вычислений во всем тестовом документе и корпусе тестового запроса может потребоваться сотни запусков оценки и тысячи результатов. Необходимо автоматизировать сохранение параметров и результатов для оценки.
После сохранения гиперпараметров и результатов следует рассмотреть возможность создания диаграмм и графов, чтобы упростить визуализацию эффектов выбора гиперпараметров на метрики. Визуализация помогает определить, какие варианты могут привести к спаду или пику производительности.
Важно понимать, что проектирование и оценка решения RAG не является однократной операцией. Корпус документов будет меняться со временем. Вопросы, которые ваши клиенты задают, изменятся со временем, и ваше понимание типов вопросов будет развиваться, как вы узнаете из рабочей среды. Необходимо снова и снова вернуться к этому процессу. Поддержка документации по прошлым оценкам имеет решающее значение для будущих усилий по проектированию и оценке.
Акселератор экспериментов RAG
В этих статьях описаны все этапы и варианты проектирования, участвующие в проектировании и оценке решения RAG. Статьи сосредоточены на том, что вы должны делать, а не как это сделать. Инженерная группа, которая работает с лучшими клиентами Майкрософт, разработала инструмент под названием акселератор экспериментов RAG. Акселератор экспериментов RAG — это инфраструктура экспериментов, предназначенная для оптимизации и улучшения разработки решений для получения дополненного поколения (RAG). Акселератор экспериментов RAG позволяет исследователям и разработчикам эффективно изучить и точно настроить критически важные компоненты, которые управляют производительностью RAG, в конечном счете, что приводит к более точному и последовательному поколению текста.
С помощью интерфейса командной строки вы можете легко экспериментировать с различными моделями внедрения, уточнить стратегии блокирования и оценить различные подходы поиска для разблокировки полного потенциала системы RAG. Он позволяет сосредоточиться на основных аспектах разработки RAG, абстрагируя сложности настройки гиперпараметров с помощью простой конфигурации.
Кроме того, платформа обеспечивает комплексную поддержку конфигурации крупной языковой модели, что позволяет обеспечить идеальный баланс между сложностью модели и качеством создания. Это средство позволяет упростить процесс экспериментирования, сэкономить ценное время и значительно повысить производительность моделей RAG.
Будь то опытный исследователь, толкая границы распознавания естественного языка или отраслевым профессионалом, стремящимся улучшить возможности создания текста, эта платформа экспериментирования является конечным решением для ускорения процесса разработки RAG. Обнимайте будущее экспериментов RAG и разблокируйте истинный потенциал ваших моделей с помощью этого высокограничного инструмента.
RAG с платформой приложений визуального зрения
Большая часть рекомендаций в этой статье по работе с носителями в решении RAG пришла из другой инженерной группы, которая работает с лучшими клиентами Майкрософт. Эта команда написала платформу с именем RAG с помощью Application Framework для визуального зрения. Эта платформа предоставляет конвейер получения дополненного на основе Python (RAG), который обрабатывает как текстовое, так и содержимое изображения из документов MHTML.
Платформа загружает, блоки и дополняет текст и изображения из MHTML-файлов и отправляет блоки в службу поиска Azure. Платформа реализует кэширование для обогащения изображений как для обработки, так и для экономичности. Платформа также включает оценку в составе конвейера.
Соавторы
- Ritesh Modi
- Роб Багби
- Райан Пфальц
- Рауф Алиуат
- Рэнди Турман
- Прабал Деб
- Махди Сетеш
- Соуби Хадри
- Пол Батлер