ExLlamaV2 компилирует веса в машинный код: инференс медленнее только на GPU

ExLlamaV2 использует новый подход к оптимизации: вместо того чтобы хранить веса как матрицы и вычислять произведения на каждом шаге, инженеры компилируют веса в машинный код, специфичный для конкретного процессора. Это переносит часть вычислений со времени инференса на время компиляции.

Результат поразительный: на современных многоядерных процессорах скорость генерации токенов становится сопоставима с GPU средней производительности. Разница сохраняется, но уже не катастрофична.

Практические следствия

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

Техника компиляции весов применима и к другим моделям, поэтому её потенциал шире, чем один проект. Это может стать новым стандартом оптимизации открытых моделей для CPU.

Достижение ExLlamaV2 подтверждает, что даже фундаментальное ограничение — медленность CPU для нейросетей — можно сильно ослабить, если подойти к нему творчески и использовать современные техники компиляции.