Об этом проекте

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.