Всем привет! Мы — команда облачного провайдера mClouds. Наша облачная инфраструктура включает процессоры Intel Xeon Scalable, которые наиболее распространены в отрасли. Однако в последнее время мы стали задумываться о добавлении кластера на базе процессоров AMD EPYC, которые предлагают уже больше ядер на сокет, чем даже недавно анонсированные Intel Xeon 6, притом с высокой тактовой частотой — выше 3 ГГц.
С приходом в нашу жизнь нейросетей многие центры обработки данных уже работают на пределе или почти на пределе возможностей с точки зрения доступного пространства или мощности, или того и другого. На недавно прошедшей Tech Day 2024 компания AMD представила новую архитектуру своих серверных процессоров EPYC. Производитель заявляет, что новое поколение процессоров на архитектуре Zen 5 готово к растущим нагрузкам.
Давайте вместе разбираться, почему работа с нейросетями и большими данными требует новых серверных мощностей, какие возможности обещают AMD Zen 5 и что это означает на практике.
ИИ-оптимизированные процессоры: зачем они нужны
Нейросети сейчас используют даже в малом бизнесе. Каждая третья компания в МСП, по данным НАФИ, применяет ИИ для генерации картинок и текстов, для создания саммари встреч и созвонов, для работы с внутренней базой документов.
Работа с нейросетями увеличивает нагрузку на железо и требует больших мощностей по сравнению с выполнением рядовых задач. Насколько — сложно сказать точно. Это зависит от многих факторов.
-
Тип нейросети: разные ИИ, например сверхточные и рекуррентные нейронные сети, требуют разной вычислительной мощности.
-
Размер нейросети и объем данных: чем больше нейросеть и чем больше данных она использует для обучения, тем больше вычислений требуется.
-
Тип задачи: обучение нейросети требует больше вычислительной мощности, чем ее использование для прогнозирования.
К примеру, для обучения большой языковой модели GPT-3 от OpenAI потребовалось создать кластер из более чем 285 000 CPU, 10 000 GPU и со скоростью сетевого подключения для каждого GPU в 400 ГБ/с. В то же время для рядового веб-сервера, обслуживающего сайт с небольшим количеством посетителей, достаточно процессора на 4–8 ядер и 16–32 ГБ оперативной памяти.
Обучение и работа нейросетей требуют гораздо больше вычислительных мощностей, чем большинство других задач. В основном для ИИ используют многоядерные графические процессоры (GPU), которые специализируются на обработке графики и могут выполнять операции с плавающей запятой гораздо быстрее, чем CPU. Лидером в сегменте работы с нейросетями является компания NVIDIA со своими передовыми H100, которые используются для работы с ИИ.
Вот основные характеристики серверных процессоров, которые важны для работы с нейросетями:
-
Количество ядер. Чем больше ядер у процессора, тем больше операций он может выполнять одновременно. Это важно для нейросетей, поскольку они часто требуют обработки больших объемов данных, особенно в процессе обучения. В облаках мы всё больше движемся к тому, что стандартом будет 32 ядра на сокет. А с точки зрения стандартных серверов для применения в IaaS-платформах нам предстоит переход к 64 ядрам на сокет. Но пока рост количества ядер не планирует останавливаться.
-
Частота ядер. Этот параметр определяет скорость выполнения каждой операции. Чем выше частота, тем быстрее работает процессор. Нейросети часто требуют выполнения сложных вычислений, а высокая частота ядер позволяет выполнять операции быстрее, что ускоряет обучение нейросетей. Также низкая частота ядер может снизить и производительность конкретного GPU. Мы не рекомендуем использовать для работы с нейросетями процессоры с базовой частотой ниже 2,5 ГГц.
-
Объем кеша. Чем больше объем кеша, тем меньше времени процессор тратит на доступ к данным. Для нейросетей это важно, поскольку часто они работают с большими объемами данных. Тут AMD уверенно лидирует даже на поколении EPYC Zen 4.
-
Система охлаждения. Обучение нейросетей — очень энергоемкий процесс, который генерирует много тепла. Перегрев процессора может привести к снижению производительности, нестабильной работе и даже повреждению оборудования. Эффективная система охлаждения гарантирует стабильную работу процессора при высокой нагрузке, что важно для длительных процессов обучения нейросетей. И это большой вызов, поскольку процессоры AMD EPYC серии 9004 с числом ядер 64 на сокет уже потребляют 360 ватт и больше.
-
Хранение данных. ИИ-сервер должен быть оснащен достаточным количеством оперативной памяти, высокоскоростной шиной PCI-E 5.0 и NVMe-дисками, подключенными также по PCI-E 5.0.
-
Поддержка векторных технологий ускорения. Современные технологии ускорения, такие как AVX-512, позволяют процессорам быстрее выполнять операции с плавающей запятой, ускоряя работу и обучение нейросетей.
-
Энергоэффективность. Обучение нейросетей может быть очень энергоемким процессом. Согласно отчету Международного энергетического агентства, к 2026 году центры обработки данных будут потреблять в два раза больше электроэнергии по сравнению с 2022 годом, во многом благодаря криптовалютам и искусственному интеллекту. Поэтому для работы с нейросетями важно, чтобы процессор был энергоэффективным. Это позволит снизить затраты на электроэнергию и обеспечить устойчивую работу системы.
Серверные процессоры — это вычислительные комбайны, которые работают в круглосуточном режиме и обрабатывают огромные массивы данных. Работа с нейросетями, анализ БД, машинное обучение требуют от них максимальной производительности и масштабируемости в широких пределах. Многоядерные процессоры — с числом ядер 64 и больше на сокет — помогают увеличить пропускную способность каждого сервера, одновременно снижая затраты на инвестиции в оборудование. На практике это означает: меньше серверов, меньше стоек, меньше потребление энергии.
Архитектура AMD Zen 5: что мы про нее знаем
AMD анонсировала пятое поколение серверных процессоров EPYC, которые должны выйти на рынок до конца 2024 года. Благодаря усовершенствованному прогнозированию ветвлений, двойным каналам декодирования и новому модулю математического ускорения AMD обещает рост производительности и ускорение задач машинного обучения.
Посмотрим, какие технические характеристики архитектуры Zen 5 заявляет производитель:
Чтобы снизить задержки и повысить точность вычислений, в Zen 5 оптимизировали этапы выборки и декодирования инструкций, усовершенствовав модуль прогнозирования ветвлений и добавив двойные каналы декодирования.
Самым большим новшеством в части выполнения математических операций можно считать блок операций с плавающей точкой — FPU. В Zen 5 он имеет физический 512-битный конвейер FP для AVX-512 с полным 512-битным путем данных. Если вы помните, в Zen 4 использовался 256-битный FPU, что в то время считалось энергоэффективным способом. Новый FPU должен дать Zen 5 значительное улучшение производительности AVX-512 по сравнению с предыдущей версией.
AVX-512 с полным 512-битным путем данных и шестью конвейерами, которые обеспечивают двухтактную задержку для операций сложения с плавающей точкой, значительно расширяет возможности управления параллельными инструкциями. Такая комбинация способна обеспечить заметный рост производительности: около 32% для рабочих нагрузок машинного обучения и 35% — для шифрования AES-XTS.
Блок загрузки/хранения тоже прокачали. AMD увеличила размер кеша L1 до 12 каналов — по 48 КБ каждый. Для сравнения: в Zen 4 было 8 каналов по 32 КБ. Пропускная способность от FPU до кеша L1 была удвоена по сравнению с Zen 4, хотя выделенный кеш L2 по-прежнему 16-канальный с размером 1 МБ. Всё это имеет решающее значение для операций с большими объемами данных.
По данным замеров самой AMD, Zen 5 обеспечивает средний прирост IPC на 16% по сравнению со своим предшественником. Такой показатель, по словам производителей, достигается за счет архитектурных усовершенствований, включая более широкие блоки диспетчеризации и исполнения, увеличенную пропускную способность данных и улучшенные алгоритмы предварительной выборки. Прирост IPC приводит к реальному повышению производительности в различных приложениях — от игр до создания контента и машинного обучения.
AMD проделала впечатляющую работу:
+ количество ядер
+ число потоков
+ энергоэффективность
+ ускорение ИИ и операций с плавающей точкой
Уверены, с новым поколением процессоров EPYC с архитектурой Zen стандарты производительности на рынке серверов и центров обработки данных станут выше.
Ждать ли в России
Процессоры AMD EPYC хоть и появляются в российских облаках, но темп их проникновения в ЦОДы не очень быстрый. В основном провайдеры добавляют кластеры на процессорах Intel. Хотя во многих популярных приложениях для бизнеса, например 1С, AMD EPYC показывают отличные результаты.
Каждое поколение серверных процессоров Intel Xeon сразу появляется и у нас в облаке. Но компания AMD уже обогнала своего главного конкурента по ряду параметров, таких как количество ядер на сокет, их частота, энергопотребление на одно ядро и объем кеш-памяти L2 на сокет. Поэтому мы планируем кластер на базе процессоров AMD EPYC (как Zen 4, так и Zen 5) внедрить и в свое облако, когда они будут доступны к заказу в России.