Поделиться через


Комплексная оценка языковой модели

На этом этапе вы оцениваете решение генерации Retrieval-Augmented (RAG), сопоставляя ожидаемые запросы пользователя, содержащие найденные основополагающие данные, с языковой моделью. Прежде чем достичь этого этапа, необходимо выполнить предыдущие этапы. Необходимо собрать тестовые документы и запросы, фрагментировать тестовые документы, обогатить блоки, внедрить блоки, создать индекс поиска и реализовать стратегию поиска. Затем необходимо оценить каждый из этих этапов и убедиться, что результаты соответствуют вашим ожиданиям. На этом этапе вы должны быть уверены, что ваше решение возвращает обоснованные данные для запроса пользователя.

Эти данные заземления формируют контекст запроса, который отправляется в языковую модель для решения запроса пользователя. стратегии разработки запросов выходят за рамки этой статьи. В этой статье рассматривается оценка сконструированного вызова к языковой модели с точки зрения основных данных. В этой статье рассматриваются метрики оценки общей языковой модели и конкретные метрики сходства и оценки, которые можно использовать в вычислениях оценки модели или как автономные метрики.

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

Эта статья является частью серии. Сначала ознакомьтесь с введением.

Метрики оценки языковой модели

Существует несколько метрик, которые следует использовать для оценки ответа языковой модели, включая обоснованность, полноту, эффективность использования, релевантность и корректность. Так как общая цель шаблона RAG заключается в предоставлении соответствующих данных в качестве контекста языковой модели при создании ответа, в идеале каждая из указанных выше метрик должна иметь высокую оценку. Однако в зависимости от рабочей нагрузки вам может понадобиться отдать приоритет одному делу перед другим.

Важный

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

Заземленность

Обоснованность, иногда называемая верностью, оценивает, основан ли ответ полностью на контексте. Он проверяет, что ответ не использует сведения, отличные от того, что существует в контексте. Метрика низкого уровня обоснованности указывает, что языковая модель может выдавать неточные или бессмысленные ответы.

Вычисление заземления

Используйте следующие методы для вычисления основательности ответов:

Оценка обоснованности

Вычисление с низкой обоснованностью указывает, что языковая модель не видит фрагменты как релевантные. Вы должны оценить, нужно ли добавить данные в вашу коллекцию, настроить стратегию разбиения на блоки или размер блоков, или тонко настроить свой запрос.

Полнота

Полнота измеряет, отвечает ли ответ на все части запроса. Полнота помогает понять, относятся ли блоки в контексте к запросу, напрямую связанны с ним и предоставляют ли полный ответ.

Вычисление полноты

Используйте следующие методы для вычисления полноты ответов:

  • Запрос оценок для выборки с помощью ИИ.
  • Языковая модель может помочь оценить качество ответа языковой модели. Вам нужен вопрос, контекст и созданный ответ, чтобы провести это измерение. Следующие шаги описывают высокоуровневый процесс:
    1. Используйте языковую модель для повторения, сводки или упрощения вопроса. Этот шаг определяет намерение.
    2. Попросите модель проверить, можно ли найти намерение или ответ на намерение в извлеченных документах или можно ли его извлечь из них. Ответ может быть "да" или "нет" для каждого документа. Ответы, начинающиеся с "да", указывают на то, что извлеченные документы относятся к намерению или ответу на намерение.
    3. Вычислите соотношение намерений, имеющих ответ, начинающийся с "да".
    4. Возведите оценку в квадрат, чтобы выделить ошибки.

Оценка полноты

Если полнота низка, начните работать, чтобы увеличить ее, оценив модель внедрения. Сравните словарь в содержимом с словарем в модели внедрения. Определите, требуется ли модель внедрения конкретного домена или следует ли настроить существующую модель. Следующий шаг — оценить стратегию разбиения. Если вы используете разбиение на блоки фиксированного размера, рассмотрите возможность увеличения их размера. Вы также можете оценить, имеют ли тестовые данные достаточно данных, чтобы полностью решить этот вопрос.

Использование

Использование измеряет степень, в которой ответ состоит из сведений из блоков в контексте. Цель состоит в том, чтобы определить степень, в которой каждый блок является частью ответа. Низкая степень использования означает, что результаты могут оказаться нерелевантными для запроса. Вы должны оценивать использование наряду с полнотой.

Вычисление использования

Используйте языковую модель для вычисления использования. Вы можете передать ответ и контекст, содержащий блоки в языковую модель. Вы можете попросить языковую модель определить количество блоков, которые влечет за собой ответ.

Оценка использования

В следующей таблице приведены рекомендации по оценке полноты и использования.

Высокая загрузка Низкое использование
высокая полнота Никаких действий не требуется. В этом случае возвращаемые данные отвечают на вопрос, но также содержат неуместные фрагменты. Рекомендуется уменьшить значение параметра top-k, чтобы получить более вероятные или детерминированные результаты.
низкая полнота В этом случае языковая модель использует предоставленные блоки, но они не полностью решают вопрос. Рассмотрите следующие действия.
  • Просмотрите стратегию сегментации, чтобы увеличить контекст в блоках.
  • Увеличьте количество блоков, увеличив значение параметра top-k.
  • Оцените, есть ли у вас блоки, которые не были возвращены и которые могут повысить полноту. Если да, расследуйте, почему они не были возвращены.
  • Следуйте руководству в разделе о полноте.
В этом случае возвращаемые данные не полностью отвечают на этот вопрос, и предоставленные блоки не используются полностью. Рассмотрите следующие действия.
  • Просмотрите стратегию сегментации, чтобы увеличить контекст в блоках. Если вы используете блоки фиксированного размера, рассмотрите возможность увеличения размеров блоков.
  • Настройте запросы для улучшения ответов.

Уместность

Релевантность измеряет степень, в которой ответ модели языка связан с запросом.

Вычисление релевантности

Используйте следующие методы для вычисления релевантности ответов:

Заметка

Вы можете использовать портал Azure Azure AI Foundry для выполнения вычислений или использования инструкций, приведенных в этой статье, чтобы вычислить релевантность самостоятельно.

Оценка релевантности

Если релевантность низка, выполните следующие задачи:

  1. Убедитесь, что блоки, предоставленные языковой модели, актуальны.
    • Определите, не возвращаются ли жизнеспособные соответствующие фрагменты. Если вы обнаружите эти блоки, оцените модель внедрения.
    • Если отсутствуют жизнеспособные блоки, просмотрите, существуют ли соответствующие данные. Если это так, оцените стратегию разбиения.
  2. Если вам возвращаются соответствующие блоки, оцените запрос.

Методы оценки, такие как полнота и выходные данные, должны давать результаты, аналогичные оценке релевантности.

Корректность

правильность оценивает степень, насколько ответ точен и соответствует фактам.

Вычисление правильности

Существует несколько способов оценки правильности, в том числе:

  • языковая модель. Используйте языковую модель для вычисления правильности. Вы можете передать ответ языковой модели, предпочтительно отличающейся от той, которая использовалась для создания результата. Вы можете попросить языковую модель определить, является ли ответ фактическим или нет.
  • внешний доверенный источник. Используйте внешний доверенный источник для проверки правильности ответа. В зависимости от API доверенного источника можно использовать только доверенный источник или языковую модель.

Оценка правильности

Если правильность низка, выполните следующие задачи:

  1. Убедитесь, что блоки, предоставленные языковой модели, фактически верны и нет предвзятости данных. Возможно, вам потребуется исправить любые проблемы в исходных документах или содержимом.
  2. Если блоки содержат фактически верную информацию, оцените запрос.
  3. Оцените наличие наследуемых неточностей в модели, которую необходимо преодолеть с помощью дополнительных фактических данных основания или тонкой настройки.

Метрики сходства и оценки

Существуют сотни метрик сходства и оценки, которые можно использовать в обработке и анализе данных. Некоторые алгоритмы специфичны для определённой области, например, перевод устной речи в текст или языковой перевод. Каждый алгоритм имеет уникальную стратегию для вычисления своей метрики.

Специалисты по обработке и анализу данных определяют, какие метрики или сочетания метрик можно использовать для измерения. Например, для перевода языков метрика двуязычной автоматизированной оценки качества перевода (BLEU) проверяет, сколько n-граммов встречается как в машинном переводе, так и в человеческом переводе, чтобы измерить сходство на основе использования одинаковых слов в переводах. Косинусное сходство использует векторы между машинным и человеческим переводами для измерения семантического сходства. Если ваша цель состоит в том, чтобы иметь высокое семантическое сходство и использовать аналогичные слова, как в человеческом переводе, вы хотите получить высокую оценку BLEU с высокой косинусной схожестью. Если вы заботитесь только о семантической сходстве, сосредоточьтесь на косинусе сходства.

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

  • наиболее распространенная подстрока — это алгоритм на основе последовательности, который находит самую длинную общую подстроку между двумя строками. Доля наибольшей общей подстроки вычисляется путем деления длины наибольшей общей подстроки на количество символов в меньшей или большей из входных строк.
  • самая длинная общая подпоследовательность (LCS) — это алгоритм, основанный на последовательностях, который находит самую длинную подпоследовательность между двумя строками. LCS не требует, чтобы подпоследовательности были в последовательном порядке.
  • косинусное сходство — это токенизированный алгоритм, который вычисляет косинус угла между двумя векторами.
  • Jaro-Winkler расстояние — это алгоритм на основе правки, который подсчитывает минимальное количество шагов для преобразования одной строки в другую.
  • расстояние Хэмминга — это алгоритм, основанный на изменении, который измеряет минимальное количество подстановок, необходимых для преобразования одной строки в другую.
  • алгори́тм на основе токенов, индекс Jaccard, вычисляет сходство, деля пересечение двух строк на объединение этих строк.
  • расстоянии Левенштеина — это алгоритм на основе редактирования, который вычисляет сходство, определяя минимальное количество изменений одного символа, необходимых для преобразования одной строки в другую.
  • BLEU оценивает качество текста, которое является результатом машинного перевода с одного языка на другой. BLEU вычисляет перекрытие n-граммов между машинным переводом и переводом, выполненным человеком, чтобы провести эту оценку.
  • ROUGE — это метрика, которая сравнивает машинный перевод одного языка с другим на созданный человеком перевод. Существует несколько вариантов ROUGE, которые используют перекрытие n-грамм, пропуски биграмм или наибольшую общую подпоследовательность.
  • METEOR оценивает качество текста, являющегося результатом машинного перевода, анализируя точные совпадения, совпадения по корням слов, синонимы, парафразирование и выравнивание.

Дополнительные сведения о метриках сходства и оценки см. в следующих ресурсах:

Использование нескольких метрик оценки вместе

Вы должны использовать метрики оценки языковой модели вместе, чтобы лучше понять, насколько хорошо работает решение RAG. Ниже приведено несколько примеров использования нескольких метрик оценки вместе.

Устойчивость и корректность

Метрики обоснованности и правильности вместе помогают определить, насколько точно система интерпретирует и использует контекст. Если заземленность высока, но правильность низка, это означает, что языковая модель использует контекст, но предоставляет неправильный ответ. Неправильный ответ может быть вызван неправильным использованием контекста или проблем с исходными данными. Например, если обоснованность равна 0,9, но правильность составляет 0,4, это означает, что система ссылается на правильный исходный материал, но делает неправильные выводы. Рассмотрим ответ о том, что "Эйнштейн разработал квантовую механику" на основе контекста, который отдельно упоминает как Эйнштейн, так и квантовую механику. Этот ответ обоснованный, но фактически неправильный.

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

Использование и полнота

Метрики использования и полноты вместе помогают оценить эффективность системы извлечения. Высокая загрузка (0.9) с низкой полнотой (0.3) указывает, что система получает точные, но неполные сведения. Например, когда спрашивают о причинах Второй мировой войны, система может прекрасно получить информацию о вторжении в Польшу, но пропустить другие важные факторы. Этот сценарий может указывать на наличие блоков с соответствующими сведениями, которые не использовались в рамках контекста. Чтобы устранить этот сценарий, попробуйте вернуть больше фрагментов, оценить стратегию ранжирования фрагментов и оценить ваш запрос.

Основательность и использование и сходство

Метрики обоснованности, использования и сходства вместе помогают определить, насколько хорошо система сохраняет правдивость при преобразовании информации. Высокая обоснованность (0,9) и использование данных (0,9) при низкой сходности (0,3) указывает на то, что система использует точные данные для обоснования, но перефразирование осуществляется плохо. Чтобы учесть этот сценарий, оцените подсказку. Измените запрос и проверьте результаты.

Документация, отчеты и агрегирование

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

Во время проектирования и разработки вы можете отслеживать гиперпараметры и результаты вручную. Однако выполнение нескольких оценок для всего тестового документа и коллекции тестовых запросов может включать сотни оценочных запусков и тысячи результатов. Необходимо автоматизировать сохранение параметров и результатов для оценки.

После сохранения гиперпараметров и результатов следует рассмотреть возможность создания диаграмм и графов, которые помогут вам визуализировать, как гиперпараметры влияют на метрики. Визуализация помогает определить, какие варианты могут привести к спаду или пику производительности.

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

Акселератор экспериментов RAG

В этих статьях описаны все этапы и варианты проектирования, которые участвуют в проектировании и оценке решения RAG. Статьи сосредоточены на том, что вы должны делать, а не как это сделать. Инженерная группа, которая работает с лучшими клиентами Майкрософт, разработала средство, называемое акселератор экспериментов RAG. Акселератор экспериментов RAG — это современная платформа для проведения экспериментов. Она была разработана для оптимизации и улучшения разработки решений RAG. Акселератор экспериментов RAG позволяет исследователям и разработчикам эффективно изучить и точно настроить критически важные компоненты, которые управляют производительностью RAG. Эта инновация в конечном итоге приводит к более точной и последовательной генерации текста.

Акселератор экспериментов RAG использует интерфейс командной строки, поэтому вы можете легко экспериментировать с различными моделями внедрения, уточнить стратегии фрагментирования и оценить различные подходы поиска для разблокировки полного потенциала системы RAG. Он позволяет сосредоточиться на основных аспектах разработки RAG с помощью простой конфигурации для настройки гиперпараметров.

Платформа также обеспечивает полную поддержку конфигурации языковой модели. Эта поддержка помогает обеспечить идеальный баланс между сложностью модели и качеством создания. Это средство помогает упростить процесс экспериментирования, сэкономить время и значительно повысить производительность моделей RAG.

RAG с платформой приложений визуального зрения

Большая часть рекомендаций в этой статье о работе с носителями в решении RAG пришла из другой инженерной группы, которая работает с лучшими клиентами Майкрософт. Эта команда написала фреймворк под названием RAG с приложениемVision Application Framework. Эта платформа предоставляет конвейер RAG на основе Python, который обрабатывает содержимое текста и изображения из документов MHTML.

Фреймворк загружает, разделяет и дополняет текст и изображения из MHTML-файлов. Затем он загружает фрагменты в службу поиска Azure AI. Платформа реализует кэширование для обогащения изображений для повышения эффективности обработки и затрат. Платформа также включает оценку в составе конвейера.

Авторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.

Дальнейшие действия