ИИфронтир - Стоимость сборки для Qm3
🤖 ChatGPT
Вердикт Да, такая машина существует, и идею уже проверили почти буквально. Старый восьмисокетный сервер без видеокарт способен запускать модели размером 355B–1T параметров и выдавать:
около 5–6 ток/с на хорошей 355B MoE-модели;
около 1,7 ток/с на триллионной MoE-модели;
предположительно 6–12 ток/с на Qwen3-235B-A22B в зависимости от квантизации и поколения CPU.
Но 4 ТБ RAM почти не увеличат скорость относительно 1 ТБ. Они позволяют загрузить больше моделей, сделать несколько копий модели или обслуживать много запросов параллельно. В одном чате скорость определяет пропускная способность памяти и NUMA, а не её объём.
Такой древний монстр действительно есть Практически идеальный кандидат — Lenovo/IBM System x3950 X6:
8 процессорных сокетов;
до 192 модулей памяти;
поддержка Xeon E7 v2/v3/v4;
отдельные конфигурации с DDR3 и DDR4;
24 слота памяти на каждый процессор;
8U, до 110 кг;
до 20 вентиляторов.
Для 4 ТБ DDR3 можно поставить:
64 × 64 ГБ DDR3 LRDIMM — разумнее для скорости;
либо 128 × 32 ГБ DDR3 LRDIMM — больше модулей, выше потребление и потенциально ниже частота.
64-гигабайтные DDR3-модули для этой платформы обычно работают на 1333 MT/s. Официальная документация подтверждает поддержку 32- и 64-гигабайтных DDR3 LRDIMM и 192 слотов, поэтому 4 ТБ для этой платформы — совершенно штатный объём. Lenovo Documentation+2Lenovo Support+2
Реальные результаты: не расчёт, а запущенные модели Нашёл владельца Lenovo x3950 X6 с 8 × Xeon E7-8880 v3, 144 физическими ядрами, 288 потоками, 1 ТБ RAM и без GPU.
| Модель | Размер в RAM | Генерация | 1000 выходных токенов |
|---|---|---|---|
| GLM-4.7 355B-A32B, Q8_0 | 349 ГиБ | 6,30 ток/с | 2 мин 39 с |
| GLM-4.7 355B-A32B, BF16 | 657 ГиБ | 5,49 ток/с | 3 мин 02 с |
| 555 ГБ | 1,70 ток/с | 9 мин 48 с | |
| 555 ГБ | 0,70 ток/с | 23 мин 49 с |
GLM показывает ещё один важный момент: обработка промпта и генерация — разные вещи. У него получилось около 30 ток/с при обработке промпта длиной 8192 токена, но только 6,3 ток/с при последовательной генерации ответа. Значит, загрузка контекста на 8192 токена занимает примерно 4,5 минуты, после чего текст уже идёт со скоростью 6,3 ток/с. Reddit+2Reddit+2
Это почти точное воплощение твоей идеи. Отличие лишь в том, что измеренная машина использовала 1 ТБ DDR4, а не 4 ТБ DDR3.
Что получится именно с DDR3 Есть два принципиально разных варианта.
8 × Xeon E7-8880 v3 + DDR3 Это наиболее разумная «древняя» версия:
144 физических ядра;
AVX2;
32 канала памяти суммарно;
DDR3-1333/1600;
восемь NUMA-узлов.
На основании приведённого выше реального результата я бы ожидал:
| Модель | Ожидаемая генерация |
|---|---|
| GLM-4.7 355B-A32B Q8 | 5–6 ток/с |
| Kimi-K2 1T IQ4 | 1,2–1,7 ток/с |
| Qwen3-235B-A22B Q8 | 6–9 ток/с |
| Qwen3-235B-A22B Q4 | 8–12 ток/с |
| Обычная dense 70B Q4 | ориентировочно 3–6 ток/с |
| Небольшая 7–14B Q4 | десятки токенов в секунду |
Это оценки, кроме GLM и Kimi: чистого воспроизводимого теста Qwen3-235B именно на восьми E7 с DDR3 я не нашёл.
8 × Xeon E7-8880 v2 + DDR3 Этот вариант дешевле, но заметно хуже. E7-8880 v2 имеет 15 ядер вместо 18, более медленный QPI и только AVX, тогда как v3 поддерживает AVX2. Поэтому для LLM я бы вычитал ещё примерно 20–35%:
GLM-4.7 Q8: приблизительно 3,5–5 ток/с;
Kimi-K2 IQ4: приблизительно 0,8–1,3 ток/с;
Qwen3-235B-A22B: приблизительно 4–8 ток/с.
Intel подтверждает для E7-8880 v2 только AVX, а для v3 — AVX2; у v2 15 ядер и QPI 8 GT/s, у v3 18 ядер и QPI 9,6 GT/s. Оба процессора допускают восьмисокетные конфигурации и четыре канала памяти на CPU. Intel+1
Qwen3-235B-A22B содержит 235B параметров, но на каждом токене активирует только 22B и 8 из 128 экспертов. Поэтому она значительно быстрее обычной dense-модели того же полного размера. Hugging Face
Почему восемь CPU не дают восьмикратного ускорения Очень грубая формула CPU-инференса:
ток/с≈байты активных весов на токенэффективная пропускная способность RAM Для GLM-4.7 Q8 активируется около 32B параметров. При 6,3 ток/с машина фактически проталкивает через вычисления порядка:
32 ГБ×6,3≈202 ГБ/с Теоретическая сумма пропускной способности восьми процессоров значительно выше, но реально теряется огромная часть из-за:
удалённых обращений между NUMA-узлами;
пересылок через QPI;
синхронизации процессоров;
маршрутизации MoE;
деквантизации;
llama.cpp
В реальном тесте GLM оптимум оказался на 64 потоках, хотя сервер имеет 288 аппаратных потоков. То есть включение всех ядер может даже ухудшить результат.
llama.cpp
Что дадут 4 ТБ Для одного пользователя:
1 ТБ → 4 ТБ: почти 0% прироста скорости;
если добавление модулей снижает частоту памяти, скорость может даже немного упасть;
контекст можно держать значительно больше, но вычисление внимания всё равно станет медленнее.
Для нескольких пользователей 4 ТБ уже интересны. Например, можно:
загрузить восемь отдельных копий Qwen3, по одной на NUMA-узел;
закрепить каждый экземпляр за своим процессором и локальной памятью;
обслуживать восемь независимых запросов без постоянного хождения через QPI;
GGML_NUMA_MIRROR
Тогда отдельный диалог останется на условных 5–10 ток/с, но суммарная пропускная способность сервиса может стать в несколько раз выше. Вот для этого 4 ТБ действительно имеют смысл.
Очень быстрый SSD почти ничего не изменит Пока модель целиком помещается в RAM:
SSD влияет на запуск и холодную загрузку;
после прогрева страницы модели находятся в RAM;
скорость генерации от NVMe практически не зависит.
У x3950 X6 только PCIe 3.0. Один NVMe x4 ограничен примерно 3–3,5 ГБ/с независимо от того, насколько сам накопитель современный. Теоретическая загрузка 555-гигабайтной Kimi с одного такого NVMe:
555/3,5≈159 секунд То есть идеальный минимум около 2,6 минуты, в реальности — несколько минут. RAID0 из нескольких NVMe ускорит запуск, но не генерацию. Платформа действительно поддерживает PCIe Gen3 и NVMe. Lenovo Documentation
llama.cpp
3,5/350=0,01 ток/с То есть примерно 100 секунд на токен, ещё до учёта вычислений и случайного доступа. GitHub
Сколько будет стоить На 12 августа 2026 года встречаются такие предложения:
x3950 X6, 8 × E7-8880 v3, без RAM — около €580–680, примерно 55–65 тыс. ₽;
x3950 X6, 8 × E7-8880 v2, 256 ГБ DDR3 — €783, примерно 75 тыс. ₽;
готовый x3950 X6, 8 × v3 и 1 ТБ RAM — около €2939, примерно 280 тыс. ₽;
владелец измеренной машины купил 8×v3 + 1 ТБ примерно за $1000/€1000, то есть на аукционе можно поймать гораздо дешевле. Центральный банк Российской Федерации+4eBay.de+4GEKKO+4
Сам сервер дешёвый. Дорогая часть — 64 высокоёмких LRDIMM. Совместимые 64-гигабайтные DDR3-модули сейчас встречаются примерно по $99–173 за штуку, иногда дешевле оптом или с разборки. Поэтому только 4 ТБ памяти могут стоить от 350–500 тыс. ₽ при удачной оптовой покупке до 900 тыс. ₽ и выше при покупке поштучно. Memory4Less+2BoostHardware.com+2
Реалистичный бюджет:
| Конфигурация | Ориентировочная стоимость |
|---|---|
| 8×v3 + 1 ТБ RAM + NVMe | 180–300 тыс. ₽ |
| 8×v3 + 4 ТБ DDR3 + NVMe | 450 тыс. – 1 млн ₽ |
| Доставка, стойка, электрика, ремонт | отдельно |
Электричество и бытовая реальность 🔥 Измеренная машина потребляла:
около 600–694 Вт в простое;
около 1,15 кВт на оптимизированном GLM;
до 2,6 кВт при Kimi-K2.
Это примерно 11,3 А от сети 230 В при нагрузке 2,6 кВт. Сервер весит до 110 кг, занимает 8U и имеет двадцать серверных вентиляторов. В жилой комнате это не компьютер, а промышленная печь с турбиной. Reddit+2Reddit+2
Что собирать на практике Оптимальная безумная сборка:
Lenovo x3950 X6 + 8 × Xeon E7-8880 v3 + 1 ТБ правильно распараллеленной памяти + 2–4 NVMe в RAID0.
Именно v3, потому что уже есть AVX2. Память должна быть симметрично распределена между всеми CPU и каналами. Лучше много одинаковых модулей, чем 16 огромных модулей, оставляющих часть каналов незадействованными.
Ожидаемый результат:
GLM-4.7 355B Q8: 5–6 ток/с;
Kimi-K2 1T Q4: 1–1,7 ток/с;
Qwen3-235B-A22B: примерно 6–12 ток/с;
маленькие модели: десятки токенов в секунду;
30 ток/с на Qwen3-235B в одном потоке — маловероятно.
4 ТБ стоит брать только для восьми параллельных экземпляров, NUMA-репликации или моделей больше 1 ТБ. Для одного чата 1 ТБ даёт почти ту же скорость за кратно меньшие деньги.
🤖 ChatGPT
Если речь именно о Kimi K3, то расчёт намного тяжелее, чем я оценивал выше. Я перепроверил модель: это 2,8 трлн параметров, 104B активных на токен, 896 экспертов, 16 активных экспертов; официальный MXFP4-чекпойнт занимает около 1,56 ТБ. GitHub+1
И есть очень полезный реальный ориентир: энтузиаст на 768 ГБ DDR5 + 2×RTX 5090 запустил K3 в Q2_K и получил примерно 4 ток/с. Reddit
А если убрать GPU вообще? Тогда я бы целился примерно в:
8× Xeon E7-8880 v3 + 1–1,5 ТБ DDR3 → порядка 0,2–0,5 ток/с.
То есть 1 ток/с на чистом CPU — уже не «древний сервер», а очень серьёзная многосокетная RAM-машина.
Причина в том, что K3 — не просто «104B модель». Все ~1,56 ТБ весов должны находиться в памяти, несмотря на MoE. На каждом токене вычисляется только часть экспертов, но серверу всё равно приходится обращаться к огромному банку весов. AMD+1
Что я бы собирал ради 1 ток/с Не 4 ТБ DDR3. Я бы сделал:
8 × Xeon E7-8880 v4/v3 2 ТБ DDR4/DDR3 ECC LRDIMM 4–8 каналов/узлов памяти максимально равномерно несколько NVMe PCIe 3.0/4.0 без GPU
И ориентировочно ожидал бы ~0,5–1,2 ток/с, если движок нормально оптимизирован под NUMA и K3.
Но есть принципиальный нюанс: DDR3 может оказаться настолько медленной, что 8 старых CPU не помогут. В таком случае выгоднее не увеличивать число процессоров, а взять меньшее число более новых CPU с существенно большей пропускной способностью памяти.
Самый интересный вариант Если цель именно:
«хочу самый дешёвый компьютер, который реально выдаёт хотя бы 1 ток/с Kimi K3»
то я бы не покупал 8 старых Xeon вслепую.
У нас уже есть экспериментальная нижняя точка:
2×5090 + 768 ГБ DDR5 → ~4 ток/с K3 Q2_K. Reddit
Следовательно, задача — найти CPU/RAM-систему примерно в 4 раза медленнее, но существенно дешевле двух 5090.
И вот тут может оказаться очень интересная конфигурация уровня 2–4 современных EPYC/DDR5 с 1,5–2 ТБ RAM, которая будет одновременно дешевле старого 8-socket монстра и быстрее его.
Если хочешь, я могу именно это сейчас просчитать: самый дешёвый реальный CPU-only Kimi K3 @ ≥1 tok/s — от б/у серверов за несколько тысяч евро до новых EPYC/Threadripper, с конкретными CPU, количеством RAM, ценой и ожидаемыми ток/с.
🧑 You
поищи где то есть бд(не слишком realtime но и не отстающая безумно) с ценами на cpu/ram/gpu чтобы можно было сделать формулу, условно что вот этой модели надо такая-то пропускная способность, а этой такая-то. столько то стоит ddr3 / ddr4/ddr5 vram значит что для котекста 300к она будет генерировать макс output столько токенов со скоростью примерно такойто.
🤖 ChatGPT
Да. Причём я бы не пытался строить это на одной базе. Нужна связка из 3 источников данных + собственная таблица benchmark'ов. И тогда действительно можно получить калькулятор вида:
модель + quant + context 300k + железо → VRAM/RAM → bandwidth bottleneck → ожидаемый tok/s → цена → ₽/tok/s.
Я поискал именно такую инфраструктуру. Уже сейчас есть почти все необходимые куски.
- Самая полезная база по реальным LLM benchmark'ам — LLMDB LLMDB
Это, пожалуй, самый близкий к тому, что нам нужно: community database реальных inference measurements. Сейчас там есть десятки записей с:
железом;
моделью;
quantization;
backend;
generation tok/s;
prompt processing;
latency;
trust score.
Например, там есть RTX 4080 + Qwen2.5-7B → 82,3 tok/s, RTX 4080 + DeepSeek-R1-Distill-Qwen-32B Q4 → 11,2 tok/s. LLMDB
Но 67 записей — слишком мало, чтобы это стало нашей основной моделью.
llama-bench
llama.cpp
Markdown
CSV
JSON
JSONL
SQL
Причём в SQL сохраняются:
CPUGPUbackendmodelmodel sizeparametersbatchthreadsKV cacheGPU layerscontext depthprompt tokensgenerated tokenstokens/sec То есть буквально структура, необходимая нам для базы. GitHub
llama-bench
-d
То есть мы можем отдельно измерять:
Qwen3 235BQ4_K_MCPU/GPUcontext = 4kcontext = 32kcontext = 128kcontext = 300kgeneration tok/s Это намного лучше, чем просто брать рекламные «X tok/s».
- Для цен — Geizhals практически то, что нужно Geizhals Deutschland — RAM
Для Германии это очень хороший источник, потому что он агрегирует реальные предложения магазинов и показывает историю цены.
Причём он уже разделяет:
DDR3
DDR4
DDR5
ECC
RDIMM
LRDIMM
объём модуля
количество модулей.
Например, сейчас там:
DDR4 ECC LRDIMM 64 GB — предложения примерно от €275 за модуль на одной из карточек. Geizhals.de
А DDR3L ECC LRDIMM 32 GB встречается примерно от €225 в немецком агрегаторе. Geizhals.de
То есть можно считать не просто:
DDR4 = €X/GB
а:
DDR4 ECC RDIMM 64GB = €Y/GB DDR4 ECC LRDIMM 128GB = €Y/GB DDR3 ECC LRDIMM 32GB = €Y/GB
Это критически важно для серверного inference.
- Для современных CPU есть ещё более важный параметр: bandwidth Например, AMD EPYC 9004:
12 каналов DDR5-4800 → 460,8 GB/s на один CPU. Supermicro
EPYC 9005:
12 каналов DDR5-6000 → 614,4 GB/s на сокет. Supermicro
И AMD прямо предупреждает: неправильное заполнение каналов памяти снижает пропускную способность. Для inference это очень важно. AMD
То есть в нашей базе CPU должна иметь не только:
CPU = EPYC 9755cores = 128price = €X но и:
memory_channels = 12memory_type = DDR5memory_speed = 6000theoretical_bandwidth = 614.4 GB/smax_RAM = 6 TB
- GPU — TechPowerUp + Geizhals Для технических характеристик:
TechPowerUp GPU Database
Там есть:
VRAM;
тип памяти;
memory bus;
memory clock;
bandwidth;
TDP;
архитектура;
GPU;
CUDA/шейдеры и т.д. TechPowerUp
Например, RTX 5090:
32 GB GDDR7 / 512-bit / 1792 GB/s. Geizhals.de
А текущая немецкая цена одной RTX 5090 начинается примерно с €4k. Geizhals.de+1
Получаем уже прекрасную строку:
RTX 5090VRAM: 32 GBBandwidth: 1792 GB/sPrice: ~€4000 И дальше можно считать.
- Но твоя формула должна быть немного умнее Вот это:
«модели нужно X GB/s → железо имеет Y GB/s → tok/s = Y/X»
как первое приближение работает.
Но как реальный калькулятор — недостаточно.
Я бы сделал модель из четырёх ограничителей:
┌── VRAM/RAM capacity │ ├── memory bandwidthModel + Quant ─────┼── compute │ └── KV cache / context ↓ estimated tok/s
- Для decode действительно можно начать с bandwidth Условно:
T≈WactiveBeffective где:
T = tok/s;
Beffective = реально доступная bandwidth;
Wactive = сколько весов фактически приходится протащить через память на токен.
Для dense-модели это относительно просто.
Например:
70B Q4
примерно:
70B×4/8≈35GB То есть при каждом decode-токене приходится прочитать порядка десятков GB весов.
Если эффективная bandwidth:
500GB/s то теоретический потолок:
500/35≈14.3 tok/s А потом вводим efficiency:
0.5 → 7.1 tok/s0.7 → 10 tok/s0.8 → 11.4 tok/s И именно benchmark'ами определяем efficiency coefficient.
- MoE нужно считать отдельно И здесь начинается самое интересное.
Для Kimi K3, Qwen3-235B и DeepSeek-подобных моделей:
total parameters ≠ active parameters Поэтому нужны два числа:
total_weight_sizeactive_weight_size Например условно:
235B total22B active Тогда:
RAM capacity нужна под:
235B
Decode bandwidth приблизительно зависит от:
22B активной части
Но реальный access pattern MoE гораздо сложнее, поэтому коэффициент эффективности должен быть отдельным.
- А вот 300k context — отдельная история Это самое важное место, где простые калькуляторы обычно начинают врать.
Если ты говоришь:
300 000 токенов контекста
нам надо считать минимум:
weights+KV cache+runtime overhead+CUDA/CPU buffers Причём KV cache зависит от:
number of layers;
KV heads;
head dimension;
KV datatype;
batch size;
architecture.
Условно:
KV=2×L×NKV×dhead×context×bytes И поэтому две модели с одинаковыми:
70B параметров
могут иметь радикально разный объём памяти при 300k context.
- И здесь можно сделать реально полезный калькулятор Я бы сделал БД примерно такой:
models
modelarchitectureparameters_totalparameters_activelayersattention_headskv_headshead_dimmax_contextmoeexperts_totalexperts_active
quantizations
modelquantbitsweight_size
hardware_cpu
cpusocketscoresthreadsmemory_typememory_channelsmemory_speedtheoretical_bandwidthmax_ramprice
hardware_gpu
gpuvrammemory_typememory_bandwidthcomputetdpprice
benchmarks
modelquanthardwarebackendcontextbatchgeneration_tpsprompt_tpsdatesourceconfidence
prices
componentsellerpricecurrencydateconditionnew/used
- А затем поверх этого сделать estimator Пользователь вводит:
Model: Kimi K3Quant: Q2_KContext: 300000Hardware: 2 × EPYC 9755RAM: 2 TB DDR5-6000 Калькулятор сначала проверяет:
Capacity weights = 1.56 TBKV = X GBruntime = Y GB total = 1.7 TB → 2 TB хватает.
Потом:
Bandwidth 2 × 614 GB/s≈ 1228 GB/s theoretical Но применяем NUMA/LLM efficiency:
effective ≈ 600–900 GB/s Потом benchmark calibration:
K3Q2CPU architectureMoE и выдаём:
0.7–1.1 tok/s
а не фальшивую точность:
0.873 tok/s.
- И самое ценное — считать цену одного токена Тогда появляется уже совсем другой показатель:
Цена железа / throughput Например:
Server: €8,000Expected: 1 tok/s Получаем:
€8,000 / (1 tok/s)= €8,000 per tok/s А дальше:
€ / 1M generated tokens с учётом:
electricity;
amortization;
utilization;
cooling.
И вот тогда можно сравнивать:
RTX 5090 vs EPYC vs старый Xeon vs B200 vs MI300X
не по маркетинговым TFLOPS, а по:
€/tok/s при конкретной модели и context length.
- Уже сейчас видно, почему это интересно Например:
| Железо | Теоретическая memory BW | Текущая цена |
|---|---|---|
| RTX 5090 | 1792 GB/s | ~€4k |
| EPYC 9754 | 460.8 GB/s | ~€3.9k |
| EPYC 9755 | 614.4 GB/s | несколько тыс. € |
| DDR4-2666 LRDIMM | значительно ниже GPU | ~€4–6/GB в отдельных предложениях |
| DDR5-4800 RDIMM 128GB | зависит от числа каналов | ~€782/модуль в одном из предложений |
Цены и характеристики здесь именно текущие/наблюдаемые, а не MSRP. Geizhals.de+3Geizhals.de+3Geizhals.de+3
И это уже позволяет строить frontier curve:
tok/s ↑ │ ● B200 │ │ ● 5090×4 │ │ ● EPYC │ │ ● старый Xeon └────────────────────→ €
Причём для каждой модели frontier будет своя.
Что я предлагаю сделать дальше Не просто найти ещё одну таблицу, а собрать первую версию нормальной базы для нашего проекта:
LLMDB + llama-bench — реальные tok/s.
Geizhals — реальные цены CPU/RAM/GPU.
TechPowerUp — технические параметры GPU.
AMD/Intel — каналы и theoretical memory bandwidth CPU.
Hugging Face / model cards — архитектура, параметры, KV heads, quant sizes.
Из этого построить формулу/регрессионную модель, которая будет оценивать неизвестное железо.
Отдельно ввести context = 4k / 32k / 128k / 300k, потому что 300k нельзя экстраполировать линейно.
В результате получить таблицу:
«Какая самая дешёвая конфигурация запускает каждую модель ≥0.1 / 1 / 5 / 10 / 30 tok/s при 300k context?»
Это уже может стать очень мощным LLM Hardware Economics Calculator для «ИИ Фронтира»: не каталог железа, а именно оптимизатор стоимости инференса под конкретную модель.
🧑 You
поищи такого нет?
🤖 ChatGPT
Да. Я нашёл несколько существующих инструментов, и один из них почти ровно то, что ты описывал. Но полноценной базы уровня «любая модель × любое железо × цена × 300k context × реальный/оценочный tok/s» я не нашёл.
Самое близкое — WeightRoom WeightRoom — LLM Hardware Calculator
Это практически готовый прототип нашей идеи. Он умеет:
выбирать модель;
quantization;
context length вплоть до 256K;
concurrent users;
считать weights + KV cache + OS;
задавать GPU VRAM и bandwidth;
задавать CPU RAM + RAM bandwidth;
учитывать MoE: total parameters vs active parameters;
оценивать tokens/sec;
учитывать KV-cache traffic;
сравнивать GPU/CPU/Apple Silicon;
вводить собственное железо. Smelukov
Причём формула там уже почти такая, какую мы обсуждали:
TPS ≈ effective bandwidth / (active parameters × bytes/parameter + KV traffic)
А для MoE они правильно разделяют:
RAM requirement = total parameters TPS = active parameters
Это именно тот принцип, который нужен для Kimi/DeepSeek/Qwen MoE. Smelukov
Но есть серьёзные ограничения WeightRoom пока скорее инженерный estimator, чем полноценная empirical database.
Например, автор сам предупреждает, что оценка TPS — ориентир:
single-GPU dense: примерно 60–90% от оценки;
multi-GPU dense: 40–60%;
multi-GPU MoE: 20–40%. Smelukov
И железо там в основном задано характеристиками, а не реальными рыночными ценами.
Есть ещё Tokestimator Tokestimator
Он делает ещё более простой вариант:
memory bandwidth → model size → TPS, плюс отдельно считает compute-bound TPS и берёт минимум. Tokestimator
Но для нашей задачи он слишком примитивный: практически нет нормальной модели NUMA, MoE, реальных benchmark'ов и длинного KV-cache.
HardwareHQ HardwareHQ Inference Calculator
Тоже считает:
VRAM;
context;
tokens/sec;
latency;
стоимость;
нагрузку.
Но он больше ориентирован на GPU deployment, чем на CPU/RAM-системы. HardwareHQ
Есть ещё Local LLM Benchmark Database Local LLM Benchmark Database
Вот это уже другая половина задачи: реальные измерения.
Сейчас там 82+ benchmark-записей:
hardwaremodelquantruntimetokens/secsource Например:
M1 16GB + Llama 3.2 3B Q4 → 30 tok/sM1 Max 32GB + Llama 3.1 8B Q4 → 42 tok/sM1 Ultra 128GB + Llama 3.1 70B Q4 → 8.5 tok/s То есть это уже можно использовать для калибровки формулы. Kunal Ganglani
А вот чего я НЕ нашёл Не нашёл одной нормальной базы, где было бы:
MODEL ├─ architecture ├─ total params ├─ active params ├─ KV architecture ├─ quant sizes └─ context behaviour HARDWARE ├─ CPU ├─ GPU ├─ RAM ├─ VRAM ├─ bandwidth ├─ NUMA └─ PRICE BENCHMARK ├─ model ├─ hardware ├─ quant ├─ context ├─ prompt tok/s ├─ decode tok/s └─ date И затем:
«Найди минимальную конфигурацию за €X, которая даст ≥1 tok/s на Kimi K3 при 300K context».
Вот такого универсального инструмента я не нашёл.
Более того, есть очень интересная возможность WeightRoom + LLMDB/реальные llama-bench результаты + Geizhals = практически готовая основа.
То есть нам не надо изобретать формулу с нуля.
Можно взять WeightRoom как baseline:
TPSestimate=Wactive+KVtrafficBWeffective а затем поверх реальных benchmark'ов построить поправочный коэффициент:
Efficiency=TPStheoreticalTPSreal И получить уже:
TPSpredicted=TPStheoretical×Efficiency(model,hardware,backend,context) Это намного интереснее.
Потому что тогда мы сможем обнаружить, например:
E7-8880 v3 + DDR3 теоретически должны дать 1.4 tok/s, но реально MoE на 8 NUMA-сокетах даёт 0.65.
И база начнёт учиться на реальных измерениях, а не просто делить GB/s на GB.
Именно такой базы «железо → цена → модель → context → реальный/предсказанный TPS» я сейчас не нашёл. Ближайший готовый продукт — WeightRoom; остальные закрывают отдельные куски задачи. Smelukov+2Kunal Ganglani+2