Когда речь заходит об ускорении ИИ, первое, что приходит в голову – это видеокарты. GPU стали практически синонимом нейросетей: они быстрые, параллельные и хорошо изучены. Но серверные процессоры никуда не делись, и их потенциал в задачах ИИ всё ещё остаётся недооценённым.
AMD решила это исправить. Компания выпустила обновление своей библиотеки ZenDNN до версии 5.2 – и, судя по результатам, это обновление действительно меняет расстановку сил для тех, кто хочет запускать языковые модели на процессорах серии EPYC.
Зачем вообще запускать ИИ на процессоре?
Хороший вопрос. GPU – дорогое удовольствие. Не каждая компания может позволить себе целый кластер видеокарт ради, скажем, внутреннего чат-бота или системы автоматической обработки документов. Серверные CPU при этом есть практически везде: в центрах обработки данных, в корпоративной инфраструктуре, в облаке.
Если удаётся выжать из процессора достаточно производительности для работы с языковыми моделями – это открывает куда более широкий и дешёвый путь к развёртыванию ИИ. Именно в этом направлении и движется AMD с ZenDNN.
Что такое ZenDNN и при чём здесь vLLM?
ZenDNN – это библиотека, которую AMD разрабатывает специально для своих процессоров. Она отвечает за то, как именно нейросетевые вычисления выполняются на «железе»: какие операции ускоряются, как используется память, как задействуются ядра процессора.
vLLM – это отдельная система, которая занимается непосредственно запуском больших языковых моделей и обработкой запросов к ним. Проще говоря, vLLM – это «мотор», а ZenDNN – топливо, которое помогает этому мотору работать эффективнее именно на процессорах AMD.
В версии 5.2 эти два компонента заработали вместе заметно лучше, чем раньше.
Главный приём – несколько копий модели одновременно
Одно из ключевых нововведений в ZenDNN 5.2 – это поддержка так называемой многоэкземплярной конфигурации. Звучит сложно, но идея простая.
Представьте, что у вас есть мощный сервер с большим количеством процессорных ядер. Вместо того чтобы запускать одну копию языковой модели и заставлять её обрабатывать все запросы подряд, можно запустить несколько копий параллельно – каждая на своём наборе ядер. Запросы при этом распределяются между ними, и общая пропускная способность системы существенно растёт.
Именно эта конфигурация, по данным AMD, стала основным фактором прироста производительности в последних тестах. Несколько экземпляров vLLM, работающих одновременно на одном процессоре EPYC, справляются с нагрузкой значительно лучше, чем один.
Что показали тесты
AMD провела замеры на реальных сценариях: модели получали запросы определённой длины, генерировали ответы, и замерялось, сколько таких операций система способна выполнить за единицу времени.
Результаты, по заявлению компании, демонстрируют ощутимый прирост производительности по сравнению с предыдущими версиями. Особенно заметный эффект достигается именно при многоэкземплярном запуске: суммарная пропускная способность нескольких параллельных копий модели оказывается значительно выше, чем у одного экземпляра, даже если тот использует все доступные ресурсы процессора.
Это не просто теоретический выигрыш – в реальных условиях, когда система одновременно обрабатывает сотни запросов, разница становится вполне ощутимой.
Почему это важно для индустрии
Большие языковые модели долгое время воспринимались как нечто, что требует видеокарты. Это создавало серьёзный барьер входа: нужно либо покупать дорогое оборудование, либо арендовать GPU-инстансы в облаке, что тоже стоит немало.
ZenDNN 5.2 – это часть более широкой тенденции: производители процессоров активно работают над тем, чтобы CPU могли закрывать хотя бы часть задач, которые раньше считались исключительной вотчиной GPU. Это особенно актуально для инференса – то есть не для обучения моделей, а для их использования, когда нужно просто получать ответы на запросы.
Инференс – это именно то, с чем сталкивается большинство компаний, которые хотят встроить ИИ в свои продукты. Им не нужно обучать модели с нуля; им нужно, чтобы уже готовая модель быстро и дёшево отвечала на вопросы пользователей.
Если процессоры EPYC с ZenDNN 5.2 способны обеспечить приемлемую скорость при разумных затратах – это открывает реальную альтернативу для многих сценариев, где GPU-сервер просто избыточен или недоступен.
Ограничения, о которых стоит помнить
При всей привлекательности идеи, важно понимать контекст. Процессоры всё равно уступают видеокартам в задачах, где нужна максимальная скорость работы с очень большими моделями. Для сценариев с жёсткими требованиями к задержке или с моделями в сотни миллиардов параметров GPU по-прежнему остаются предпочтительным выбором.
Кроме того, многоэкземплярная конфигурация требует достаточного количества оперативной памяти: каждая копия модели занимает своё место, и при запуске нескольких экземпляров этот вопрос встаёт в полный рост.
Наконец, конкретные цифры прироста производительности во многом зависят от используемой модели, длины запросов и конкретной конфигурации сервера. Результаты AMD получены в контролируемых условиях, и в реальной эксплуатации картина может отличаться.
Итого
ZenDNN 5.2 – это не революция, но заметный шаг в сторону того, чтобы сделать запуск языковых моделей более доступным. AMD последовательно улучшает производительность своих процессоров в задачах ИИ, и версия 5.2 показывает, что правильная организация работы – несколько параллельных копий модели вместо одной – может дать вполне ощутимый результат даже без видеокарты.
Для компаний, у которых уже есть серверная инфраструктура на базе EPYC, это хорошая новость: те же машины теперь могут справляться с ИИ-задачами лучше, просто за счёт обновления программной части.