Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Эта функция предоставляется в режиме общедоступной предварительной версии.
Внимание
В этой статье описывается опыт работы с устаревшей таблицей выводов, который относится только к определенной зарезервированной пропускной способности и конечным точкам пользовательской модели. Этот опыт не рекомендуется. Databricks рекомендует таблицы вывода с поддержкой шлюза ИИ для обеспечения доступности пользовательских моделей, базовой модели и агентов, обслуживающих конечные точки.
Примечание.
Если вы работаете с генеративным ИИ приложением в Databricks, вы можете использовать Databricks мониторинг ИИ для автоматической настройки таблиц выводов и отслеживания как операционных, так и качественных метрик вашего приложения.
В этой статье описываются таблицы вывода для обслуживаемой модели мониторинга. На следующей схеме показан типичный рабочий процесс с таблицами вывода. Таблица вывода данных автоматически записывает входящие запросы и исходящие ответы для конечной точки обслуживания модели и регистрирует их как таблицу Delta Unity Catalog. Данные в этой таблице можно использовать для мониторинга, отладки и улучшения моделей машинного обучения.
Что такое таблицы вывода?
Мониторинг производительности моделей в рабочих процессах является важным аспектом жизненного цикла модели искусственного интеллекта и машинного обучения. Таблицы вывода результатов упрощают мониторинг и диагностику моделей путем непрерывной фиксации входных данных и ответов (прогнозов) запросов из конечных точек предоставления модели Mosaic AI и сохранения их в таблице Delta в каталоге Unity. Затем вы можете использовать все возможности платформы Databricks, такие как запросы SQL Databricks, записные книжки и мониторинг Lakehouse для мониторинга, отладки и оптимизации моделей.
Таблицы вывода можно включить в любую существующую или только что созданную конечную точку обслуживания модели, а затем автоматически записывать запросы к этой конечной точке в таблице в UC.
Ниже приведены некоторые распространенные приложения для таблиц вывода:
- Мониторинг качества данных и моделей. Вы можете постоянно отслеживать производительность модели и смещение данных с помощью мониторинга Lakehouse. Мониторинг Lakehouse автоматически создает панели мониторинга качества данных и моделей, которыми можно делиться с заинтересованными лицами. Кроме того, вы можете включить оповещения, чтобы узнать, когда необходимо переобучить модель на основе сдвигов входящих данных или уменьшения производительности модели.
- Отладка проблем в производственной среде. Таблицы вывода регистрируют такие данные, как коды состояния HTTP, время выполнения модели, JSON-запросы и ответы. Эти данные производительности можно использовать для отладки. Вы также можете использовать исторические данные в таблицах вывода для сравнения производительности модели по историческим запросам.
- Создайте обучающий корпус. Объединяя таблицы вывода с истинными метками, вы можете создать обучающий корпус, который можно использовать для повторного обучения или дообучения и улучшения модели. С помощью заданий Lakeflow можно настроить цикл непрерывной обратной связи и автоматизировать повторное обучение.
Требования
- В вашей рабочей области должен быть включён каталог Unity.
- Создатель и модификатор конечной точки должны иметь разрешение на управление конечной точкой. См. раздел Списки управления доступом.
- Создатель конечной точки и модификатора должны иметь следующие разрешения в каталоге Unity:
-
USE CATALOG
права доступа для указанного каталога. -
USE SCHEMA
права доступа на указанную схему. -
CREATE TABLE
разрешения в схеме.
-
Включение и отключение таблиц вывода
В этом разделе показано, как включить или отключить таблицы вывода с помощью пользовательского интерфейса Databricks. Вы также можете использовать API; см. инструкции в по включению таблиц вывода в конечных точках обслуживания моделей с помощью API.
Владелец таблиц вывода — это пользователь, создавший конечную точку. Все списки управления доступом (ACL) в таблице соответствуют стандартным разрешениям каталога Unity и могут быть изменены владельцем таблицы.
Предупреждение
Таблица вывода может стать поврежденной, если выполнить одно из следующих действий:
- Измените схему таблицы.
- Измените имя таблицы.
- Удалите таблицу.
- Потерять права доступа к каталогу или схеме Unity Catalog.
В этом случае индекс auto_capture_config
состояния конечной точки показывает состояние FAILED
для таблицы полезной нагрузки. В этом случае необходимо создать новую конечную точку для продолжения использования таблиц вывода.
Чтобы включить таблицы вывода во время создания конечной точки, выполните следующие действия.
Щелкните Serving в интерфейсе пользователя Mosaic AI от Databricks.
Нажмите кнопку "Создать конечную точку обслуживания".
Выберите "Включить таблицы вывода".
В раскрывающихся меню выберите нужный каталог и схему, в которой должна находиться таблица.
Имя таблицы по умолчанию —
<catalog>.<schema>.<endpoint-name>_payload
. При желании можно ввести настраиваемый префикс таблицы.Нажмите кнопку "Создать конечную точку обслуживания".
Вы также можете включить таблицы вывода в существующей конечной точке. Чтобы изменить существующую конфигурацию конечной точки, сделайте следующее:
- Перейдите на страницу конечной точки.
- Нажмите кнопку "Изменить конфигурацию".
- Выполните предыдущие инструкции, начиная с шага 3.
- По завершении щелкните Обновить конечную точку обслуживания.
Выполните следующие инструкции, чтобы отключить таблицы вывода:
- Перейдите на страницу конечной точки.
- Нажмите кнопку "Изменить конфигурацию".
- Нажмите кнопку "Включить таблицу вывода", чтобы удалить флажок.
- Когда вы будете удовлетворены спецификациями конечной точки, щелкните Обновить.
рабочий процесс . Мониторинг производительности модели с помощью таблиц вывода
Чтобы отслеживать производительность модели с помощью таблиц вывода, выполните следующие действия.
- Активируйте таблицы вывода на вашей конечной точке либо во время создания конечной точки, либо путем ее обновления.
- Запланируйте рабочий процесс для обработки данных JSON в таблице инференции, распаковав их в соответствии со схемой конечной точки.
- (Необязательно) Объедините распакованные запросы и ответы с истинными метками, чтобы вычислить метрики качества модели.
- Создайте монитор по полученной таблице Delta и обновите метрики.
Начальные записные книжки реализуют этот рабочий процесс.
Стартовый ноутбук для мониторинга таблицы инференции
Следующая записная книжка реализует описанные выше действия для распаковки запросов из таблицы вывода мониторинга Lakehouse. Записная книжка может запускаться по запросу или на регулярной основе с помощью заданий Lakeflow.
Стартовая записная книжка для анализа таблицы Lakehouse Monitoring.
Начальная записная книжка для мониторинга качества текста из конечных точек, обслуживающих LLM
Следующая записная книжка распаковывает запросы из таблицы вывода, вычисляет набор метрик оценки текста (например, удобочитаемость и токсичнысть), а также позволяет отслеживать эти метрики. Записная книжка может запускаться по запросу или на регулярной основе с помощью заданий Lakeflow.
Стартовый ноутбук для мониторинга вывода LLM в системе Lakehouse
Запрос и анализ результатов в таблице вывода
После подготовки обслуживаемых моделей все запросы, сделанные для моделей, регистрируются автоматически в таблицу вывода вместе с ответами. Таблицу можно просмотреть в пользовательском интерфейсе, запросить таблицу из DBSQL или записной книжки или запросить таблицу с помощью REST API.
Чтобы просмотреть таблицу в пользовательском интерфейсе: На странице конечной точки щелкните название таблицы интерференций, чтобы открыть таблицу в обозревателе каталога.
Чтобы выполнить запрос к таблице из DBSQL или записной книжки Databricks: Вы можете выполнить код, аналогичный приведенному ниже, чтобы запросить таблицу инференции.
SELECT * FROM <catalog>.<schema>.<payload_table>
Если вы включили таблицы вывода с помощью пользовательского интерфейса, payload_table
— это имя таблицы, назначенное при создании конечной точки. Если вы включили таблицы вывода данных с помощью API, payload_table
указывается в разделе state
ответа auto_capture_config
. Пример см. в статье Включение таблиц инференции на конечных точках обслуживания моделей с использованием API.
Примечание о производительности
После вызова конечной точки вы можете увидеть вызов, зарегистрированный в таблице вывода в течение часа после отправки запроса оценки. Кроме того, Azure Databricks гарантирует доставку журналов по крайней мере один раз, поэтому это возможно, хотя и маловероятно, что повторяющиеся журналы отправляются.
схема таблицы вывода данных каталога Unity
Каждый запрос и ответ, который записывается в таблицу вывода, записывается в таблицу Delta со следующей схемой:
Примечание.
При вызове конечной точки с пакетом входных данных весь пакет регистрируется как одна строка.
Имя столбца | Описание | Тип |
---|---|---|
databricks_request_id |
Идентификатор запроса, созданный Azure Databricks, прикреплён ко всем запросам на обслуживание модели. | СТРУНА |
client_request_id |
Необязательный идентификатор запроса, созданный клиентом, который можно указать в тексте запроса на обслуживание модели. См. раздел "Спецификации client_request_id " для получения дополнительной информации. |
СТРУНА |
date |
Дата UTC, по которой был получен запрос на обслуживание модели. | Дата |
timestamp_ms |
Временная метка в миллисекундах эпохи, когда был получен запрос на обслуживание модели. | ДЛИННЫЙ |
status_code |
Код состояния HTTP, возвращенный из модели. | ИНТ |
sampling_fraction |
Доля выборки, используемая в случае, если запрос был сокращен. Это значение составляет от 0 до 1, где 1 означает, что было включено 100% входящих запросов. | ДВОЙНОЙ |
execution_time_ms |
Время выполнения в миллисекундах, для которого модель выполнила вывод. Это не включает сетевые задержки и представляет только время, затраченное моделью на создание прогнозов. | ДЛИННЫЙ |
request |
Необработанный текст JSON запроса, отправленный в конечную точку обслуживания модели. | СТРУНА |
response |
Текст JSON необработанного ответа, возвращаемый конечной точкой обслуживания модели. | СТРУНА |
request_metadata |
Карта метаданных, связанных с конечной точкой обслуживания модели, связанной с запросом. Эта карта содержит имя конечной точки, имя модели и версию модели, используемую для конечной точки. | MAP<СТРОКА, СТРОКА> |
Укажите client_request_id
Поле client_request_id
является необязательным значением, которое пользователь может предоставить в тексте запроса на обслуживание модели. Это позволяет пользователю указать собственный идентификатор запроса, который отображается в последней таблице вывода в client_request_id
и может использоваться для присоединения запроса к другим таблицам, использующей client_request_id
, например присоединение метки конечной истины. Чтобы указать client_request_id
, добавьте его в качестве ключа верхнего уровня тела запроса. Если client_request_id
не указано, в строке, соответствующей запросу, значение отображается как null.
{
"client_request_id": "<user-provided-id>",
"dataframe_records": [
{
"sepal length (cm)": 5.1,
"sepal width (cm)": 3.5,
"petal length (cm)": 1.4,
"petal width (cm)": 0.2
},
{
"sepal length (cm)": 4.9,
"sepal width (cm)": 3,
"petal length (cm)": 1.4,
"petal width (cm)": 0.2
},
{
"sepal length (cm)": 4.7,
"sepal width (cm)": 3.2,
"petal length (cm)": 1.3,
"petal width (cm)": 0.2
}
]
}
Позже client_request_id
можно использовать для интеграции эталонных меток, если существуют другие таблицы с метками, связанными с client_request_id
.
Ограничения
- Управляемые клиентом ключи не поддерживаются.
- Для эндпоинтов, на которых размещаются базовые модели, таблицы для вывода данных поддерживаются только на указанных нагрузках пропускной способности.
- Брандмауэр Azure может привести к сбоям при создании таблицы delta каталога Unity, поэтому по умолчанию не поддерживается. Обратитесь к команде аккаунта Databricks, чтобы его включить.
- Если включены таблицы вывода, ограничение максимального параллелизма для всех обслуживаемых моделей в одной конечной точке равно 128. Обратитесь к группе учетных записей Azure Databricks, чтобы запросить увеличение этого ограничения.
- Если таблица вывода содержит более 500K файлов, дополнительные данные не регистрируются. Чтобы избежать превышения этого ограничения, выполните OPTIMIZE или настройте хранение в таблице, удалив старые данные. Чтобы проверить количество файлов в таблице, выполните
DESCRIBE DETAIL <catalog>.<schema>.<payload_table>
. - Доставка журналов выводов в настоящее время осуществляется в меру возможностей, но вы можете ожидать, что журналы будут доступны в течение 1 часа с момента запроса. Обратитесь к группе учетных записей Databricks, чтобы получить дополнительные сведения.
Общие ограничения конечных точек обслуживания модели см. в разделе "Ограничения службы моделей" и "Регионы".