Guide / operations
Runtime-профили
Как держать стабильный ответ при разных уровнях памяти, concurrency и форматах.
Profile anatomy
Из чего состоит профиль
Профиль должен фиксировать не только model ID, но и всё, что влияет на воспроизводимость: формат, tokenizer revision, context budget, seed и режим вывода.
profile: balanced
model: aster-8b
revision: 1.8.3
format: q4
context: 16384
batch: 1
max_tokens: 2048
seed: 17
json_mode: strictMemory
Считайте KV cache отдельно
Веса — только часть бюджета. Для длинного контекста память растёт вместе с batch и числом слоёв. Начинайте с conservative profile, затем увеличивайте параметры по одному.
| Профиль | Context | Batch | Когда использовать |
|---|---|---|---|
| economy | 4–8K | 1 | CPU, smoke tests |
| balanced | 8–16K | 1–2 | Универсальный локальный runtime |
| extended | 32–64K | 1 | GPU с достаточной VRAM |
| reasoning | 32–128K | 1 | Orion и контролируемые budget |
Warm-up
Измеряйте два типа latency
Cold start
Загрузка weights, kernels и allocator. Может занять заметное время при первом запуске.
Steady state
Обычная задержка после прогрева. Её и стоит использовать в мониторинге.
vertex-runtime bench --manifest model.manifest.json \
--warmup 3 --requests 12 --report bench.jsonOperations
Production checklist
- Проверяйте checksum при каждом обновлении.
- Храните runtime version вместе с model revision.
- Ограничивайте max tokens и context на входе приложения.
- Пишите только агрегированные метрики, если содержимое prompt не нужно.
- Имейте отдельный degraded profile без vision или длинного контекста.