Аппаратные ускорители ИИ (GPU, NPU, TPU)
Кратко
Ускоритель ИИ (нейропроцессор, NPU) — специализированный процессор для нейросетевых вычислений: он выполняет матричные операции с пониженной точностью в тысячах параллельных блоков и за счёт этого выигрывает у универсального CPU в скорости или энергопотреблении. К этому классу относятся GPU с тензорными ядрами, облачные TPU Google и компактные NPU в смартфонах и бортовых компьютерах.
Для чего используется
- обучение нейросетей: недели вычислений на кластерах GPU/TPU;
- инференс в облаке: исполнение обученных моделей под нагрузкой дата-центра;
- ИИ на устройстве: NPU в смартфонах и ноутбуках;
- бортовые вычисления роботов и БПЛА — запуск детекции и сегментации в реальном времени.
Как работает
Нейросеть — это в основном умножения матриц, а они идеально параллелятся. Универсальный CPU оптимизирован под последовательный код с ветвлениями; ускорители ИИ жертвуют универсальностью ради тысяч одинаковых арифметических блоков.
GPU. Массово-параллельная архитектура графических процессоров оказалась готовым «двигателем» для нейросетей: именно эффективная GPU-реализация свёрток сделала возможной AlexNet (2012), с которой начался бум глубокого обучения. Современные GPU NVIDIA и AMD включают выделенные блоки матричного умножения пониженной точности; у NVIDIA это Tensor Cores — ядра смешанной точности (mixed precision), поддерживающие форматы от FP64 до INT8 и 4-битных (данные производителя).
TPU. Google пошла дальше и сделала заказную микросхему (ASIC) только под нейросети. TPU первого поколения (в дата-центрах с 2015) — матричный блок из 65 536 восьмибитных умножителей-накопителей, пик 92 TOPS (триллионов операций в секунду), 28 МиБ памяти на кристалле. На реальной инференс-нагрузке Google (MLP, CNN, LSTM) TPU был в среднем в 15–30 раз быстрее современных ему серверных CPU (Intel Haswell) и GPU (NVIDIA K80), а по энергоэффективности (TOPS/Вт) — выше в 30–80 раз. Важный аргумент: детерминированное исполнение TPU лучше отвечает жёстким требованиям к задержке, чем кеши и внеочередное исполнение универсальных процессоров.
Общие приёмы. Ускорители опираются на арифметику пониженной точности (INT4, INT8, FP8, FP16 — потому модели и квантуют), вычисления в памяти и пространственные архитектуры. Производительность принято мерить в TOPS.
Аналогия: CPU — универсальный мастер с одним верстаком, GPU — цех из тысяч одинаковых станков, TPU — конвейер, спроектированный под одну операцию.
Основные компоненты
- матричные блоки — систолические массивы, тензорные ядра;
- память на кристалле и её пропускная способность — часто узкое место;
- форматы чисел — FP64/TF32/BF16/FP16/FP8/INT8/INT4;
- программный стек — компиляторы и рантаймы, которым модель должна соответствовать (например, Edge TPU принимает только int8-модели).
Примеры
- GPU NVIDIA с Tensor Cores — основное железо обучения; поколения Blackwell/Rubin поддерживают 4-битный формат NVFP4 (данные производителя).
- Google TPU (с 2015) — облачный ASIC; характеристики первого поколения опубликованы в статье ISCA 2017.
- NPU в потребительских устройствах — Apple Neural Engine (с 2017), NPU в мобильных чипах Qualcomm, Samsung, Huawei, в CPU Intel (Meteor Lake) и AMD (Ryzen AI).
Связанные темы
- Оптимизация нейросетей: квантование и дистилляция
- Глубокое обучение
- Нейронные сети
- Свёрточные нейросети (CNN)
Источники
- Wikipedia — AI accelerator — определение NPU, роль GPU, примеры, типовые приёмы.
- In-Datacenter Performance Analysis of a TPU (Jouppi et al., ISCA 2017) — устройство и измеренные характеристики TPU v1.
- NVIDIA — Tensor Cores — форматы точности тензорных ядер (маркетинговый материал, цифры производительности не использованы).
- AlexNet (Krizhevsky et al., NIPS 2012) — роль GPU в прорыве глубокого обучения.
- Google LiteRT — Model optimization — требование int8 для Edge TPU.