Всем привет! Мы — команда облачного провайдера 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) внедрить и в свое облако, когда они будут доступны к заказу в России.