DataSphere Inference
DataSphere предоставляет инструменты для релиза сервисов, доступных для сторонних ресурсов. Вы можете развернуть для эксплуатации не только модель, обученную в DataSphere, но и создать при помощи тех же инструментов полноценный работающий сервис на базе Docker-образа.
Для публикации сервиса в DataSphere существуют специальные ресурсы — ноды и алиасы.
Ноды
Нода — это изолированная в собственном контуре группа специально созданных виртуальных машин (инстансов), между которыми распределяется вычислительная нагрузка. Инстансы ноды создаются с заранее определенным окружением и зафиксированным состоянием интерпретатора. В зависимости от потребностей вы можете выбрать различные конфигурации инстансов.
Важно
При развертывании и эксплуатации моделей вы платите за время работы каждого инстанса ноды — от момента запуска до момента удаления.
Если развернутый сервис вам больше не нужен, удалите ноду.
Для создания ноды укажите каталог облака вашей организации, в котором нода будет хранить логи.
Обращение к нодам происходит по API. Запросы API могут менять состояние интерпретатора ноды. Для возврата первоначального состояния потребуется пересоздать всю ноду.
Примечание
Максимальный размер запроса и ответа API ноды — 16 МБ.
Отправлять запросы в ноду могут пользователи и сервисные аккаунты с минимальной ролью в проекте datasphere.community-projects.developer. Сервисный аккаунт должен быть создан в каталоге, указанном при создании ноды.
Нода из модели
Ноды из моделей позволяют развернуть сохраненные в DataSphere модели в качестве сервиса и обращаться к нему по API. Ноду можно создать из следующих моделей:
Если вы хотите развернуть модель, которую не поддерживает сервер Triton, вы можете конвертировать
Чтобы создать ноду из модели, обученной не в DataSphere, загрузите модель из файла в переменную в ноутбуке, а затем создайте из этой переменной модель DataSphere.
Для развертывания нод из моделей DataSphere использует Triton Inference Server
Примечание
При развертывании моделей PyTorch DataSphere не может автоматически определить входные и выходные параметры.
Нода из произвольного Docker-образа
Ноды, развернутые из Docker-образа, размещенного в реестре контейнеров, будут полноценным рабочим сервисом. Docker-образ не обязательно должен содержать модель, обученную в DataSphere — вы можете создать любой образ и разместить его в удобном для вас реестре. О том, как загрузить Docker-образ в реестр Yandex Container Registry, см. Загрузить Docker-образ в реестр.
Примечание
Для использования Yandex Container Registry сервисному аккаунту проекта необходима роль container-registry.images.puller.
При создании ноды из Docker-образа вы сами определяете API создаваемой ноды, порт, который ваш сервис будет использовать, время соединения, формат собираемых метрик и другие параметры. После создания ноды DataSphere будет следить за ее состоянием, поддерживать работу инстансов и, при необходимости, масштабировать ноду в пределах заданного диапазона инстансов. Для инстансов доступны зоны доступности — ru-central1-a и ru-central1-b.
Для работы с нодой на основе большой модели или Docker-образа доступно подключение дополнительного диска размером от 10 до 4096 ГБ. Если у ноды есть несколько инстансов, диск будет создан для каждого из них.
Статусы ноды
Нода DataSphere может находиться в одном из статусов:
Healthy— количество инстансов со статусомHealthyв ноде равно минимальному числу требующихся инстансов;Unhealthy— количество инстансов со статусомHealthyв ноде меньше минимально допустимого;Created— нода только что создана;Suspended— работа ноды приостановлена;Deleting— нода в процессе удаления.
Статусы инстанса
Инстансы ноды могут иметь один из следующих статусов:
Healthy– инстанс здоров и доступен для балансировки;Unhealthy– с инстансом возникли проблемы, он исключен из балансировки;Created– для инстанса создана ВМ;Started– с ВМ инстанса установлена связь;Preparing– инстанс подготавливается к обслуживанию запросов;Deleting– инстанс находится в процессе удаления;Undefined– начальное состояние инстанса, ВМ еще не создана.
Алиас
Алиас — специальный ресурс для публикации и обновления сервиса, который позволяет незаметно для пользователей заменять ноды и обновлять развернутый сервис во время работы.
Создайте алиас и используйте его в качестве эндпоинта сервиса. Вы можете изменять связанные с ним ноды, балансировать нагрузку между ними и убирать устаревшие версии Docker-образа незаметно для пользователя.
Алиас может быть публичным или приватным. Публичный алиас доступен всем пользователям, авторизованным в Yandex Cloud. Приватный алиас доступен только аккаунтам, которые имеют следующие роли:
- Пользователи с минимальной ролью
datasphere.community-projects.developerв проекте. - Сервисные аккаунты с минимальной ролью
datasphere.community-projects.developerв проекте либо созданные в каталоге, который был указан при создании алиаса.