Во всех отраслях модели машинного обучения (ML) становятся все более глубокими, рабочие процессы усложняются, а рабочие нагрузки выполняются в больших масштабах. Значительные усилия и ресурсы направлены на то, чтобы сделать эти модели более точными, поскольку эти инвестиции напрямую приводят к улучшению продуктов и опыта. С другой стороны, обеспечение эффективной работы этих моделей в производственной среде — нетривиальная задача, которую часто упускают из виду, несмотря на то, что она является ключом к достижению целей по производительности и бюджету. В этом посте мы расскажем, как Exafunction и Вывод AWS работать вместе, чтобы обеспечить простое и экономичное развертывание моделей машинного обучения в производственной среде.
Экзафункция — это стартап, нацеленный на то, чтобы помочь компаниям максимально эффективно выполнять машинное обучение в масштабе. Одним из их продуктов является ЭксаДеплой, простое в использовании решение SaaS для обслуживания рабочих нагрузок машинного обучения в масштабе. ExaDeploy эффективно координирует рабочие нагрузки машинного обучения для смешанных ресурсов (ЦП и аппаратных ускорителей) для максимального использования ресурсов. Он также заботится об автоматическом масштабировании, совместном размещении вычислений, проблемах с сетью, отказоустойчивости и многом другом, чтобы обеспечить эффективное и надежное развертывание. На базе AWS Inferentia Инстансы Amazon EC2 Inf1 специально созданы для обеспечения наименьшей стоимости вывода в облаке. ExaDeploy теперь поддерживает экземпляры Inf1, что позволяет пользователям экономить как на аппаратном уровне за счет ускорителей, так и на программном обеспечении за счет оптимизированной виртуализации ресурсов и оркестровки в масштабе.
Обзор решения
Как ExaDeploy помогает повысить эффективность развертывания
Чтобы обеспечить эффективное использование вычислительных ресурсов, необходимо учитывать правильное распределение ресурсов, автоматическое масштабирование, совместное размещение вычислений, управление сетевыми затратами и задержками, отказоустойчивость, управление версиями и воспроизводимость и многое другое. В масштабе любая неэффективность существенно влияет на затраты и задержки, и многие крупные компании справились с этой неэффективностью путем создания внутренних команд и опыта. Однако большинству компаний нецелесообразно брать на себя эти финансовые и организационные накладные расходы на создание универсального программного обеспечения, которое не является желаемой основной компетенцией компании.
ExaDeploy предназначен для решения этих проблем с эффективностью развертывания, в том числе тех, которые наблюдаются в некоторых из наиболее сложных рабочих нагрузок, таких как приложения для автономных транспортных средств и обработки естественного языка (NLP). При выполнении некоторых больших пакетных рабочих нагрузок машинного обучения ExaDeploy сократил расходы более чем на 85 %, не жертвуя задержкой или точностью, а время интеграции составляет всего один инженерно-день. Доказано, что ExaDeploy автоматически масштабируется и управляет тысячами одновременных экземпляров ресурсов аппаратного ускорителя без какого-либо снижения производительности системы.
Ключевые особенности ExaDeploy включают в себя:
- Работает в вашем облаке: ни одна из ваших моделей, входов или выходов никогда не покидает вашу частную сеть. Продолжайте использовать скидки вашего поставщика облачных услуг.
- Общие ресурсы ускорителя: ExaDeploy оптимизирует используемые ускорители, позволяя нескольким моделям или рабочим нагрузкам совместно использовать ресурсы ускорителя. Он также может определять, развертывается ли одна и та же модель несколькими рабочими нагрузками, а затем совместно использовать модель для этих рабочих нагрузок, тем самым оптимизируя используемый ускоритель. Его возможности автоматической перебалансировки и слива узлов максимизируют использование и минимизируют затраты.
- Масштабируемая бессерверная модель развертывания: ExaDeploy автоматически масштабируется в зависимости от насыщения ресурсов ускорителя. Динамическое масштабирование до 0 или до тысяч ресурсов.
- Поддержка различных типов вычислений: вы можете выгрузить модели глубокого обучения из всех основных платформ машинного обучения, а также из произвольного кода C++, ядер CUDA, пользовательских операций и функций Python.
- Регистрация динамической модели и управление версиями: новые модели или версии моделей могут быть зарегистрированы и запущены без перестройки или повторного развертывания системы.
- Точечное выполнение: клиенты подключаются напрямую к удаленным ресурсам ускорителя, что обеспечивает низкую задержку и высокую пропускную способность. Они даже могут хранить состояние удаленно.
- Асинхронное выполнение: ExaDeploy поддерживает асинхронное выполнение моделей, что позволяет клиентам распараллеливать локальные вычисления с работой удаленных ресурсов ускорителя.
- Отказоустойчивые удаленные конвейеры: ExaDeploy позволяет клиентам динамически объединять удаленные вычисления (модели, предварительная обработка и т. д.) в конвейеры с гарантией отказоустойчивости. Система ExaDeploy обрабатывает сбои модулей или узлов с помощью автоматического восстановления и воспроизведения, поэтому разработчикам никогда не приходится думать об обеспечении отказоустойчивости.
- Готовый мониторинг: ExaDeploy предоставляет метрики Prometheus и информационные панели Grafana для визуализации использования ресурсов ускорителя и других системных метрик.
ExaDeploy поддерживает AWS Inferentia
Инстансы Amazon EC2 Inf1 на базе AWS Inferentia предназначены для специальных рабочих нагрузок для глубокого обучения. Эти экземпляры обеспечивают до 2.3-кратного увеличения пропускной способности и до 70% экономии средств по сравнению с текущим поколением экземпляров логических выводов на GPU.
ExaDeploy теперь поддерживает AWS Inferentia, и вместе они позволяют повысить производительность и сократить расходы, достигаемые благодаря специально разработанному аппаратному ускорению и оптимизированному управлению ресурсами в масштабе. Давайте посмотрим на совместные преимущества ExaDeploy и AWS Inferentia, рассмотрев очень распространенную современную рабочую нагрузку машинного обучения: пакетные, смешанные рабочие нагрузки.
Характеристики гипотетической рабочей нагрузки:
- 15 мс предварительной/постпроцессной обработки только для ЦП
- Вывод модели (15 мс на GPU, 5 мс на AWS Inferentia)
- 10 клиентов, каждый делает запрос каждые 20 мс
- Приблизительная относительная стоимость CPU:Inferentia:GPU составляет 1:2:4 (на основе цен Amazon EC2 On-Demand для c5.xlarge, inf1.xlarge и g4dn.xlarge).
В таблице ниже показано, как формируется каждый из вариантов:
Установка | Необходимые ресурсы | Цена | Задержка |
GPU без ExaDeploy | 2 ЦП, 2 ГП на клиент (всего 20 ЦП, 20 ГП) | 100 | 30 мс |
GPU с ExaDeploy | 8 GPU совместно используются 10 клиентами, 1 CPU на клиент | 42 | 30 мс |
AWS Inferentia без ExaDeploy | 1 ЦП, 1 AWS Inferentia на клиент (всего 10 ЦП, 10 Inferentia) | 30 | 20 мс |
AWS Inferentia с ExaDeploy | 3 AWS Inferentia совместно используются 10 клиентами, 1 ЦП на клиент | 16 | 20 мс |
ExaDeploy на примере AWS Inferentia
В этом разделе мы рассмотрим шаги по настройке ExaDeploy на примере с узлами inf1 в модели BERT PyTorch. Мы увидели среднюю пропускную способность 1140 выборок в секунду для базовой модели bert, что демонстрирует, что ExaDeploy практически не вносил накладные расходы для этой единственной модели и сценария с одной рабочей нагрузкой.
Шаг 1: настроить Амазон Эластик Кубернетес Сервис (Amazon EKS) кластер
Кластер Amazon EKS можно создать с помощью нашего Модуль Terraform AWS. Для нашего примера мы использовали inf1.xlarge
для AWS Inferentia.
Шаг 2: Настроить ExaDepoy
Второй шаг — настроить ExaDeploy. В целом развертывание ExaDeploy на инстансах inf1 не вызывает затруднений. Установка в основном выполняется той же процедурой, что и для экземпляров графического процессора (GPU). Основное отличие заключается в изменении тега модели с GPU на AWS Inferentia и повторной компиляции модели. Например, для перехода с экземпляров g4dn на экземпляры inf1 с использованием интерфейсов прикладного программирования (API) ExaDeploy потребовалось изменить всего около 10 строк кода.
- Одним из простых способов является использование Exafunction's Модуль Terraform AWS Kubernetes or диаграмма руля. Они развертывают основные компоненты ExaDeploy для работы в кластере Amazon EKS.
- Скомпилируйте модель в сериализованный формат (например, TorchScript, сохраненные модели TF, ONNX и т. д.). Для AWS Inferentia мы следовали этот учебник.
- Зарегистрируйте скомпилированную модель в репозитории модулей ExaDeploy.
- Подготовьте данные для модели (т.е. не
ExaDeploy-specific
).
- Запустите модель удаленно из клиента.
ExaDeploy и AWS Inferentia: лучше вместе
AWS Inferentia расширяет границы пропускной способности для вывода моделей и обеспечивает самую низкую стоимость вывода в облаке. При этом компаниям требуется надлежащее согласование, чтобы воспользоваться преимуществами соотношения цены и качества Inf1 в масштабе. Обслуживание машинного обучения — это сложная проблема, которая, если ее решать собственными силами, требует опыта, не связанного с целями компании, и часто приводит к задержке сроков выпуска продукта. ExaDeploy, программное решение Exafunction для развертывания машинного обучения, стало лидером отрасли. Он обслуживает даже самые сложные рабочие нагрузки машинного обучения, обеспечивая плавную интеграцию и поддержку со стороны команды мирового класса. Вместе ExaDeploy и AWS Inferentia обеспечивают повышение производительности и экономию средств для рабочих нагрузок логических выводов в масштабе.
Заключение
В этом посте мы показали, как Exafunction поддерживает AWS Inferentia для машинного обучения производительности. Для получения дополнительной информации о создании приложений с помощью Exafunction посетите веб-сайт Экзафункция. Рекомендации по созданию рабочих нагрузок глубокого обучения на Inf1 см. на странице Инстансы Amazon EC2 Inf1.
Об авторах
Николас Цзян, инженер-программист, Exafunction
Джонатан Ма, инженер-программист, Exafunction
Прем Наир, инженер-программист, Exafunction
Аншул Рамачандран, инженер-программист, Exafunction
Шрути Копаркар, старший менеджер по маркетингу продуктов, AWS
- AI
- ай искусство
- генератор искусств ай
- искусственный интеллект
- искусственный интеллект
- сертификация искусственного интеллекта
- искусственный интеллект в банковском деле
- робот с искусственным интеллектом
- роботы с искусственным интеллектом
- программное обеспечение искусственного интеллекта
- Вывод AWS
- Машинное обучение AWS
- блокчейн
- конференция по блокчейну
- Coingenius
- разговорный искусственный интеллект
- криптоконференция ИИ
- Решения для клиентов
- дал-и
- глубокое обучение
- google ai
- обучение с помощью машины
- Платон
- Платон Ай
- Платон Интеллектуальные данные
- Платон игра
- ПлатонДанные
- платогейминг
- масштаб ай
- синтаксис
- зефирнет