For the complete documentation index, see llms.txt. This page is also available as Markdown.

PowerInfer

Гибридный вывод LLM на CPU/GPU, использующий локальность активации — запускайте модели с 70 млрд параметров на одном потребительском GPU, интеллектуально распределяя вычисления между CPU и GPU.

🌟 8 000+ звезд на GitHub | Разработано в SJTU IPADS | Лицензия MIT


Что такое PowerInfer?

PowerInfer — это высокопроизводительный движок вывода для больших языковых моделей, использующий ключевое наблюдение: LLM демонстрируют сильную локальность активации — небольшая подмножество нейронов («горячие нейроны») постоянно активируется на большинстве шагов вывода, тогда как большинство остаются неактивными.

PowerInfer использует это свойство, чтобы:

  1. Оставлять горячие нейроны на GPU для быстрого вычисления

  2. Выгружать холодные нейроны на CPU/RAM без существенной потери качества

  3. Динамически направлять вычисления между CPU и GPU на основе шаблонов активации

Итог: вы можете запускать модель 70B всего с 16 ГБ VRAM вместо требования 140+ ГБ, полностью размещенных на GPU.

Ключевые возможности

  • Поддержка потребительских GPU — RTX 3090/4090 могут запускать модели 70B

  • Планирование с учетом нейронов — предиктор определяет маршрутизацию на CPU или GPU для каждого запуска вывода

  • Минимальное ухудшение качества — сохраняет >95% качества полной точности

  • Совместимость с llama.cpp — поддержка формата GGUF

  • Выгрузка на CPU с учетом NUMA — оптимизировано для CPU с большим числом ядер

Зачем использовать PowerInfer на Clore.ai?

Clore.ai сдает GPU в аренду значительно дешевле, чем облачные альтернативы. С PowerInfer:

  • Запускайте Llama 2 70B на одном RTX 4090 (24 ГБ VRAM)

  • Сократите расходы на аренду GPU по сравнению с многопроцессорными конфигурациями

  • Обрабатывайте длинные окна контекста, используя RAM CPU как буфер переполнения

  • Запускайте модели, для которых раньше требовались дорогие инстансы A100/H100


Требования к оборудованию

Размер модели
Мин. VRAM
Рекомендуемая RAM
Производительность

7B

4 ГБ

16GB

Отлично

13B

6 ГБ

32GB

Очень хорошо

34B

12GB

64GB

Хорошо

70B

16GB

128 ГБ

Умеренная

CPU имеет значение: PowerInfer выгружает холодные нейроны на CPU. CPU с большим числом ядер (AMD EPYC, Intel Xeon) и высокой пропускной способностью памяти значительно повышает производительность для больших моделей.


Быстрый старт на Clore.ai

Шаг 1: выберите ваш сервер

На маркетплейсе clore.ai отфильтруйте по:

  • GPU NVIDIA с 16 ГБ+ VRAM (RTX 3090, RTX 4090, A100)

  • Высокое число ядер CPU (идеально 16+ ядер)

  • 64 ГБ+ RAM для моделей 70B, 32 ГБ для моделей 13B

Шаг 2: создайте собственный Docker-образ

PowerInfer требует собственной настройки Docker. Используйте этот Dockerfile:

Соберите и отправьте в Docker Hub или используйте встроенно с Clore.ai:

Шаг 3: разверните на Clore.ai

В вашем заказе на Clore.ai укажите:

  • Docker-образ: yourname/powerinfer:latest

  • Порты: 22 (SSH)

  • Окружение: NVIDIA_VISIBLE_DEVICES=all


Сборка PowerInfer из исходного кода

Если предпочитаете собирать внутри контейнера:

Проверка сборки


Получение моделей

Скачайте модели GGUF

PowerInfer использует формат GGUF (тот же, что и llama.cpp):

Создание предиктора нейронов (требуется для PowerInfer)

PowerInfer нужен предиктор активации нейронов для каждой модели. Это ключевое отличие от llama.cpp:


Запуск вывода

Базовый вывод (без предиктора)

Для тестирования без генерации предиктора (стандартное разделение на GPU/CPU):

Режим PowerInfer (с предиктором)

Полный режим PowerInfer с маршрутизацией с учетом нейронов:

Интерактивный режим чата

Режим сервера (API, совместимый с OpenAI)


Оптимизация разделения слоев на GPU

Параметр --gpu-layers определяет, сколько слоев трансформера держать на GPU. Настраивайте это в зависимости от вашей VRAM:

Руководство по распределению слоев:

VRAM GPU
Модель 7B
Модель 13B
Модель 34B
Модель 70B

8 ГБ

Все (32)

20 слоев

10 слоев

4 слоя

16GB

Все (32)

Все (40)

25 слоев

10 слоев

24 ГБ

Все (32)

Все (40)

Все (60)

20 слоев

48 ГБ

Все (32)

Все (40)

Все (60)

Все (80)


Бенчмарки производительности

Сравнение пропускной способности (Llama 2 70B, RTX 3090)

Движок
Слои GPU
Токенов/сек

llama.cpp (только GPU)

20/80

~4 t/s

llama.cpp (только CPU)

0/80

~1 t/s

PowerInfer

20/80 + предиктор

~12 t/s


Запуск как службы

Создайте systemd-службу для постоянного обслуживания API:


Использование API

После запуска сервера используйте любой клиент, совместимый с OpenAI:


Устранение неполадок

Недостаточно памяти CUDA

Медленный вывод на CPU

Сборка не удается


Рекомендации по GPU для Clore.ai

Гибридная CPU/GPU-конструкция PowerInfer меняет экономику запуска больших моделей. Серверы Clore.ai с GPU с большим объемом VRAM И быстрыми CPU — идеальный вариант.

GPU
VRAM
Цена Clore.ai
Макс. модель (Q4)
Пропускная способность (Llama 2 70B Q4)

RTX 3090

24 ГБ

$0.07–0.21/ч

70B (с 64 ГБ+ RAM)

~8–12 ток/с

RTX 4090

24 ГБ

$0.14–0.42/ч

70B (более быстрое выгружение на CPU)

~12–18 ток/с

A100 40 ГБ

40 ГБ

70B (минимальная выгрузка)

~35–45 ток/с

A100 80 ГБ

80 ГБ

70B в полной точности

~50–60 ток/с

Оптимальная точка PowerInfer: RTX 3090 за $0.07–0.21/час при запуске Llama 2 70B Q4 — это прорыв для пользователей с ограниченным бюджетом. Вы получаете модель 70B в 10–12 раз дешевле, чем аренда A100. Пропускная способность ниже (~10 ток/с), но для исследований или вывода при низкой нагрузке это непревзойденная ценность.

CPU важен не меньше, чем GPU: PowerInfer выгружает «холодные» нейроны на CPU. Серверы Clore.ai с процессорами AMD EPYC или Intel Xeon (много ядер, высокая пропускная способность памяти) будут значительно превосходить односокетные потребительские CPU. Перед арендой для работы с большими моделями проверьте характеристики сервера.

Узкое место пропускной способности памяти: Для моделей 70B пропускная способность RAM CPU является ограничивающим фактором во время вычисления холодных нейронов. Серверы с DDR5 ECC RAM или архитектурами, близкими к HBM, покажут лучшую производительность.


Ресурсы

Последнее обновление

Это было полезно?