Elastic Inference
Elastic Inference — это технология облачных вычислений, разработанная компанией Amazon Web Services (AWS), предназначенная для ускорения выполнения задач машинного обучения (ML) и глубокого обучения (DL) путём подключения специализированных аппаратных ускорителей к вычислительным экземплярам общего назначения. Elastic Inference позволяет снизить затраты на инференс (вывод модели) за счёт использования дешёвых вычислительных ресурсов для обработки данных и более дорогих ускорителей только для выполнения непосредственно операций вывода, без необходимости приобретать и поддерживать дорогостоящие графические процессоры (GPU) на постоянной основе.
История
Технология Elastic Inference была анонсирована компанией AWS в 2018 году на конференции re:Invent. Первоначально она поддерживала только фреймворки TensorFlow и Apache MXNet. В 2019 году поддержка была расширена на PyTorch и ONNX. В 2020 году AWS представила Elastic Inference Accelerator (EI) второго поколения, обеспечивающий более высокую производительность при тех же затратах. В 2021 году компания объявила о прекращении поддержки Elastic Inference для новых клиентов, сосредоточив усилия на других сервисах инференса, таких как Amazon SageMaker и AWS Inferentia. Тем не менее, существующие пользователи могли продолжать использовать технологию до полного прекращения поддержки в 2022 году.
Архитектура и принцип работы
Elastic Inference представляет собой модель «ускоритель как услуга» (accelerator as a service). В отличие от традиционного подхода, где GPU или TPU устанавливаются непосредственно на вычислительном узле, Elastic Inference использует сетевую архитектуру, при которой ускоритель подключается к экземпляру Amazon EC2 или к конечной точке Amazon SageMaker через высокоскоростное сетевое соединение.
Основные компоненты архитектуры:
- Вычислительный экземпляр — стандартный экземпляр EC2 (например, семейств C5, M5, R5) или SageMaker Notebook, который выполняет предобработку данных, загрузку модели и управление процессом.
- Ускоритель Elastic Inference — специализированное аппаратное обеспечение, реализованное на базе FPGA (программируемые вентильные матрицы) или ASIC (специализированные интегральные схемы), которое выполняет только операции прямого распространения (forward pass) нейронной сети.
- Сетевой интерфейс — протокол, обеспечивающий передачу данных между экземпляром и ускорителем с минимальной задержкой (обычно менее 1 мс).
Процесс инференса с использованием Elastic Inference выглядит следующим образом:
- Пользователь запускает вычислительный экземпляр и подключает к нему ускоритель необходимого размера.
- Модель загружается в память ускорителя.
- Входные данные передаются на ускоритель для выполнения операций вывода.
- Результат возвращается обратно на вычислительный экземпляр.
Размеры ускорителей
AWS предлагала несколько размеров ускорителей Elastic Inference, которые различались производительностью и стоимостью:
| Размер ускорителя | Производительность (TFLOPS) | Объём памяти (ГБ) | Примерная стоимость ($/час) |
|---|---|---|---|
| eia1.medium | 1 | 1 | 0.13 |
| eia1.large | 2 | 2 | 0.26 |
| eia1.xlarge | 4 | 4 | 0.52 |
| eia2.medium | 2 | 2 | 0.15 |
| eia2.large | 4 | 4 | 0.30 |
| eia2.xlarge | 8 | 8 | 0.60 |
Преимущества и недостатки
Преимущества
- Экономия затрат — основное преимущество Elastic Inference. Пользователи платят только за используемый ускоритель почасово, а не за полный GPU-экземпляр, который может быть дороже в 3–5 раз при той же производительности инференса.
- Гибкость — возможность подключать ускорители к различным типам вычислительных экземпляров, включая те, которые не поддерживают установку GPU (например, семейства с процессорами Intel Xeon без дискретной графики).
- Простота интеграции — технология поддерживает популярные фреймворки (TensorFlow, PyTorch, MXNet, ONNX) и требует минимальных изменений в коде (обычно достаточно указать тип ускорителя в конфигурации).
- Масштабируемость — возможность динамически добавлять или удалять ускорители в зависимости от нагрузки, что особенно полезно для приложений с переменной интенсивностью запросов.
Недостатки
- Задержка сети — поскольку ускоритель подключается через сеть, возникает дополнительная задержка (латентность), которая может быть критичной для приложений реального времени (например, автономное вождение или медицинская диагностика).
- Ограниченная поддержка моделей — технология оптимизирована для моделей среднего размера (до нескольких гигабайт). Крупные модели (например, GPT-3 с сотнями гигабайт) не помещаются в память ускорителя.
- Прекращение поддержки — AWS объявила о закрытии сервиса для новых клиентов, что ограничивает его долгосрочную применимость.
- Зависимость от фреймворков — не все операции нейронных сетей поддерживаются; требуется проверка совместимости модели с конкретным фреймворком.
Применение
Elastic Inference использовалась в следующих сценариях:
- Инференс в реальном времени — обработка запросов от веб-приложений (например, рекомендательные системы, классификация изображений, обработка естественного языка).
- Пакетная обработка — выполнение задач инференса на больших наборах данных, где задержка не критична (например, анализ исторических данных, генерация отчётов).
- Обучение с подкреплением — в средах, где требуется быстрое выполнение симуляций с использованием обученных моделей.
- Edge-вычисления — в сочетании с AWS Greengrass для развёртывания моделей на периферийных устройствах с ограниченными вычислительными ресурсами.
Альтернативы
После прекращения поддержки Elastic Inference пользователи AWS могут использовать следующие альтернативы:
- AWS Inferentia — специализированный чип для инференса, доступный через экземпляры Amazon EC2 Inf1 и Inf2.
- Amazon SageMaker — полностью управляемый сервис для обучения и развёртывания моделей, поддерживающий автоматическое масштабирование и оптимизацию затрат.
- GPU-экземпляры EC2 — традиционные экземпляры с GPU (например, P3, P4, G4, G5), которые обеспечивают максимальную производительность, но требуют больших затрат.
- AWS Lambda с контейнерами — для бессерверного инференса с использованием контейнеров Docker.
Критика
Основная критика Elastic Inference связана с её сетевым характером. Исследователи и инженеры отмечали, что задержка, вносимая сетевым соединением, может нивелировать преимущества аппаратного ускорения для задач, требующих минимального времени отклика. Кроме того, ограниченный объём памяти ускорителей (максимум 8 ГБ) делал технологию непригодной для современных крупных моделей, таких как BERT-large или GPT-2. Некоторые пользователи также жаловались на сложность настройки и отладки, особенно при использовании нестандартных архитектур нейронных сетей.
Источники
- Документация Amazon Web Services: «Elastic Inference» (2018–2022).
- Презентация AWS re:Invent 2018: «Introducing Amazon Elastic Inference».
- Статья на портале InfoQ: «AWS Elastic Inference: A Deep Dive» (2019).
- Блог компании AWS: «New – Amazon Elastic Inference Accelerator (EI) Second Generation» (2020).
- Отчёт Gartner: «Magic Quadrant for Cloud AI Developer Services» (2021).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →