Files
gpu-rent/docs/llm.md
T
Leonid Pershin 2ccb03f7d2 Enhance GPU probing and performance tuning in provisioning
- Introduced GPU probing functionality to gather and store GPU specifications in `/mnt/swarm_data/.gpu-rent-gpu.json`, aiding in performance tuning.
- Updated `install_ollama.sh` and `install_llamacpp.sh` to utilize GPU information for configuring optimal runtime parameters.
- Enhanced `provision.py` to include GPU probing and performance tuning logic, ensuring better resource allocation for LLM operations.
- Improved documentation in `decisions.md`, `llm.md`, and `swarmui.md` to reflect changes in GPU handling and performance tuning processes.
- Added new tests to validate the GPU probing and model resolution logic, ensuring robustness in handling various GPU configurations.
2026-08-21 06:10:24 +03:00

5.0 KiB
Raw Blame History

LLM рядом со SwarmUI (opt-in)

По умолчанию поднимается только SwarmUI. Ollama или llama.cpp — отдельно, когда нужны (помощь с промптами и т.п.).


Быстрый путь

Вариант A — wizard

gpu-rent setup

Выбери ollama или llamacpp, при Ollama — пресет моделей. Значение пишется в gpu-rent.vars (LLM_RUNTIME=…).

Вариант B — флаг на up

gpu-rent up --yes --ollama
gpu-rent up --yes --llm llamacpp

Вариант C — вручную в vars

LLM_RUNTIME=ollama

Потом обычный gpu-rent up --yes.

Чтобы выключить LLM на следующих сессиях: LLM_RUNTIME=none (на up старые unit’ы gpu-rent-ollama / gpu-rent-llamacpp останавливаются).

Голый gpu-rent без args — help, не up. Двойной клик: GPU_RENT_DEFAULT_ARGS=up --yes в gpu-rent.vars. Полный doctor на up: up -v.


Порты (loopback + туннель)

Сервис На VM На ноутбуке
SwarmUI 7801 17801
Ollama 11434 17811
llama.cpp 8080 17812
gpu-rent tunnel
gpu-rent open --llm

Клиент Ollama:

# Windows PowerShell
$env:OLLAMA_HOST = "http://127.0.0.1:17811"

После успешного up/tunnel CLI печатает access-card со всеми URL и MCP-сниппетом.


Ollama: модели

Файл Роль
ollama-models.example.yaml шаблон в git
ollama-models.yaml твой список (gitignore)

На up при LLM_RUNTIME=ollama CLI делает ollama pull по списку. Уже скачанные теги точно не трогает (foo:3bfoo:7b). Лишние модели на диске не удаляет.

Пресеты setup

preset tag зачем
recommended huihui_ai/qwen2.5-abliterate:7b RU/EN, ~5 GB, меньше отказов
light qwen2.5:3b быстрее, слабее
stock qwen2.5:7b официальный
alt richardyoung/qwen2.5-7b-instruct-abliterated другой abliterate
empty [] только runtime, pull руками

Community abliterate-модели без гарантий безопасности — для личного prompt-help рядом со SwarmUI.

Поле default: true в yaml — preferred модель (лог / подсказка); pull идёт по всему списку.


Автотюнинг Ollama под GPU

На установке gpu-rent-ollama читает /mnt/swarm_data/.gpu-rent-gpu.json и пишет env в systemd unit (одна карта вместе со SwarmUI):

Tier (VRAM) Flash Attn KEEP_ALIVE KV cache GPU_OVERHEAD (запас под Swarm/Krea)
low (<16GiB) off 2m q4_0 6GiB
mid (1623) on* 5m q8_0 10GiB
high (2447) on* 15m q8_0 14GiB
ultra (≥48) on* 30m q8_0 20GiB

*Flash на Ampere+ (compute ≥ 8.0). Всегда NUM_PARALLEL=1, MAX_LOADED_MODELS=1.

Файл: /mnt/swarm_data/.gpu-rent-ollama.env (пересоздаётся на каждом install Ollama).


llama.cpp

  1. LLM_RUNTIME=llamacpp или up --llamacpp
  2. CLI ставит llama-server + systemd gpu-rent-llamacpp
  3. Положи GGUF в /mnt/swarm_data/llamacpp/models (SFTP / gpu-rent ssh)
  4. systemctl restart gpu-rent-llamacpp на VM

Без GGUF unit может стартовать, но API бесполезен — смотри gpu-rent logs / journalctl -u gpu-rent-llamacpp.

Параметры -ngl / -c ставятся по тому же GPU probe (full offload на mid+, меньше слоёв и ctx на low).


Idle-killer и LLM

Busy (не гасить GPU), если:

  • идёт ollama pull (маркер младше ~45 мин; старше — сбрасывается);
  • в Ollama есть загруженная модель;
  • llama.cpp занимает слоты.

Ошибка установки LLM на upfail (не тихий лог): почини или поставь LLM_RUNTIME=none.


Supply-chain (опциональный pin)

По умолчанию install-скрипты тянут upstream без pin (Ollama: curl|sh; llama.cpp: GitHub latest) — риск подмены. В логе будет WARN.

Жёстче — задай env на VM / при bootstrap:

OLLAMA_VERSION=0.6.5
OLLAMA_SHA256=<sha256 of ollama-linux-amd64.tgz>

LLAMACPP_TAG=b4690
# или LLAMACPP_ASSET_URL=... + LLAMACPP_SHA256=...