Компании доказывают, что индустрия недооценивает возможности CPU.
В то время как производители генеративных ИИ-сервисов вроде ChatGPT или Gemini полагаются на графические процессоры или специализированные ускорители, компании Intel и Ampere утверждают, что для этих целей вполне годятся и центральные процессоры (CPU). Особенно по мере того, как более компактные языковые модели находят широкое применение в корпоративной среде. И их аргументы кажутся весомыми.
Возможность запускать крупные языковые модели (LLM) на CPU существовала всегда, просто ценой снижения производительности. Сейчас же этот разрыв постепенно сокращается благодаря оптимизации программного обеспечения и устранению недочетов на аппаратном уровне.
В апреле, выступая на мероприятии Intel Vision , генеральный директор Пэт Гелсингер продемонстрировал впечатляющий прогресс компании в этой области. Грядущий процессор Intel Xeon 6 из серии Granite Rapids смог запустить 70-миллиардную языковую модель LLama2 от компании Meta*, работая с 4-битной вычислительной точностью и задержкой вывода второго текстового токена всего 82 миллисекунды.
Задержка первого токена — это время, которое модель тратит на анализ запроса и генерацию первого слова в ответе. Задержка второго токена — время для генерации и передачи следующего текстового фрагмента. Чем меньше эти задержки, тем выше скорость работы алгоритма.
Скорость работы языковых моделей обычно оценивается по двум показателям: времени задержки при генерации текста (в миллисекундах) и количеству сгенерированных слов или токенов в секунду. В случае с процессором Xeon 6 Granite Rapids задержка перед выводом второго текстового фрагмента составила всего 82 мс, что соответствует примерно 12 новым словам (токенам) в секунду. Хотя эти цифры уступают показателям современных графических процессоров, они демонстрируют колоссальный прогресс по сравнению с предыдущим поколением Xeon 5, выпущенным в декабре (у него задержка второго токена достигала 151 мс).
Компания Oracle также поделилась результатами тестов более компактной Llama2-7B, запущенной на процессорах Ampere Altra. Во время испытаний на 64-ядерном облачном сервере OCI A1 с использованием 4-битной сжатой версии модели, скорость генерации текста составляла от 33 до 119 токенов в секунду. Диапазон скоростей зависел от размера пакета запросов, направляемых модели — от 1 до 16 запросов соответственно.
Испытания Oracle показали, что чем больше размер пакета, тем выше суммарная пропускная способность. Однако, при этом для каждого отдельного запроса текст генерируется медленнее. Например, с пакетом из 16 запросов модель достигла максимальной пропускной способности 119 токенов/сек, но при этом на каждый запрос приходилось лишь около 7,5 токенов в секунду. А именно этот показатель заметит рядовой пользователь.
Как отмечает главный специалист по продуктам Ampere, Джефф Виттич, добиться столь высоких показателей удалось благодаря сотрудничеству с Oracle по разработке специализированных программных библиотек и оптимизации исходного кода Llama.cpp под процессоры Ampere.
Если заявленные компаниями показатели производительности соответствуют реальности (а с учетом описанных условий тестирования оснований сомневаться немного), это означает, что центральные процессоры вполне пригодны для развертывания небольших языковых моделей. Более того, вполне вероятно, что в ближайшее время CPU смогут обрабатывать и модели среднего размера. Правда, пока что речь идет об обработке относительно небольших пакетов.
* Компания Meta и её продукты признаны экстремистскими, их деятельность запрещена на территории РФ.
Ладно, не доказали. Но мы работаем над этим