Graphcore Intelligence Processing Unit
Graphcore Intelligence Processing Unit (IPU) — это специализированный микропроцессор, разработанный британской компанией Graphcore для ускорения вычислений в области искусственного интеллекта (ИИ) и машинного обучения. В отличие от традиционных графических процессоров (GPU) и центральных процессоров (CPU), архитектура IPU изначально спроектирована для параллельной обработки графов вычислений, характерных для нейронных сетей. Устройство ориентировано на выполнение как обучения, так и инференса (вывода) моделей ИИ, особенно в задачах, требующих высокой производительности при работе с разреженными данными и большими объёмами памяти.
История создания
Компания Graphcore была основана в 2016 году в Бристоле (Великобритания) предпринимателями Саймоном Ноулзом и Найджелом Туном. Разработка IPU началась в ответ на растущие потребности индустрии ИИ в вычислительных ресурсах, которые существующие GPU не могли эффективно удовлетворить из-за своей архитектуры, изначально заточенной под рендеринг графики.
Первое поколение IPU, получившее название GC2 (или Colossus), было анонсировано в 2018 году. Чип содержал 1216 процессорных ядер, каждое из которых могло одновременно выполнять до шести потоков инструкций, и 300 МБ встроенной статической памяти (SRAM). Производительность чипа заявлялась на уровне 125 терафлопс (FP16) при энергопотреблении около 150 Вт.
Второе поколение, Bow IPU, было представлено в 2022 году. Оно использовало технологию 7-нм техпроцесса и технологию упаковки чипов Wafer-on-Wafer (WoW), что позволило удвоить производительность до 350 терафлопс (FP16) и увеличить объём памяти до 900 МБ. В 2023 году Graphcore выпустила систему Bow Pod, объединяющую несколько IPU в единый вычислительный кластер.
В 2024 году компания столкнулась с финансовыми трудностями и была приобретена японским холдингом SoftBank Group. После сделки Graphcore продолжает разработку IPU, но под новым управлением, с фокусом на корпоративный сегмент и облачные вычисления.
Архитектура и принцип работы
Отличие от GPU и CPU
Традиционные GPU (например, NVIDIA) изначально проектировались для параллельной обработки пикселей и вершин в 3D-графике. Их архитектура (SIMT — Single Instruction, Multiple Threads) эффективна для плотных матричных операций, но плохо справляется с разреженными вычислениями и динамическими графами, характерными для современных нейросетей. CPU, в свою очередь, оптимизированы для последовательных задач и низкой задержки, но имеют ограниченное количество ядер.
IPU решает эти проблемы через:
- Массовый параллелизм: 1216 (GC2) или 1472 (Bow) независимых ядер, каждое со своим блоком управления и памятью.
- Память, встроенную в чип: весь объём данных для вычислений (веса, активации, градиенты) хранится непосредственно на кристалле, что исключает узкое место шины памяти (как у GPU с HBM).
- Графовый подход: модель нейросети представляется в виде графа, где узлы — операции, а рёбра — потоки данных. IPU выполняет этот граф целиком, без разбивки на пакеты (батчи), что снижает задержки.
Структура ядра
Каждое ядро IPU (называемое IPU-Core) включает:
- Арифметико-логическое устройство (ALU) с поддержкой FP16, FP32 и целочисленных операций.
- Локальную память (SRAM) объёмом около 256 КБ (в GC2) или 624 КБ (в Bow).
- Управляющий процессор, который может выполнять до шести потоков инструкций одновременно (технология Bulk Synchronous Parallel, BSP).
Ядра объединены в кластеры через высокоскоростную сеть на кристалле (on-chip interconnect) с пропускной способностью до 8 ТБ/с.
Программная модель
Graphcore разработала собственный программный стек Poplar, который включает:
- Poplar SDK — библиотеки для фреймворков TensorFlow, PyTorch и ONNX.
- PopART — среда выполнения для инференса.
- PopVision — инструменты профилирования и отладки.
Программист описывает модель на стандартном фреймворке, а Poplar автоматически компилирует её в граф для IPU, оптимизируя использование памяти и параллелизм.
Классификация и модели
Поколения IPU
| Поколение | Модель | Техпроцесс | Число ядер | Память (SRAM) | Производительность (FP16) | Энергопотребление |
|---|---|---|---|---|---|---|
| 1-е (2018) | GC2 (Colossus) | 16 нм | 1216 | 300 МБ | 125 ТФлопс | 150 Вт |
| 2-е (2022) | Bow IPU | 7 нм (WoW) | 1472 | 900 МБ | 350 ТФлопс | 185 Вт |
Системные решения
- IPU-POD — кластер из 4, 8 или 16 IPU, объединённых в единую систему через сеть InfiniBand или Ethernet. Поставляется как готовый сервер.
- IPU-M2000 — модуль с четырьмя IPU (GC2) и сетевым коммутатором, предназначенный для установки в стандартные стойки.
- Bow Pod — флагманская система на базе Bow IPU, включающая до 64 чипов в одном шасси.
Применение
Обучение нейросетей
IPU демонстрирует высокую эффективность при обучении моделей, которые плохо масштабируются на GPU из-за ограничений памяти или разреженности графов. К таким задачам относятся:
- Трансформеры (BERT, GPT) — IPU позволяет обрабатывать последовательности длиной до 128 000 токенов без разбивки на чанки.
- Графовые нейросети (GNN) — обучение на графах с миллиардами рёбер (например, рекомендательные системы).
- Рекуррентные сети — LSTM и GRU для обработки временных рядов.
Инференс
Благодаря низкой задержке (менее 1 мс на один запрос) IPU применяется в системах реального времени:
- Автономное вождение — обработка данных с лидаров и камер.
- Робототехника — управление движением и распознавание объектов.
- Финансовые технологии — обнаружение мошенничества в реальном времени.
Научные вычисления
IPU используется в биоинформатике (анализ геномов), климатологии (моделирование погоды) и физике высоких энергий (обработка данных с коллайдеров).
Преимущества и недостатки
Преимущества
- Высокая пропускная способность памяти — вся память на кристалле, что устраняет узкое место шины.
- Эффективность при разреженных данных — ядра могут обрабатывать только ненулевые элементы, не тратя ресурсы на нули.
- Масштабируемость — до 64 IPU в одной системе без потери производительности.
- Низкое энергопотребление — до 2,5 раз меньше, чем у сравнимых GPU (по данным Graphcore).
Недостатки
- Ограниченная экосистема — меньше библиотек и фреймворков, чем у NVIDIA CUDA.
- Высокая стоимость — цена одного IPU-POD16 (16 чипов) составляет около 100 000 долларов США.
- Сложность программирования — требует глубокого понимания архитектуры для достижения пиковой производительности.
- Зависимость от одного поставщика — после приобретения SoftBank возможны изменения в стратегии развития.
Критика и конкуренция
IPU подвергается критике за то, что его архитектура не является универсальной. В задачах, где графы вычислений плотные и регулярные (например, свёрточные сети для обработки изображений), GPU NVIDIA часто превосходят IPU по производительности и стоимости. Кроме того, экосистема CUDA и TensorRT остаётся доминирующей, что затрудняет внедрение IPU в существующие проекты.
Основные конкуренты:
- NVIDIA — GPU A100, H100 и B200 с программным стеком CUDA.
- AMD — GPU Instinct MI300X.
- Intel — Habana Gaudi 2 и Gaudi 3.
- Google — TPU (Tensor Processing Unit) v4 и v5.
- Cerebras Systems — Wafer-Scale Engine (WSE) — чип размером с пластину.
Интересные факты
- Первый прототип IPU был изготовлен на 16-нм техпроцессе TSMC и содержал 23,6 миллиарда транзисторов.
- В 2020 году Graphcore вошла в список «50 самых умных компаний мира» по версии MIT Technology Review.
- Система Bow Pod с 64 IPU способна выполнять 22,4 петафлопса (FP16) — это сопоставимо с производительностью суперкомпьютера середины 2010-х годов.
- В 2023 году Graphcore объявила о партнёрстве с Microsoft Azure для развёртывания IPU в облаке, однако после приобретения SoftBank проект был приостановлен.
Источники
- Graphcore. «IPU Architecture Overview» (2018).
- Graphcore. «Bow IPU Product Brief» (2022).
- SoftBank Group. «Acquisition of Graphcore» (2024).
- MIT Technology Review. «50 Smartest Companies 2020» (2020).
- AnandTech. «Graphcore GC2 Review» (2019).
- Tom’s Hardware. «Graphcore Bow IPU Benchmarks» (2022).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →