Почему умозаключения ИИ останутся в основном на центральном процессоре –

    0
    1


    Спонсируемая функция Обучение модели ИИ требует огромных вычислительных мощностей в сочетании с высокой пропускной способностью памяти. Поскольку обучение модели может быть распараллелено, а данные разбиты на относительно небольшие части и пережевываются большим количеством довольно скромных математических блоков с плавающей запятой, GPU, вероятно, был естественным устройством, на котором могла бы начаться революция ИИ.

    Хотя существуют некоторые специализированные ASIC, которые могут выполнять огромное количество необходимых матричных вычислений, с различными видами памяти SRAM или DRAM, GPU по-прежнему является предпочтительным устройством для обучения ИИ. Отчасти потому, что GPU повсеместно распространены, а их вычислительные структуры хорошо разработаны и легко доступны, нет причин полагать, что для большинства компаний (большую часть времени) GPU останется предпочтительным вычислительным механизмом для обучения ИИ.

    Не помешает и то, что GPU-ускорение стало обычным явлением для рабочих нагрузок по моделированию и симуляции в HPC. Или что другие рабочие нагрузки в центре обработки данных – например, инфраструктура виртуальных рабочих столов, аналитика данных и системы управления базами данных – также могут быть ускорены на точно таком же железе, которое используется для обучения ИИ.

    Но выводы ИИ, когда относительно сложная модель ИИ сводится к набору весов для проведения прогностических расчетов в отношении новых данных, которые не входили в исходный набор для обучения, – это совсем другое дело. По очень веским техническим и экономическим причинам во многих случаях выводы ИИ должны оставаться – и будут оставаться – на тех же серверных процессорах, на которых сегодня работают приложения, дополняемые алгоритмами ИИ.

    Трудно превзойти бесплатный вывод ИИ

    Существует множество аргументов, почему вычисления должны оставаться на CPU, а не перемещаться на ускоритель внутри серверного шасси или по сети в банки GPU или пользовательские ASIC, работающие как ускорители вычислений.

    Во-первых, внешние ускорители вывода добавляют сложности (нужно покупать больше вещей, которые могут сломаться) и потенциально увеличивают риски безопасности, поскольку между приложением и его ускорителем вывода больше поверхностей для атак. И, несмотря ни на что, внешние механизмы вывода добавляют задержку, особенно для тех рабочих нагрузок, которые работают через сеть, что делают многие гипермасштабировщики и создатели облаков.

    Следует признать, что в предыдущих поколениях серверных процессоров пропускная способность выводов, использующих целочисленные данные смешанной точности или данные с плавающей точкой. Проталкивание их через интегрированные блоки векторной математики не требовало большой пропускной способности, хотя это могло быть совершенно нормально для скорости выводов, требуемой многими приложениями. И поэтому 70% вычислений в центрах обработки данных, включая гипермасштабирование и создание облаков, а также другие виды предприятий, по-прежнему выполняются на процессорах Intel® Xeon®. Но для тяжелых заданий по выводу данных пропускная способность CPU серверного класса не может конкурировать с GPU или специализированными ASIC.

    До сих пор.

    Как мы уже обсуждали ранее, в процессорах Intel® Xeon® 4-го поколения “Sapphire Rapids” ускорители матричной математики Intel Advanced Matrix Extensions (AMX) в каждом ядре “Golden Cove” значительно увеличивают производительность для математических операций низкой точности, которые лежат в основе выводов ИИ (подробнее об ускорителях, встроенных в новейшие процессоры Intel Xeon, читайте здесь).


    Рис1: Пропускная способность векторной матрицы Sapphire Rapids

    Пропускная способность векторной матрицы Sapphire Rapids

    Блоки AMX могут обрабатывать 2 048 8-битных целочисленных операций (INT8) за цикл на ядро. Это в 24 раза больше пропускной способности, чем у простых ванильных векторных блоков AVX-512, используемых в процессорах “Skylake”, и в 8 раз больше по операциям INT8, чем у блоков AVX-512 “Cascade Lake” и “Ice Lake”, которые были дополнены гораздо более эффективными инструкциями векторных нейронных сетей (VNNI). Ядра “Golden Cove” поддерживают использование обоих блоков AVX-512 с VNNI и AMX, работающих одновременно, так что это в 32 раза превышает пропускную способность INT8 при работе с выводами.

    Хитрость с блоком AMX заключается в том, что он включен в ядро Golden Cove в каждом из 52 вариантов процессоров Sapphire Rapids в стеке SKU. Основываясь на целочисленной производительности этих ядер (не включая производительность AVX-512 и AMX), соотношение цена/производительность Sapphire Rapids Xeon такое же или немного лучше, чем у предыдущего поколения процессоров Xeon SP. Это еще один способ сказать, что блоки AMX по сути бесплатны, поскольку они включены во все процессоры и обеспечивают дополнительную производительность без дополнительных затрат по сравнению с Ice Lake. Трудно получить дешевле, чем бесплатно, особенно если процессоры изначально необходимы для запуска приложений.

    Stacking Up The Flops

    Теоретическая производительность – это одно, но важно то, как реальные приложения для выводов ИИ могут использовать новые блоки AMX в ядрах Golden Cove.

    Давайте посмотрим на более долгосрочную перспективу и проследим, как развивалась производительность вычислений с момента запуска процессоров Xeon E7 “Broadwell” в июне 2016 года и последующих четырех поколений процессоров Xeon SP. Этот конкретный график показывает взаимодействие пропускной способности процессоров и ватт на каждую 1000 изображений, обрабатываемых в секунду:


    Рис2: Sapphire Rapids Xeon с течением времени Вывод RESNET

    Sapphire Rapids Xeon за время работы RESNET Inference

    См. [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 обработанных изображений в секунду, снизилось еще больше, чем показывает этот график. Для достижения скорости 1000 изображений в секунду потребовалось бы три с половиной 24-ядерных процессора Broadwell E7 с точностью FP32, а при мощности 165 Вт на чип это означает 550 Вт, выделенных для такой нагрузки. Чипы Sapphire Rapids с блоками AMX, использующими смесь BF16 и INT8, сжигают менее 75 Вт. Таким образом, производительность на ватт в Sapphire Rapids в 7,3 раза выше по сравнению с предыдущими пятью поколениями процессоров Broadwell.

    А как насчет других рабочих нагрузок? Давайте посмотрим. Вот как 56-ядерные процессоры Sapphire Rapids Xeon SP-8480+, работающие на частоте 2 ГГц, сравнялись с 40-ядерными процессорами Ice Lake Xeon SP-8380 предыдущего поколения, работающими на частоте 2,3 ГГц, при классификации изображений, обработке естественного языка, сегментации изображений, трансформации и моделях обнаружения объектов, работающих на базе фреймворка PyTorch:


    Рис3: Sapphire Rapids против Ice Lake различные выводы

    Сапфир Рапидс против Ледникового озера Различные выводы

    См. [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,5X до 7,8X от 5,7X до 10X, показанных выше – происходит за счет использования блоков AMX.

    Конечно, реальный тест – это то, как производительность блоков AMX, присущая Sapphire Rapids, сравнится с использованием внешнего ускорителя. Вот как выглядит двухсокетный сервер с процессорами Xeon SP-8480+ по сравнению с ускорителем Nvidia “Ampere” A10 GPU:


    Рис4: Sapphire Raipds против NVIDIA A10 Различные выводы

    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 на GPU, вероятно, стоит от $3,000 до $6,000, и находится далеко снаружи либо на шине PCI-Express 4.0, либо еще дальше в сети Ethernet или InfiniBand в выделенном сервере выводов, доступ к которому осуществляется по сети в обе стороны от серверов приложений. И даже если новый ускоритель GPU L40 “Lovelace” от Nvidia может выполнять гораздо больше работы, блоки AMX встроены в процессоры Sapphire Rapids по умолчанию и не нуждаются в дополнительном подключении.

    Спонсируется компанией Intel.

    Предыдущая статья16 апреля Huawei запустит решение для умных автомобилей 2023 года.
    Следующая статьяОткройте для себя предстоящие впечатляющие Oppo Серия телефонов Рено 10
    Виктор Попанов
    Эксперт тестовой лаборатории. Первый джойстик держал в руках в возрасте 3 лет. Первый компьютер, на котором „работал” был с процессором Intel i386DX-266. Тестирует оборудование для издания ITBusiness. Будь то анализ новейших гаджетов или устранение сложных неполадок, этот автор всегда готов к выполнению поставленной задачи. Его страсть к технологиям и приверженность качеству делают его бесценным помощником в любой команде.