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


Мониторинг обслуживаемых моделей с использованием таблиц интерпретации, поддерживаемых шлюзом ИИ.

Важный

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

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

Что такое таблицы вывода с поддержкой шлюза ИИ?

Таблицы вывода с поддержкой AI Gateway упрощают мониторинг и диагностику моделей, непрерывно записывая входные данные и ответы на запросы (предсказания) из конечных точек Mosaic AI Model Serving и сохраняют их в Delta table в каталоге Unity. Затем можно использовать все возможности платформы Databricks, такие как запросы и записные книжки Databricks SQL для мониторинга, отладки и оптимизации моделей.

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

Ниже приведены некоторые распространенные приложения для таблиц вывода:

  • Создайте обучающий корпус. Объединяя таблицы вывода с истинными метками, вы можете создать обучающий корпус, который можно использовать для повторного обучения или дообучения и улучшения вашей модели. С помощью заданий Lakeflow можно настроить цикл непрерывной обратной связи и автоматизировать повторное обучение.
  • Мониторинг качества данных и моделей. Вы можете постоянно отслеживать производительность модели и смещение данных с помощью мониторинга Lakehouse. Мониторинг Lakehouse автоматически создает панели качества данных и моделей, которыми можно делиться с заинтересованными лицами. Кроме того, вы можете включить оповещения, чтобы узнать, когда необходимо переобучить модель на основе сдвигов входящих данных или уменьшения производительности модели.
  • Отладка проблем в производственной среде. Операционные таблицы ведут журнал данных, таких как коды состояния HTTP, JSON-коды запросов и ответов, время работы модели и выходные данные трассировки во время работы модели. Эти данные производительности можно использовать для отладки. Вы также можете использовать исторические данные в таблицах вывода для сравнения производительности модели по историческим запросам.
  • Наблюдайте за развернутыми агентами ИИ. Таблицы выводов также могут хранить трассировки MLflow для агентов ИИ, которые помогают отлаживать проблемы и отслеживать производительность.

Требования

  • В рабочей области должен быть включен каталог Unity.
  • Создатель конечной точки и модификатор должны иметь разрешение «Управление» на конечной точке. См. списки управления доступом .
  • Создатель конечной точки и модификатора должны иметь следующие разрешения в каталоге Unity:
    • USE CATALOG права доступа для указанного каталога.
    • USE SCHEMA разрешения на указанную схему.
    • CREATE TABLE разрешения в схеме.

Предупреждение

Таблица вывода может остановить ведение журнала или стать поврежденной, если вы выполните одно из следующих действий:

  • Измените схему таблицы.
  • Измените имя таблицы.
  • Удалите таблицу.
  • Потерять права доступа к каталогу или схеме Unity Catalog.
  • Изменение или удаление владельца таблицы.

Включение и отключение таблиц вывода

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

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

  1. Щелкните Обслуживание в интерфейсе пользователя ИИ Databricks Mosaic.
  2. Нажмите кнопку "Создать конечную точку обслуживания".
  3. В разделе "Шлюз искусственного интеллекта" выберите "Включить таблицы вывода".

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

  1. В разделе "Шлюз искусственного интеллекта" щелкните "Изменить шлюз ИИ".
  2. Выберите "Включить таблицы вывода".

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

  1. Перейдите на страницу конечной точки.
  2. Щелкните "Изменить шлюз искусственного интеллекта".
  3. Нажмите кнопку "Включить таблицу вывода", чтобы удалить флажок.
  4. После удовлетворения спецификаций шлюза искусственного интеллекта нажмите кнопку "Обновить".

Включение таблиц вывода для агентов ИИ

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

Включите таблицы вывода для агентов ИИ с помощью следующих методов:

Дополнительные сведения о трассировке агента MLflow см. в разделе "Трассировка MLflow" — наблюдаемость генеративного ИИ.

Запрос и анализ результатов в таблице вывода

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

Чтобы просмотреть таблицу в пользовательском интерфейсе: На странице конечной точки щелкните имя таблицы инференции, чтобы открыть таблицу в обозревателе каталогов.

ссылка на имя таблицы вывода на странице конечной точки

Чтобы запросить таблицу из Databricks SQL или записной книжки Databricks: Вы можете выполнить код, аналогичный приведенному ниже, чтобы запросить таблицу вывода.

SELECT * FROM <catalog>.<schema>.<payload_table>

Чтобы присоединить данные таблицы вывода с подробными сведениями о базовой модели, обслуживаемой на конечной точке: Сведения о базовой модели записываются в системную таблицу system.serving.served_entities.

Примечание.

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

SELECT * FROM <catalog>.<schema>.<payload_table> payload
JOIN system.serving.served_entities se on payload.served_entity_id = se.served_entity_id

схема таблицы инференции с поддержкой шлюза искусственного интеллекта

С использованием шлюза ИИ таблицы вывода данных имеют следующую схему:

Имя столбца Описание Тип
request_date Дата UTC, по которой был получен запрос на обслуживание модели. ДАТА
databricks_request_id Идентификатор запроса, созданный Azure Databricks, прикрепленный ко всем запросам на выполнение модели. СТРУНА
client_request_id Предоставленный пользователем идентификатор запроса, который можно указать в тексте запроса на обслуживание модели. СТРУНА
request_time Метка времени, когда запрос был получен. TIMESTAMP
status_code Код состояния HTTP, возвращенный из модели. ИНТ
sampling_fraction Доля выборки, используемая в случае, если запрос был подвергнут уменьшению выборки. Это значение составляет от 0 до 1, где 1 означает, что было включено 100% входящих запросов. ДВОЙНОЙ
execution_duration_ms Время в миллисекундах, для которого модель выполнила вывод. Это не включает сетевые задержки и представляет только время, затраченное моделью на создание прогнозов. БИГИНТ
request Необработанный текст JSON запроса, отправленный в конечную точку обслуживания модели. СТРУНА
response Текст JSON необработанного ответа, возвращаемый конечной точкой обслуживания модели. СТРУНА
served_entity_id Уникальный идентификатор обслуживаемой сущности. СТРУНА
logging_error_codes Ошибки, которые произошли, когда данные не удалось записать. Коды ошибок включают MAX_REQUEST_SIZE_EXCEEDED и MAX_RESPONSE_SIZE_EXCEEDED. МАССИВ
requester Идентификатор пользователя или служебного принципала, разрешения которого используются для запроса вызова обслуживающего конечного узла. Это поле возвращает NULL для конечных точек пользовательских моделей, оптимизированных по маршруту. СТРУНА

Схемы таблиц интерпретации агента ИИ

Для агентов ИИ Databricks создает три таблицы вывода для каждого развертывания для регистрации запросов и ответов на конечную точку сервиса модели.

Таблица выводов Пример имени таблицы Azure Databricks Содержимое таблицы
Полезная нагрузка {catalog_name}.{schema_name}.{model_name}_payload Сырые нагрузки запросов и ответов JSON
Журналы запросов полезной нагрузки {catalog_name}.{schema_name}.{model_name}_payload_request_logs Форматированные запросы и ответы, трассировка MLflow
Журналы оценки полезной нагрузки {catalog_name}.{schema_name}.{model_name}_payload_assessment_logs Отформатированный отзыв, как указано в приложении 'Review App', для каждого запроса

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

Примечание.

Если у вас включен брандмауэр хранилища Azure, обратитесь к команде по работе с аккаунтами Databricks, чтобы включить таблицы для вывода данных для ваших конечных точек.

Ниже представлена схема таблицы логов запросов пейлоада:

Имя столбца Описание Тип
databricks_request_id Идентификатор запроса, созданный Azure Databricks, прикрепленный ко всем запросам на выполнение модели. СТРУНА
client_request_id Необязательный идентификатор запроса, созданный клиентом, который можно указать в тексте запроса на обслуживание модели. СТРУНА
date Дата UTC, по которой был получен запрос на обслуживание модели. ДАТА
timestamp_ms Временная метка в миллисекундах эпохи, когда был получен запрос на обслуживание модели. ДЛИННЫЙ
timestamp Метка времени запроса. TIMESTAMP
status_code Код состояния HTTP, возвращенный из модели. ИНТ
sampling_fraction Доля выборки, используемая в случае, если запрос был подвергнут уменьшению выборки. Это значение составляет от 0 до 1, где 1 означает, что было включено 100% входящих запросов. ДВОЙНОЙ
execution_time_ms Время выполнения в миллисекундах, для которого модель выполнила вывод. Это не включает сетевые задержки и представляет только время, затраченное моделью на создание прогнозов. ДЛИННЫЙ
conversation_id Идентификатор беседы, извлеченный из журналов запросов. СТРУНА
request Последний запрос пользователя в разговоре пользователя. СТРУНА
response Последний ответ пользователю. СТРУНА
request_raw Строковое представление запроса. СТРУНА
response_raw Строковое представление ответа. СТРУНА
trace Строковое представление трассировки, извлеченное из databricks_options структуры ответа. СТРУНА
request_metadata Карта метаданных, связанных с конечной точкой обслуживания модели, связанной с запросом. Эта карта содержит имя конечной точки, имя модели и версию модели, используемую для конечной точки. MAP<СТРОКА, СТРОКА>
schema_version Версия схемы. СТРУНА

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

Имя столбца Описание Тип
request_id Идентификатор запроса Databricks. СТРУНА
step_id Идентификатор шага, производный от оценки извлечения. СТРУНА
source Поле структуры, содержащее сведения о том, кто создал оценку. СТРУКТУРА
timestamp Метка времени запроса. TIMESTAMP
text_assessment Данные об обратной связи о ответах агента из приложения для проверки. СТРУНА
retrieval_assessment Данные для любых отзывов о документах, полученных для ответа. СТРУНА

Ограничения

  • Выделенные нагрузки на пропускную способность:
    • Если вы создаете новую конечную точку обслуживания модели, использующую выделенную пропускную способность, поддерживаются только таблицы вывода с поддержкой шлюза AI Gateway.
    • Если у вас есть конечная точка обслуживания модели, использующая подготовленную пропускную способность, и она никогда ранее не была настроена с использованием устаревших таблиц вывода, вы можете обновить ее для использования таблиц вывода с поддержкой шлюза ИИ.
    • Если у вас есть конечная точка обслуживания модели, использующая зарезервированную пропускную способность, и она имеет устаревшие таблицы вывода данных, настроенные в настоящее время или ранее, вы не можете обновить ее для использования таблиц вывода с поддержкой шлюза ИИ.
    • Для журналов ответов агента ИИ для потоковой передачи объединяются только трассировки и поля, совместимые с ChatCompletion.
  • Рабочие нагрузки пользовательской модели:
    • Если вы создаете новую конечную точку обслуживания модели, которая служит пользовательской моделью, Databricks рекомендует использовать таблицы вывода с поддержкой шлюза ИИ. Если необходим устаревший интерфейс таблицы вывода, то вы можете настроить новую конечную точку для шлюза искусственного интеллекта только с помощью REST API.
    • Если у вас есть конечная точка обслуживания модели, которая служит пользовательской модели, и она не имеет таблиц вывода, вы можете обновить ее для использования таблиц вывода с поддержкой шлюза ИИ.
    • Если у вас есть конечная точка обслуживания модели, которая служит пользовательской моделью, и она имеет устаревшие таблицы вывода, необходимо отключить устаревшую таблицу вывода, прежде чем можно обновить конечную точку для использования таблиц вывода с поддержкой шлюза ИИ.
    • После включения таблиц вывода с поддержкой шлюза ИИ нельзя переключиться на устаревшие таблицы вывода.
  • Доставка журналов таблиц вывода для конечных точек обслуживания моделей, которые обрабатывают рабочие нагрузки API Foundation Model, внешние модели или агентов, в настоящее время осуществляется в меру возможностей. Вы можете ожидать, что журналы будут доступны в течение 1 часа запроса. Обратитесь к группе учетных записей Databricks, чтобы получить дополнительные сведения.
  • Максимальный размер запроса и ответа, зарегистрированных в журнале, составляет 1 МиБ (1 048 576 байт). Полезные данные запросов и ответов, объем которых превышает данное значение, регистрируются как null, и logging_error_codes заполняются MAX_REQUEST_SIZE_EXCEEDED или MAX_RESPONSE_SIZE_EXCEEDED.
  • Таблицы вывода для оптимизированных для маршрутов конечных точек обслуживания модели находятся в общедоступной предварительной версии.
  • Журналы таблиц вывода не гарантированно заполняются, если конечная точка обслуживания модели возвращает ошибку.
    • Для конечных точек пользовательской модели журналы могут не записываться для ошибок 4xx или 5xx.
    • Для других конечных точек журналы могут не записываться для ошибок 401, 403, 429 или 500.

Ограничения, относящиеся к шлюзу ИИ, см. в разделе "Ограничения". Общие ограничения конечных точек обслуживания модели см. в разделе "Ограничения службы моделей" и "Регионы".