Inferentia
Inferentia — это семейство специализированных микропроцессоров (ASIC-ускорителей), разработанных компанией Amazon Web Services (AWS) для выполнения задач машинного обучения, в первую очередь для этапа логического вывода (инференса) нейронных сетей. Чипы Inferentia предназначены для использования в облачной инфраструктуре AWS с целью снижения задержек и стоимости обработки запросов к обученным моделям по сравнению с традиционными графическими процессорами (GPU) и центральными процессорами (CPU).
История разработки
Разработка Inferentia была анонсирована Amazon в 2018 году. Компания стремилась создать собственное аппаратное решение, которое бы оптимизировало стоимость и производительность инференса — этапа, на котором обученная модель обрабатывает новые данные (например, распознаёт изображения или переводит текст). До этого AWS, как и другие облачные провайдеры, полагалась на GPU сторонних производителей (в основном NVIDIA) и CPU.
Первый чип Inferentia был представлен в 2019 году. В 2021 году AWS анонсировала второе поколение — AWS Trainium, которое, в отличие от Inferentia, было оптимизировано не только для инференса, но и для обучения нейронных сетей. В 2023 году было представлено третье поколение — AWS Trainium2, а также обновлённая версия Inferentia под названием AWS Inferentia2, которая стала доступна в составе инстансов Amazon EC2.
Архитектура и устройство
Inferentia представляет собой нейронный процессор (NPU), спроектированный специально для высокопроизводительного матричного умножения и свёрток — основных операций в глубоком обучении. Ключевые особенности архитектуры:
- Матричное ядро: Каждый чип содержит несколько ядер, каждое из которых включает в себя вычислительные блоки для операций с плавающей запятой (FP16, BF16, INT8) и целочисленных операций.
- Высокая пропускная способность памяти: Чипы используют высокоскоростную память HBM (High Bandwidth Memory) для быстрого доступа к весам модели и промежуточным данным.
- Оптимизация для инференса: В отличие от GPU, которые универсальны, Inferentia имеет фиксированные блоки для операций, типичных для инференса (например, активации, пулинга, нормализации), что снижает накладные расходы.
- Масштабируемость: Чипы объединяются в кластеры через высокоскоростную шину, что позволяет запускать модели, размер которых превышает ёмкость одного чипа.
Поколения
AWS Inferentia (первое поколение)
- Анонс: 2018 год, доступность — 2019 год.
- Производительность: До 2000 TOPS (триллионов операций в секунду) для операций INT8.
- Применение: Инстансы Amazon EC2 типа Inf1. Использовались для задач компьютерного зрения, обработки естественного языка (NLP) и рекомендательных систем.
- Особенности: Поддержка фреймворков TensorFlow, PyTorch, MXNet и ONNX.
AWS Inferentia2 (второе поколение)
- Анонс: 2021 год, доступность — 2023 год.
- Производительность: В 4 раза выше, чем у первого поколения, по заявлению AWS. Поддержка типов FP32, FP16, BF16, INT8 и INT4.
- Применение: Инстансы типа Inf2. Оптимизированы для больших языковых моделей (LLM), генеративных нейросетей и моделей с тысячами параметров.
- Особенности: Улучшенная поддержка разреженных операций и динамического вывода.
AWS Trainium (специализированный чип для обучения)
Хотя Trainium не является прямым наследником Inferentia, он входит в ту же линейку специализированных чипов AWS. Trainium предназначен для обучения моделей, а Inferentia — для инференса. В 2024 году AWS анонсировала Trainium2, который используется в суперкомпьютерных кластерах для обучения больших моделей.
Применение
Чипы Inferentia используются в облачной платформе AWS для выполнения задач, требующих низкой задержки и высокой пропускной способности при обработке запросов к нейросетям. Основные сценарии:
- Компьютерное зрение: Распознавание объектов, классификация изображений, сегментация.
- Обработка естественного языка: Машинный перевод, анализ тональности, генерация текста.
- Рекомендательные системы: Персонализация контента и товаров.
- Генеративные модели: Запуск моделей типа GPT, Stable Diffusion и других.
- Автономные системы: Обработка данных с датчиков в реальном времени.
Преимущества и недостатки
Преимущества
- Низкая стоимость: По сравнению с GPU, стоимость инференса на Inferentia может быть ниже на 40–50% для типовых задач, по данным AWS.
- Низкая задержка: Специализированная архитектура снижает время обработки одного запроса.
- Масштабируемость: Возможность объединения нескольких чипов для работы с большими моделями.
- Интеграция с AWS: Полная совместимость с сервисами Amazon SageMaker, EKS, ECS и другими.
Недостатки
- Ограниченная универсальность: Чипы оптимизированы только для инференса; для обучения или других вычислительных задач они не подходят.
- Зависимость от экосистемы AWS: Inferentia работает только в облаке AWS; локальное использование невозможно.
- Сложность разработки: Требуется адаптация моделей под архитектуру Inferentia с использованием специализированных инструментов (AWS Neuron SDK).
- Ограниченная поддержка фреймворков: Не все модели и операторы поддерживаются; для некоторых требуется ручная оптимизация.
Конкуренты
Основными конкурентами Inferentia на рынке аппаратных ускорителей для инференса являются:
- NVIDIA GPU: Графические процессоры (например, A100, H100) — универсальное решение для обучения и инференса, но с более высокой стоимостью.
- Google TPU (Tensor Processing Unit): Специализированные чипы Google, используемые в облаке Google Cloud.
- Intel Habana Gaudi: Процессоры для обучения и инференса, доступные в облаке Intel и AWS (в виде инстансов DL1).
- AMD Instinct: GPU для высокопроизводительных вычислений и машинного обучения.
- Apple Neural Engine: Специализированный блок в процессорах Apple для локального инференса на устройствах.
Критика
Основные критические замечания в адрес Inferentia связаны с его узкой специализацией и привязкой к экосистеме AWS. Пользователи отмечают, что миграция моделей с GPU на Inferentia требует дополнительных усилий и не всегда оправдана для небольших проектов. Кроме того, производительность на некоторых типах операций (например, рекуррентные нейронные сети) может быть ниже, чем на универсальных GPU.
Интересные факты
- Название «Inferentia» происходит от латинского слова «inferentia» (умозаключение, вывод), что отражает основное назначение чипа — логический вывод нейронных сетей.
- Первое поколение чипов Inferentia было произведено по техпроцессу 7 нм, второе — по более современному 5 нм.
- AWS использует Inferentia для собственных сервисов, таких как Amazon Alexa, Amazon Rekognition и Amazon Translate, что позволило компании снизить затраты на обработку запросов.
Источники
- Официальная документация AWS: «AWS Inferentia — Amazon Web Services»
- Презентация AWS re:Invent 2018: «Introducing AWS Inferentia»
- Статья на сайте TechCrunch: «Amazon announces Inferentia, a custom chip for machine learning inference»
- Блог AWS: «AWS Inferentia2 — The next generation of inference chips»
- Отчёт аналитической компании Gartner: «Market Guide for AI Accelerators»
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →