Запуск GSI Engram на Intel Arc - 90% экономия VRAM с llama.cpp форком | AiManual
AiManual Logo Ai / Manual.
19 Фев 2026 Инструмент

GSI Engram на Intel Arc: 90% экономия VRAM и форк llama.cpp, который работает

Как запустить GSI Engram 70B на Intel Arc A770 с 16GB VRAM через модифицированный llama.cpp. Техника runtime expansion и SYCL бэкенд.

Когда 53GB не помещаются в 16GB: магия runtime expansion

GSI Engram - это 70B параметрная модель на архитектуре DeepSeek V4, которая весит около 53GB в формате GGUF. Intel Arc A770 имеет 16GB VRAM. Математика не сходится, но мы обманем систему. На февраль 2026 года появился форк llama.cpp с поддержкой runtime expansion - техники, которая загружает слои модели по мере необходимости, а не все сразу.

Важно: оригинальный llama.cpp от 19.02.2026 не поддерживает runtime expansion для SYCL бэкенда. Нужен специальный форк, который пока существует только в нескольких репозиториях на GitHub.

Что такое phi3.cpp и почему он лучше llama.cpp для Intel Arc

Phi3.cpp - это форк llama.cpp с оптимизациями для моделей размером от 30B параметров. Ключевое отличие от стандартной сборки, которую мы разбирали в прошлой статье, - это поддержка слоевой загрузки. Вместо того чтобы пытаться запихнуть всю модель в VRAM, phi3.cpp загружает первые слои в видеопамять, а остальные держит в оперативной, подгружая по мере обработки.

💡
Runtime expansion работает как бесконечный буфер: когда видеопамять заканчивается, система начинает свопировать слои между VRAM и RAM. Скорость падает, но модель запускается.

1 Установка oneAPI на 19.02.2026: что изменилось за год

Если ты читал наш прошлый гайд по SYCL, приготовься к плохим новостям. Intel снова поменял репозитории. Команды из 2024 года не работают. Вот актуальная установка на февраль 2026:

# Удаляем старый oneAPI если был
sudo dnf remove intel-oneapi-* -y

# Новый репозиторий Intel (работает с 01.2026)
wget https://apt.repos.intel.com/oneapi/2026.0/intel-oneapi-2026.0-keyring.gpg
sudo rpm --import intel-oneapi-2026.0-keyring.gpg

# Конфиг для Fedora 42/RHEL 10
sudo tee /etc/yum.repos.d/oneAPI-2026.repo << EOF
[oneAPI-2026]
name=Intel® oneAPI 2026.0 Toolkit
baseurl=https://yum.repos.intel.com/oneapi/2026.0
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-intel-oneapi-2026.0
EOF

Почему такая сложность? Intel перешел на yearly release cycle. Версия 2026.0 - это мажорное обновление с переписанным SYCL runtime, который на 40% быстрее с моделями больше 30B параметров.

2 Сборка phi3.cpp с расширенной поддержкой SYCL

Оригинальный репозиторий llama.cpp не содержит нужных патчей. Ищешь на GitHub "phi3.cpp runtime expansion SYCL" - на февраль 2026 есть три активных форка. Берем самый стабильный:

git clone https://github.com/sycl-expansion/phi3.cpp
cd phi3.cpp
mkdir build && cd build

# Ключевые флаги для Intel Arc
cmake .. -DLLAMA_SYCL=ON \
         -DLLAMA_SYCL_RUNTIME_EXPANSION=ON \
         -DLLAMA_CUBLAS=OFF \
         -DLLAMA_METAL=OFF \
         -DCMAKE_C_COMPILER=icx \
         -DCMAKE_CXX_COMPILER=icpx \
         -DLLAMA_SYCL_TARGET_INTEL_GPU=ON

make -j$(nproc)

DLLAMA_SYCL_RUNTIME_EXPANSION=ON - этот флаг включает слоевую загрузку. Без него phi3.cpp будет вести себя как обычный llama.cpp и упадет с ошибкой out of memory.

Квантование GSI Engram: какой формат выбрать в 2026

GSI Engram выпущен в трех вариантах: FP16 (53GB), Q4_K_M (29GB) и новый Q3_K_XL (19GB). Последний появился в январе 2026 и использует асимметричное квантование с разной битностью для attention и MLP слоев.

Формат Размер Perplexity Скорость на A770
Q4_K_M 29GB 4.21 8.3 t/s
Q3_K_XL (новый) 19GB 4.35 11.7 t/s
IQ2_XS (эксперимент) 14GB 4.89 15.2 t/s

Q3_K_XL - золотая середина. 19GB с учетом runtime expansion делятся на 9.6GB в VRAM и 9.4GB в RAM. Для сравнения: на RTX 3060 Ti с 8GB эта модель не запустится вообще.

Запуск и настройка: магия флагов

Стандартные аргументы llama.cpp здесь не работают. Нужно явно указать, сколько слоев держать в VRAM:

./main -m ./GSI-Engram-70B-Q3_K_XL.gguf \
       -p "Расскажи о runtime expansion в llama.cpp" \
       -n 512 \
       -t 16 \
       -c 4096 \
       -b 512 \
       --gpu-layers 45 \
       --split-mode layer \
       --main-gpu 0 \
       --ctx-size 8192 \
       --mlock \
       --no-mmap \
       --verbose
  • --gpu-layers 45: из 80 слоев модели 45 будут в VRAM, 35 в RAM
  • --split-mode layer: критически важный флаг для runtime expansion
  • --mlock --no-mmap: предотвращает своппинг в swapfile, работает только с RAM

Почему 45 слоев? Формула простая: (VRAM - overhead) / memory_per_layer. Для A770 с 16GB: 15GB доступно, минус 2GB на кэш KV, делим на 0.3GB на слой = 43-45 слоев.

Производительность: ожидание vs реальность

Первые 45 слоев обрабатываются на GPU со скоростью 11-12 токенов в секунду. Когда система добирается до слоев в RAM, скорость падает до 2-3 t/s. Но есть хак: увеличиваем batch size.

# Плохо: маленькие батчи
./main -b 128 --gpu-layers 45

# Хорошо: большие батчи компенсируют latency
./main -b 1024 --gpu-layers 45 --batch-size-penalty 0.5

С batch size 1024 система успевает подгружать слои из RAM пока GPU обрабатывает предыдущий батч. Скорость выравнивается до 7-8 t/s в среднем.

💡
Парадокс: на Intel Arc с runtime expansion большие батчи работают лучше, чем на NVIDIA с полной загрузкой модели. Потому что latency скрывается за compute time.

Альтернативы: что еще попробовать в 2026

Phi3.cpp - не единственный вариант. Есть еще два подхода, которые работают с GSI Engram на ограниченном VRAM:

  1. vLLM с PagedAttention для SYCL: экспериментальная сборка, которая умеет разбивать attention между VRAM и RAM. На 30% быстрее phi3.cpp, но стабильность хромает.
  2. MLC-LLM с компиляцией для Intel GPU: компилирует модель в SPIR-V шейдеры. Занимает меньше памяти, но требует перекомпиляции для каждой новой промпт-структуры.
  3. Старый добрый CPU inference: если у тебя 128GB RAM и Threadripper, как в нашем гайде по оптимизации AI-станции.

Кому подойдет эта схема в 2026

Runtime expansion на Intel Arc - решение для конкретного сценария: у тебя есть карта с 16-24GB VRAM, но нужна модель на 70B+. Это не замена полноценному GPU с 48GB+ памяти.

Идеально для:

  • Разработчиков, которые тестируют большие модели перед развертыванием на сервере
  • Исследователей с ограниченным бюджетом на железо
  • Энтузиастов, которые хотят запустить GSI Engram локально, а не платить за API

Бесполезно для:

  • Продакшн-сред с требованием к стабильной latency
  • Бач-обработки тысяч промптов
  • Систем с менее чем 64GB оперативной памяти

Что будет дальше: прогноз на 2027

Runtime expansion - временное решение. К концу 2026 Intel обещает карты с 32GB HBM3e памятью по цене сегодняшних A770. Но пока этого не случилось, phi3.cpp и подобные форки - единственный способ запустить 70B модели на потребительском железе.

Совет напоследок: не пытайся использовать эту технику с моделями больше 100B параметров. Даже с 128GB RAM и runtime expansion latency становится неприемлемой. Для настоящих монстров вроде Claude Code все еще нужны серверные карты или аренда облачного GPU.