Об этом проекте
TensorFlow Serving — это система обслуживания моделей машинного обучения, предназначенная для производственных сред. Она сосредоточена на этапе вывода: принимает обученные модели, управляет их жизненным циклом и предоставляет клиентам версионированный доступ через высокопроизводительную таблицу поиска с подсчетом ссылок. Хотя она из коробки интегрируется с моделями TensorFlow, ее архитектура допускает расширение для других типов моделей и данных.
Ключевые возможности, описанные в README, включают:
- Одновременное обслуживание нескольких моделей или нескольких версий одной модели.
- Предоставление конечных точек вывода как через gRPC, так и через HTTP.
- Развертывание новых версий моделей без изменения клиентского кода.
- Поддержка канареечного тестирования новых версий и A/B-тестирования экспериментальных моделей.
- Минимальная задержка благодаря низконакладной реализации.
- Планировщик, который группирует отдельные запросы на вывод в пакеты для совместного выполнения на GPU, с настраиваемым контролем задержки.
- Поддержка множества сервируемых объектов: модели TensorFlow, эмбеддинги, словари, преобразования признаков и даже модели машинного обучения, не основанные на TensorFlow.
В README приведен пример быстрого старта с использованием Docker: загрузите образ tensorflow/serving, клонируйте репозиторий, запустите контейнер с демонстрационной моделью и отправьте запрос к REST API с помощью curl. Также есть ссылка на полное руководство по обучению и обслуживанию на официальном сайте документации TensorFlow.
Документация охватывает варианты настройки, включая Docker (рекомендуется), установку без Docker, сборку из исходного кода с Docker и развертывание на Kubernetes. В руководствах по использованию объясняется, как экспортировать модель TensorFlow как SavedModel, а затем настроить и использовать TensorFlow Serving. Дополнительные руководства охватывают производительность, профилирование TensorBoard, REST API, определение gRPC API, прогрев SavedModel, SignatureDefs и обслуживание моделей с пользовательскими операциями.
Для расширения в README отмечается, что архитектура является высокомодульной, что позволяет использовать такие части, как пакетное планирование, по отдельности или расширять их для новых случаев использования. Указаны ссылки на документацию по архитектуре, справочник C++ API и руководства по созданию нового типа сервируемого объекта или пользовательского источника версий сервируемых объектов.
Руководства по внесению вклада доступны в репозитории, а для получения дополнительной информации упоминается официальный сайт TensorFlow.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.