Repository navigation
Models and Geometry.ru
Сколько места нужно каждой модели на 4× RTX PRO 6000 (96 GB GDDR7, TP4). Прочитайте это до выбора hot-бюджета — предыдущая версия этой страницы публиковала размер горячего набора, который не помещается на одну карту; арифметика ниже — то, что планировщик делает на самом деле.
balance.json даёт layers, experts, topk, cell_mib_full (байты одного полного эксперта
на слой). Банк:
полный банк (все ранги) = layers × experts × cell_mib_full
банк на rank (TP4) = полный банк / 4 # каждый эксперт шардится на 4 ранга
Hot-бюджет HOTSPLIT_HOT_GIB — на rank, в GiB локальных строк. Планировщик жадно заполняет
его по доле маршрутизации на байт. Число горячих экспертов — результат, а не вход.
Значения посчитаны из config.json модели; cell_mib_full округлён, фактические размеры тензоров
измеряются при загрузке (см. README рецепта). Это расчётные числа, а не замеры.
| Параметр | Значение |
|---|---|
| Слоёв × экспертов, top-k | 69 × 384, top-8 |
| Полный банк (все ранги) | ~492 GiB |
| Банк на rank (TP4) | ~123 GiB |
| Полезная VRAM на карту | ~89 GiB (96 GB минус накладные драйвера) |
Весь банк на rank не помещается на одну карту. Разбиение hot + cold здесь обязательно. Безопасный стартовый hot-бюджет оставляет место под KV cache и буферы CUDA graph:
hot-бюджет ≈ полезная VRAM − KV cache − резерв
Например, при 8 GiB KV + 2 GiB резерва: 89 − 8 − 2 ≈ 79 GiB → планировщик возьмёт столько
топ-экспертов, сколько влезет, примерно 240–250 из 384 при этой геометрии. Точное число зависит
от гистограммы маршрутизации — после dry-run (HOTSPLIT_DRYRUN=1) смотрите строку hotsplit plan:
она печатает бюджет и полученное число hot-ячеек.
Ранее на этой странице числилось «295 из 384 экспертов» как дефолтный горячий набор. Это якорь из прошлого однGPU-замера (разбиение pin-hot-experts на 7360 слотов), а не бюджет VRAM на rank. При 19 MiB × 295 ≈ 94 GiB на rank это не помещается рядом с KV cache на карте 96 GB. Не используйте как цель.
| Параметр | Значение |
|---|---|
| Слоёв × экспертов, top-k | 40 × 384, top-6 |
| Полный банк | ~280 GiB |
| Банк на rank (TP4) | ~70 GiB |
| Рекомендуемый hot-бюджет | 52 GiB (лестница 47 / 52 / 57 GiB) |
Помещается с запасом: 52 GiB hot + KV + резерв комфортно на 89 GiB.
| Параметр | Значение |
|---|---|
| Слоёв × экспертов, top-k | 75 × 256, top-8 |
| Полный банк | ~380 GiB |
| Банк на rank (TP4) | ~95 GiB |
| Рекомендуемый hot-бюджет | 36 GiB (лестница 31 / 36 / 41 GiB) |
Банк на rank близок к пределу карты — hot 36 GiB оставляет VRAM под KV cache.
| Параметр | Значение |
|---|---|
| Слоёв × экспертов, top-k | 42 × 288, top-8 |
| Полный банк | ~160 GiB |
| Банк на rank (TP4) | ~40 GiB |
| Рекомендуемый hot-бюджет | 31 GiB (лестница 26 / 31 / 36 GiB) |
Весь банк помещается в VRAM — hot 31 GiB оставляет место под KV cache. ⚠ Заблокирован на ванильном vLLM на SM120 — см. FAQ.
| Ситуация | Бюджет |
|---|---|
| Первый запуск, трафик неизвестен | дефолт рецепта (якорь в tp4.env.example) |
| Длинные контексты, много конкурентных запросов | уменьшите бюджет, отдайте место KV cache |
| Короткие контексты, один поток | увеличьте, следите за строкой лога hotsplit mem
|
Правила большого пальца:
-
HOTSPLIT_HOT_GIBпуст = «использовать объём GPU-резидентных байт экспертов, который использовала стоковая расстановка» — НЕ «весь банк». Стоковая расстановка никогда не превышает VRAM; пустой дефолт безопасен, но консервативен. -
HOTSPLIT_VRAM_RESERVE_GIB=2— пол, а не обещание. KV cache выделяется vLLM после загрузки модели; длинные контексты его съедают. Для 128K контекста планируйте десятки GiB KV, а не 2. - Всегда проверяйте после запуска:
bash scripts/check-hotsplit-tp4.sh <container> <dynamic|static>и строкуhotsplit planв логах.
English
Русский
中文