Skip to content

Latest commit

 

History

History
150 lines (108 loc) · 16.3 KB

File metadata and controls

150 lines (108 loc) · 16.3 KB

Документация LocalForgeLLM

English · Русский · 简体中文 · Español

September 18 update (English): Bonsai benchmarks · REAP / APEX rebuild · Jev API + browser-use · Updated graphics.

К проекту · Установка · Профили запуска · Замеры

Руководство для агента

Начните с AGENTS.md и общего скилла LocalForgeLLM. Фреймворк охватывает три уровня работы с LLM: установка готовой модели и стека; настройка или изменение; создание собственного артефакта из полных весов. Обновления и подключение интерфейсов применяются на всех уровнях. Для генерации изображений, видео и аудио предусмотрена отдельная планируемая ветка.

Когда читать Руководство
Понять устройство фреймворка и роли компонентов Архитектура
Разобрать задачу, изучить реализацию или продолжить работу со стеком Процесс агента и запись состояния стека
Установить опубликованную модель и зависимости Уровень 1 — установка
Изменить контекст, распределение нагрузки, скорость или поведение MoE Уровень 2 — настройка и адаптация
Докачать голову, включить, отключить или проверить speculative decoding MTP: операции, память и качество
Конвертировать, калибровать и квантовать полные веса Уровень 3 — сборка
Выбрать движок или метод обработки весов Движки · APEX
Подключить или доработать агента и оболочку Контракты интерфейсов · Pi · OpenShell · llama UI · Hermes
Обновить, починить или откатить рабочий стек Сопровождение
Проверить возможности, качество и расход ресурсов Проверка результата
Работать над будущей генеративной веткой Планируемая область
Сверить версии и основания инструкций Источники

Новые технические руководства ведутся на английском. Примеры развёртывания ниже сохранены на русском. В границах проверки отдельно указано, что сверено с исходниками, а что измерено на рабочем стеке.

Как это работает

  1. Укажите кодинг-агенту задачу, нужный контекст и бюджет памяти. Задайте MoE-модель или доверьте ему выбор. Он изучает CPU, GPU, RAM, накопитель и установленное ПО.
  2. По документации фреймворка, модели и движка выбирает совместимый движок и формат весов.
  3. Подбирает распределение CPU/GPU, потоки, контекст, точность кеша и размеры батчей под вашу задачу.
  4. Запускает задачу, проверяет ответ, измеряет скорость и потребление RAM/VRAM, затем уточняет настройки. Результат — готовый профиль запуска с версией движка и параметрами.

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

Установка и команды ниже — два примера для одного ПК: Qwen и Gemma с APEX GGUF. Тот же цикл выбора и настройки фреймворк применяет к другим MoE-моделям и методам квантования.

Установка

Проверенное железо: Linux x86_64, драйвер Vulkan, RTX 4060 8 ГБ, Ryzen 5 5600 и 32 ГБ RAM. Выделите примерно 22 ГБ на SSD для Gemma со зрением или 18 ГБ для Qwen. Это проверенные конфигурации, а не универсальные минимальные требования.

  1. Скачайте архив llama.cpp b10883 с Vulkan и распакуйте его в runtime/.
  2. Создайте models/ и скачайте один из профилей ниже. Сохраните исходные имена файлов; проектор зрения называется mmproj.gguf.
  3. Запустите выбранный профиль и откройте localhost:8080. Для агентов используйте http://127.0.0.1:8080/v1 и идентификатор модели gemma-apex или qwen-apex. Запускайте одну модель за раз.
Профиль Файлы
Gemma 4 26B-A4B Heretic · I-Balanced Модель · 19.51 ГБ + зрение · 1.19 ГБ
Qwen3.6 35B-A3B · I-Compact Модель · 17.29 ГБ · текстовый профиль

Профили запуска

Выполняйте команды из каталога с runtime/ и models/. Архив создаёт runtime/llama-b10883/. В нашей конфигурации Vulkan0 — RTX 4060; при другом порядке устройств измените это значение.

Gemma

Нужна пользовательская сессия systemd. Лимит службы 11 ГиБ включает файловый кеш; mmap позволяет освобождать страницы модели и повторно читать их с SSD. Это ограничивает резидентную память ценой возможных задержек ввода-вывода. Лимит не резервирует память для других приложений и не гарантирует защиту от OOM.

mkdir -p logs
systemd-run --user --unit=gemma-apex --collect \
  --property=MemoryMax=11G --property=MemorySwapMax=0 \
  --property=OOMPolicy=kill --property=OOMScoreAdjust=1000 \
  --property=LimitCORE=0 --property=CPUQuota=600% \
  --property=Nice=5 --property=TimeoutStopSec=15 \
  --property="StandardOutput=append:$PWD/logs/gemma-server.log" \
  --property=StandardError=inherit \
  "$PWD/runtime/llama-b10883/llama-server" \
  --model "$PWD/models/gemma-4-26B-A4B-heretic-APEX-I-Balanced.gguf" \
  --mmproj "$PWD/models/mmproj.gguf" \
  --no-mmproj-offload --image-max-tokens 1120 \
  --alias gemma-apex --host 127.0.0.1 --port 8080 --cors-origins localhost \
  --device Vulkan0 --gpu-layers all --n-cpu-moe 27 --fit off \
  --load-mode mmap --threads 6 --threads-batch 6 \
  --ctx-size 32768 --parallel 1 --batch-size 1152 --ubatch-size 1152 \
  --flash-attn on --cache-type-k q8_0 --cache-type-v q8_0 \
  --cache-ram 0 --ctx-checkpoints 1 \
  --temp 1.0 --top-p 0.95 --top-k 64 --min-p 0 \
  --log-colors off --log-timestamps

Остановка: systemctl --user stop gemma-apex. Проектор работает на CPU. Сохраняйте размеры батчей 1152 при лимите 1120 токенов изображения: меньший микробатч вызывал ошибку assertion при обработке изображений в этой сборке.

Qwen

Работает в текущем терминале; остановка — Ctrl+C. В этом профиле нет лимита памяти службы и проектора зрения.

./runtime/llama-b10883/llama-server \
  --model ./models/Qwen3.6-35B-A3B-APEX-I-Compact.gguf \
  --alias qwen-apex --host 127.0.0.1 --port 8080 --cors-origins localhost \
  --device Vulkan0 --gpu-layers all --n-cpu-moe 36 --fit off \
  --load-mode none --threads 6 --threads-batch 6 \
  --ctx-size 32768 --parallel 1 --batch-size 512 --ubatch-size 128 \
  --flash-attn on --cache-type-k q8_0 --cache-type-v q8_0 \
  --cache-ram 0 --ctx-checkpoints 4 \
  --temp 1.0 --top-p 0.95 --top-k 20 --min-p 0 \
  --log-colors off --log-timestamps

Пример с APEX

Эти профили используют GGUF-веса со смешанной точностью APEX. Точность назначается по роли тензора и слою; профили I- используют калибровку по матрице важности. MoE активирует часть экспертов для каждого токена, а llama.cpp распределяет вычисления между CPU и GPU. Полная модель размещается совместно на SSD, в RAM и VRAM.

Замеры на RTX 4060

Ryzen 5 5600 · 32 ГБ RAM · Manjaro Linux · llama.cpp b10883 / Vulkan · 10 сентября 2026 года.

Модель / профиль Генерация Окно контекста RAM / VRAM модели
Qwen3.6 35B-A3B · I-Compact 21.11 токена/с 32,768 пик RSS 13.43 ГиБ / 4.07 ГиБ
Gemma 4 26B-A4B Heretic · I-Balanced + зрение 9.78 токена/с 32,768 лимит службы 11 ГиБ / снимок 4.88 ГиБ

Qwen: 28 завершённых запросов, 19.37–22.09 токена/с, до 29,087 токенов контекста по отчётам. Gemma: один завершённый запрос с подключённым зрением, 599 входных / 632 выходных токена. Настроенное окно 32K не означает стресс-тест с заполненным контекстом; скорость генерации не включает обработку промпта.

Нагрузка на ПК и методика

Мониторинг ресурсов Qwen охватывает 314 замеров за первые 10 мин 44 с сессии, включая паузы:

Ресурс Среднее / максимум
RAM модели, RSS 13.23 / 13.43 ГиБ
VRAM модели 4.07 / 4.07 ГиБ
CPU модели, доля всех 12 логических потоков 10.1% / 46.9%
Загрузка всей GPU, включая приложения рабочего стола 89.8% / 100%
Температура GPU 50.4 / 54 °C

Доступная системная RAM снижалась до 2.53 ГиБ, свободная VRAM — до 811 МиБ. Gemma достигла лимита cgroup 11 ГиБ, который включает файловый кеш и отличается от RSS. Её 4.88 ГиБ VRAM — отдельный снимок; загрузка CPU/GPU для этого профиля не записывалась.

Qwen сгенерировал 7,820 токенов за 28 завершённых запросов. Средняя по времени скорость генерации: (7820 − 28) / 369.07315 = 21.11 токена/с, с учётом первого токена по методике llama.cpp. Средняя скорость обработки нового входа — 67.36 токена/с. Gemma потратила 97.59 с на обработку промпта и 64.55 с на генерацию: всего 162.13 с. Эти замеры описывают скорость обслуживания запросов, а не качество модели.

Сравнение с Colibri и FreeToken

Сравнение Qwen3.6: LocalForgeLLM — 21.11, Colibri — 9.9, FreeToken — 39.3 токена/с. Наш пик RSS — 13.43 ГиБ; у Colibri заявлено 40 GB; у FreeToken указано 32 ГиБ установленной RAM. Железо и квантование различаются.

  • Colibri: авторы приводят 9.2 / 9.9 токена/с с холодной / прогретой историей маршрутизации, пик RSS 40 GB, Threadripper 3945WX + RTX 3070 8 ГБ, int4, генерация 200 токенов.
  • FreeToken: авторы приводят 39.3 токена/с на RTX 4060 Laptop 8 ГБ + i9-13900H, 32 ГиБ LPDDR5, NVFP4, кодинг-задача через OpenCode. Объём установленной RAM не является замером потребления процесса.

Наша скорость Qwen — 2.13× от приведённой прогретой скорости Colibri и на 46.3% ниже приведённой скорости FreeToken. Строки описывают разные CPU, форматы, задачи и способы усреднения. Показатели памяти у нас и у Colibri — RSS процесса; 32 ГиБ у FreeToken — установленная ёмкость. 11 ГиБ у Gemma — лимит службы, включающий файловый кеш. Учитывайте эти определения при сравнении конфигураций.

Обновление Gemma MTP — 11 сентября

Тот же основной APEX-профиль с отдельной Q8 MTP-головой показал 14,83 токена/с по двум запросам и 15,03 токена/с за 102,05 с генерации длинного ответа. Окно 32K и распределение основных весов сохранены; максимальный наблюдавшийся контекст — 2265 токенов. Разница +51,1% относительно предыдущего запроса без MTP не является изолированным приростом: запросы различаются. Формальная проверка качества, зрения и инструментов с MTP остаётся открытой.

Сравнение, две английские инфографики, ресурсы и источники · Числовые замеры · Докачка головы, включение и отключение