Рекламная функция Обучение модели ИИ требует огромных вычислительных мощностей в сочетании с памятью с высокой пропускной способностью. Поскольку обучение модели может быть распараллелено, а данные разбиты на относительно небольшие фрагменты и обработаны большим количеством довольно скромных математических единиц с плавающей запятой, GPU, возможно, был естественным устройством, на котором могла начаться революция ИИ.
Несмотря на то, что существуют специальные ASIC, которые могут выполнять огромное количество необходимых матричных вычислений, с различными типами памяти SRAM или DRAM, GPU по-прежнему является предпочтительным устройством для обучения ИИ. Отчасти из-за того, что графические процессоры распространены повсеместно, а их вычислительные платформы хорошо разработаны и легкодоступны, нет оснований полагать, что для большинства компаний (в большинстве случаев) графические процессоры останутся предпочтительным вычислительным механизмом для обучения ИИ.
Не повредит и то, что ускорение графического процессора стало обычным явлением для рабочих нагрузок моделирования и моделирования высокопроизводительных вычислений. Или что другие рабочие нагрузки в центре обработки данных — например, инфраструктура виртуальных рабочих столов, системы анализа данных и управления базами данных — также могут быть ускорены на том же железе, которое используется для обучения ИИ.
Но вывод ИИ, в котором относительно сложная модель ИИ сводится к набору весов для прогнозных расчетов новых данных, которые не были частью исходного обучающего набора, — это совсем другое дело. По очень веским техническим и экономическим причинам во многих случаях вывод ИИ должен оставаться — и останется — на тех же серверных процессорах, на которых сегодня работают приложения и которые дополняются алгоритмами ИИ.
Трудно превзойти бесплатный вывод ИИ
Существует множество аргументов в пользу того, что логический вывод должен оставаться на ЦП, а не перемещаться к ускорителю внутри серверного шасси или по сети к банкам графических процессоров или специализированным ASIC, работающим в качестве ускорителей логических выводов.
Во-первых, внешние механизмы логического вывода усложняют работу (приобретается больше вещей, которые могут сломаться) и потенциально добавляют риски для безопасности, поскольку между приложением и его механизмом логического вывода появляется больше поверхностей для атак. И несмотря ни на что, внешние механизмы вывода увеличивают задержку, особенно для тех рабочих нагрузок, которые выполняются в сети, что делают многие гиперскейлеры и разработчики облачных сред.
Следует признать, что в предыдущих поколениях серверных ЦП пропускная способность логического вывода использовала целочисленные данные смешанной точности или данные с плавающей запятой. Проталкивание их через встроенные блоки векторной математики не требовало большой пропускной способности, даже если это вполне подходило для скоростей логического вывода, требуемых многими приложениями. И, следовательно, именно поэтому 70 процентов логических выводов в центрах обработки данных, включая гиперскейлеры и облачные строители, а также другие виды предприятий, по-прежнему выполняются на процессорах Intel® Xeon®. Но для тяжелых задач логического вывода пропускная способность процессора серверного класса не могла конкурировать с графическим процессором или пользовательской ASIC.
До настоящего времени.
Как мы уже обсуждали ранее, с процессорами Intel® Xeon® 4-го поколения «Sapphire Rapids» матричные математические ускорители Intel Advanced Matrix Extensions (AMX) в каждом ядре «Golden Cove» значительно повышают производительность математических операций с низкой точностью, лежащих в основе Вывод ИИ (подробнее об ускорителях, встроенных в новейшие процессоры Intel Xeon, читайте здесь).
Рис. 1. Пропускная способность векторной матрицы Sapphire Rapids
Устройства AMX могут обрабатывать 2048 операций с 8-битными целыми числами (INT8) за такт на ядро. Это в 24 раза больше, чем у простых векторных блоков AVX-512, используемых в процессорах Skylake, и в 8 раз больше при операциях INT8, чем у блоков AVX-512 Cascade Lake и Ice Lake, которые были дополнены гораздо более эффективным Vector Neural. Сетевые инструкции (VNNI). Ядра Golden Cove поддерживают использование AVX-512 с модулями VNNI и AMX, работающими одновременно, поэтому пропускная способность INT8 в 32 раза выше для рабочих нагрузок логических выводов.
Хитрость модуля AMX заключается в том, что он включен в ядро Golden Cove в каждом из 52 вариантов процессоров Sapphire Rapids в стеке SKU. Основываясь на целочисленной производительности этих ядер (без учета производительности AVX-512 и AMX), соотношение цена/производительность процессоров Sapphire Rapids Xeon такое же или немного лучше, чем у процессоров Xeon SP предыдущего поколения. Это еще один способ сказать, что блоки AMX по сути бесплатны, поскольку они включены во все процессоры и обеспечивают дополнительную производительность без дополнительных затрат по сравнению с Ice Lake. Труднее получить более дешевый вывод, чем бесплатный, особенно если процессоры необходимы для запуска приложений с самого начала.
Складывание флопов
Теоретическая производительность — это одно, но важно то, как реальные приложения для вывода ИИ могут использовать новые блоки AMX в ядрах Golden Cove.
Давайте рассмотрим более подробно и посмотрим, как изменилась производительность логических выводов с момента запуска процессоров Broadwell Xeon E7 в июне 2016 года и до следующих четырех поколений процессоров Xeon SP. Эта конкретная диаграмма показывает взаимодействие пропускной способности процессоров и ватт на каждую 1000 изображений, обрабатываемых в секунду:
Рис. 2. Вывод Sapphire Rapids Xeon с течением времени в RESNET.
Видеть [A17, A33] на https://edc.intel.com/content/www/us/en/products/performance/benchmarks/4th-generation-intel-xeon-scalable-processors/. Результаты могут отличаться.
В этом случае тесты, которые проводились на пяти поколениях серверов, выполняют распознавание изображений с использованием модели ResNet-50 поверх платформы TensorFlow. За последние девять лет производительность обработки изображений увеличилась с примерно 300 изображений в секунду до более чем 12 000 изображений в секунду, что является улучшением более чем в 40 раз.
И тепло, выделяемое для каждой 1000 обработанных изображений в секунду, уменьшилось даже больше, чем показано на этой диаграмме. Потребуются три и третий 24-ядерные процессоры Broadwell E7 с точностью FP32, чтобы достичь скорости 1000 изображений в секунду, и 165 Вт на чип, что в сумме составляет 550 Вт, выделенных для этой нагрузки. Чипы Sapphire Rapids с блоками AMX, использующими сочетание обработки BF16 и INT8, потребляют менее 75 Вт. Так что это более чем в 7,3 раза выше производительность на ватт в Sapphire Rapids по сравнению с предыдущими пятью поколениями процессоров Broadwell.
А как насчет других рабочих нагрузок? Давайте взглянем. Вот как 56-ядерные процессоры Sapphire Rapids Xeon SP-8480+, работающие на частоте 2 ГГц, сравниваются с 40-ядерными процессорами Ice Lake Xeon SP-8380 предыдущего поколения, работающими на частоте 2,3 ГГц, по классификации изображений, обработке естественного языка, сегментации изображений, преобразованию. и модели обнаружения объектов, работающие поверх платформы PyTorch:
Рис. 3. Сапфировые пороги и ледяное озеро. Различные выводы
Видеть [A17, A33] на https://edc.intel.com/content/www/us/en/products/performance/benchmarks/4th-generation-intel-xeon-scalable-processors/. Результаты могут отличаться.
Как видно из диаграммы, это сравнение обработки FP32 на устройствах AVX-512 в чипе Ice Lake с обработкой BF16 на устройствах AMX. Одно только уменьшение вдвое точности между двумя платформами удваивает пропускную способность между этими двумя поколениями. Относительная производительность этих двух чипов (суммирование количества ядер и тактовой частоты) дает еще 21,7% прироста производительности. Остальной прирост производительности, который составляет от 3,5 до 7,8 раз по сравнению с показанным выше от 5,7 до 10, связан с использованием блоков AMX.
Конечно, настоящее испытание заключается в том, как мощность выводов блоков AMX, присущих Sapphire Rapids, сравнивается с использованием внешнего ускорителя. Итак, вот как выглядит двухпроцессорный сервер с процессорами Xeon SP-8480+ по сравнению с графическим ускорителем Nvidia «Ampere» A10:
Рис. 4: Sapphire Raipds и NVIDIA A10, различные выводы
Видеть [A218] на https://edc.intel.com/content/www/us/en/products/performance/benchmarks/4th-generation-intel-xeon-scalable-processors/. Результаты могут отличаться.
Производительность двух процессоров Sapphire Rapids составляет 90 % от A10 при распознавании естественного языка в модели BERT-Large и превосходит A10 в 1,5–3,5 раза при других рабочих нагрузках.
Ускоритель графического процессора A10, вероятно, стоит от 3000 до 6000 долларов на данный момент и находится либо на шине PCI-Express 4.0, либо находится еще дальше в сети Ethernet или InfiniBand на выделенном сервере логического вывода, доступ к которому осуществляется через сеть. туда и обратно от серверов приложений. И даже если новый графический ускоритель Lovelace L40 от Nvidia может выполнять гораздо больше работы, блоки AMX встроены в процессоры Sapphire Rapids по умолчанию и не требуют надстройки.
При поддержке Intel.