Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Важный
Если для конечной точки обслуживания пользовательской модели требуется устаревшая таблица вывода, ознакомьтесь с таблицами вывода для мониторинга и отладки моделей.
В этой статье описаны таблицы вывода с поддержкой шлюза ИИ для мониторинга обслуживаемых моделей. Таблица вывода автоматически записывает входящие запросы и исходящие ответы для конечной точки и регистрирует их в виде таблицы delta каталога Unity. Данные в этой таблице можно использовать для мониторинга, оценки, сравнения и точной настройки моделей машинного обучения.
Что такое таблицы вывода с поддержкой шлюза ИИ?
Таблицы вывода с поддержкой AI Gateway упрощают мониторинг и диагностику моделей, непрерывно записывая входные данные и ответы на запросы (предсказания) из конечных точек Mosaic AI Model Serving и сохраняют их в Delta table в каталоге Unity. Затем можно использовать все возможности платформы Databricks, такие как запросы и записные книжки Databricks SQL для мониторинга, отладки и оптимизации моделей.
Можно включить таблицы вывода на существующей или вновь созданной модельной конечной точке обслуживания, и затем запросы к этой конечной точке автоматически записываются в таблицу в каталоге Unity.
Ниже приведены некоторые распространенные приложения для таблиц вывода:
- Создайте обучающий корпус. Объединяя таблицы вывода с истинными метками, вы можете создать обучающий корпус, который можно использовать для повторного обучения или дообучения и улучшения вашей модели. С помощью заданий Lakeflow можно настроить цикл непрерывной обратной связи и автоматизировать повторное обучение.
- Мониторинг качества данных и моделей. Вы можете постоянно отслеживать производительность модели и смещение данных с помощью мониторинга Lakehouse. Мониторинг Lakehouse автоматически создает панели качества данных и моделей, которыми можно делиться с заинтересованными лицами. Кроме того, вы можете включить оповещения, чтобы узнать, когда необходимо переобучить модель на основе сдвигов входящих данных или уменьшения производительности модели.
- Отладка проблем в производственной среде. Операционные таблицы ведут журнал данных, таких как коды состояния HTTP, JSON-коды запросов и ответов, время работы модели и выходные данные трассировки во время работы модели. Эти данные производительности можно использовать для отладки. Вы также можете использовать исторические данные в таблицах вывода для сравнения производительности модели по историческим запросам.
- Наблюдайте за развернутыми агентами ИИ. Таблицы выводов также могут хранить трассировки MLflow для агентов ИИ, которые помогают отлаживать проблемы и отслеживать производительность.
Требования
- Таблицы вывода данных с поддержкой технологии шлюза ИИ поддерживаются для конечных точек, которые обслуживают любой из следующих вариантов:
- Рабочая область Databricks в регионе, где поддерживается обслуживание моделей. См. статью "Модель обслуживания региональной доступности".
- Для рабочих областей с частным подключением, настроенным в учетной записи хранения каталога Unity, выполните действия, описанные в разделе "Настройка частного подключения к ресурсам Azure".
- Databricks рекомендует включить прогнозную оптимизацию для оптимизации производительности таблиц вывода.
- В рабочей области должен быть включен каталог Unity.
- Создатель конечной точки и модификатор должны иметь разрешение «Управление» на конечной точке. См. списки управления доступом .
- Создатель конечной точки и модификатора должны иметь следующие разрешения в каталоге Unity:
-
USE CATALOG
права доступа для указанного каталога. -
USE SCHEMA
разрешения на указанную схему. -
CREATE TABLE
разрешения в схеме.
-
Предупреждение
Таблица вывода может остановить ведение журнала или стать поврежденной, если вы выполните одно из следующих действий:
- Измените схему таблицы.
- Измените имя таблицы.
- Удалите таблицу.
- Потерять права доступа к каталогу или схеме Unity Catalog.
- Изменение или удаление владельца таблицы.
Включение и отключение таблиц вывода
В этом разделе показано, как включить или отключить таблицы вывода с помощью пользовательского интерфейса обслуживания. Владелец таблиц вывода — это пользователь, создавший конечную точку. Все списки управления доступом (ACL) в таблице соответствуют стандартным разрешениям каталога Unity и могут быть изменены владельцем таблицы.
Чтобы включить таблицы вывода во время создания конечной точки, выполните следующие действия.
- Щелкните Обслуживание в интерфейсе пользователя ИИ Databricks Mosaic.
- Нажмите кнопку "Создать конечную точку обслуживания".
- В разделе "Шлюз искусственного интеллекта" выберите "Включить таблицы вывода".
Вы также можете включить таблицы вывода в существующей конечной точке. Чтобы изменить существующую конфигурацию конечной точки, сделайте следующее:
- В разделе "Шлюз искусственного интеллекта" щелкните "Изменить шлюз ИИ".
- Выберите "Включить таблицы вывода".
Выполните следующие инструкции, чтобы отключить таблицы вывода:
- Перейдите на страницу конечной точки.
- Щелкните "Изменить шлюз искусственного интеллекта".
- Нажмите кнопку "Включить таблицу вывода", чтобы удалить флажок.
- После удовлетворения спецификаций шлюза искусственного интеллекта нажмите кнопку "Обновить".
Включение таблиц вывода для агентов ИИ
Вы также можете включить таблицы вывода результатов для развернутых агентов ИИ; эти таблицы хранят нагрузочные данные и сведения о запросах, а также журналы трассировки MLflow.
Включите таблицы вывода для агентов ИИ с помощью следующих методов:
- Агенты, развернутые с использованием API
mlflow.deploy()
, имеют автоматически включенные таблицы вывода. См . раздел "Развертывание агента для создания приложений ИИ". - Для программного развертывания установите переменную среды
ENABLE_MLFLOW_TRACING
наTrue
в конфигурации конечной точки. См. раздел "Добавление переменных среды обычного текста".
Дополнительные сведения о трассировке агента 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.
Ограничения, относящиеся к шлюзу ИИ, см. в разделе "Ограничения". Общие ограничения конечных точек обслуживания модели см. в разделе "Ограничения службы моделей" и "Регионы".