Самый простой способ обслуживания моделей AI/ML в производстве
Напишите один раз, запустите где угодно: упаковывайте и тестируйте код модели, веса и зависимости с помощью сервера моделей, который ведет себя одинаково при разработке и производстве.
Быстрый цикл разработки: реализуйте свою модель с быстрой обратной связью от сервера перезагрузки в реальном времени и пропустите настройку Docker и Kubernetes с помощью среды обслуживания модели с батарейным питанием.
Поддержка всех платформ Python : от transformers
и diffusers
до PyTorch
и TensorFlow
, TensorRT
и Triton
, Truss поддерживает модели, созданные и обслуживаемые с помощью любой платформы.
См. «Фермы», чтобы увидеть популярные модели, в том числе:
Лама 2 7Б (13Б) (70Б)
Стабильная диффузия XL
Шепот
и еще десятки примеров.
Установите ферму с помощью:
pip install --upgrade truss
В качестве быстрого примера мы упакуем конвейер классификации текста из пакета transformers
с открытым исходным кодом.
Для начала создайте ферму с помощью следующей команды терминала:
текстовая классификация инициализации фермы
При появлении запроса дайте ферме имя, например Text classification
.
Затем перейдите во вновь созданный каталог:
текстовая классификация компакт-диска
Один из двух основных файлов в ферме — model/model.py
. В этом файле вы пишете класс Model
: интерфейс между моделью ML, которую вы упаковываете, и сервером модели, на котором вы ее запускаете.
В классе Model
необходимо реализовать две функции-члена:
load()
загружает модель на сервер модели. Он запускается ровно один раз при развертывании или исправлении сервера модели.
predict()
обрабатывает вывод модели. Он запускается каждый раз при вызове сервера модели.
Вот полный model/model.py
для модели классификации текста:
из трансформаторов импорт конвейеркласса Модель:def __init__(self, **kwargs):self._model = Nonedef load(self):self._model = конвейер("классификация текста")def предсказать(self, model_input):return self._model (модель_вход)
Другой важный файл в Truss — это config.yaml
, который настраивает среду обслуживания модели. Полный список параметров конфигурации см. в справочнике по конфигурации.
Модель конвейера основана на Transformers и PyTorch. Эти зависимости должны быть указаны в конфигурации Truss.
В config.yaml
найдите requirements
к строке. Замените пустой список на:
требования: - факел==2.0.1 - трансформаторы==4.30.0
Никакой другой конфигурации не требуется.
Truss обслуживается компанией Baseten, которая предоставляет инфраструктуру для запуска моделей машинного обучения в производстве. Мы будем использовать Baseten в качестве удаленного хоста для вашей модели.
Скоро появятся и другие пульты, начиная с AWS SageMaker.
Чтобы настроить пульт Baseten, вам понадобится ключ API Baseten. Если у вас нет учетной записи Baseten, не беспокойтесь, просто зарегистрируйте учетную запись, и вам будет выдано множество бесплатных кредитов, чтобы начать работу.
truss push
Имея ключ API Baseten, готовый к вставке при появлении соответствующего запроса, вы можете развернуть свою модель:
толчок фермы
Вы можете отслеживать развертывание своей модели с панели управления модели на Baseten.
После завершения развертывания модели вы можете вызвать ее из терминала.
Призыв
truss Predict -d '"Ферма потрясающая!"'
Ответ
[ {"label": "ПОЛОЖИТЕЛЬНО", "оценка": 0,999873161315918 } ]
Truss поддерживается Baseten и создается в сотрудничестве с инженерами ML по всему миру. Особая благодарность Стефану Ауэрхану @ Stability.ai и Даниэлю Сарфати @ Salad Technologies за их вклад.
Мы с энтузиазмом приветствуем вклады в соответствии с руководством и кодексом поведения наших авторов.