MAATRIX / Блог / Сколько RAM нужно для Mistral

Сколько RAM нужно для Mistral

Сколько RAM нужно для Mistral

MAATRIX

Mistral 7B весит 4,4 ГБ — восемь гигабайтов выглядят нормальным запасом. Дальше выясняется, что родное окно в 32 тысячи токенов стоит ещё четыре гигабайта кэша, русский текст съедает это окно в полтора раза быстрее английского, а Mixtral 8x7B при 26 ГБ весов печатает быстрее, чем Small 24B при четырнадцати. Ниже — требования Mistral к RAM по всем тегам Ollama, арифметика кэша и границы, за которыми пора менять тариф.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Короткий ответ: сколько RAM требует Mistral

Память тратит не рантайм, а модель: сам Ollama в покое держит 90–150 МБ. Остальное — веса, кэш внимания и буфер:

RAM ≈ вес файла × 1,1 + KV-кэш под ваш контекст + 1,5 ГБ на систему

Коэффициент 1,1 закрывает буферы графа, полтора гигабайта — Ubuntu 24.04 с SSH и systemd; Open WebUI в контейнере добавит ещё 0,7–1,5 ГБ. Кэш у Mistral считать легче, чем у конкурентов: во всём семействе ровно 8 KV-голов и head_dim 128, от 7B до 123B, и расход зависит только от числа слоёв.

Ориентиры при Q4_K_M, контексте 8192 токена и одном пользователе: 8 ГБmistral:7b с коротким окном; 12–16 ГБmistral-nemo:12b или тот же 7B на полном окне 32k; 24–32 ГБmistral-small:24b, codestral:22b, devstral, magistral; 48 ГБmixtral:8x7b; 96–128 ГБmixtral:8x22b и mistral-large:123b, и это уже не про VPS.

Строки «4 ГБ» нет намеренно: в отличие от Llama 3.2 и Qwen 2.5, у Mistral нет размеров на 1–3B, библиотека Ollama начинается с 7B. Ministral 3B и 8B существуют, но в официальном каталоге их нет, а лицензия у них исследовательская. Речь про инференс на процессоре; с видеокартой лимитом становится VRAM.

Что скачивается под именем `mistral`

ollama pull mistral в 2026 году всё ещё отдаёт Mistral 7B Instruct v0.3, релиз мая 2024 года. Модель самая ходовая в семействе, но память под неё регулярно планируют по цифрам от «Mistral Small».

ТегЧто этоВес Q4_K_MРодное окноЛицензия
mistral:7b7B Instruct v0.3, 7,25B4,4 ГБ32 768Apache 2.0
mistral-nemo:12bNeMo 2407, Tekken, 12,2B7,1 ГБ128kApache 2.0
mistral-small:22bSmall 2409, 22,2B13 ГБ32 768MRL, некоммерческая
mistral-small:24bSmall 3 / 3.1 / 3.2, 23,6B14–15 ГБ32 768 / 128kApache 2.0
codestral:22bкод, 80+ языков, 22,2B13 ГБ32 768MNPL, некоммерческая
mixtral:8x7bMoE, 46,7B (12,9B акт.)26 ГБ32 768Apache 2.0
mixtral:8x22bMoE, 141B (39B акт.)80 ГБ65 536Apache 2.0
mistral-large:123bLarge 2, 123B73 ГБ131 072MRL, некоммерческая

Ловушки, которые стоят денег. mistral и mixtral отличаются одной буквой и 22 гигабайтами — опечатка в скрипте деплоя на 8-гигабайтной машине кончается отказом при первом запросе. mistral-small — два разных поколения: 22b выпущен под Mistral Research License и коммерческое использование не разрешает, 24b (Small 3 и новее) — честный Apache 2.0. То же с codestral:22b: самая дешёвая по весу кодовая модель лицензирована под MNPL, для продакшена нужен devstral:24b. А magistral:24b весит те же 14 ГБ, но пишет 1000–4000 токенов размышлений, и они тоже ложатся в кэш.

Развернуть за пару минут

Готовый образ на VPS MAATRIX: NVMe, AMD EPYC, root-доступ. Локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Развернуть Ollama

Таблица RAM по всем моделям Mistral

Минимум посчитан по формуле при контексте 8192 токена, комфорт — при 32 768.

МодельВесМинимум (8k)Комфорт (32k)Полное окно
mistral:7b4,4 ГБ8 ГБ12–16 ГБ16 ГБ (32k)
mistral-nemo:12b7,1 ГБ12 ГБ16 ГБ32 ГБ (128k)
codestral:22b13 ГБ24 ГБ32 ГБ32 ГБ (32k)
mistral-small:24b14 ГБ24 ГБ32 ГБ48 ГБ (128k)
mixtral:8x7b26 ГБ32 ГБ48 ГБ48 ГБ (32k)
mixtral:8x22b80 ГБ96 ГБ128 ГБ128 ГБ (64k)
mistral-large:123b73 ГБ96 ГБ128 ГБ128 ГБ (128k)

Три строки требуют комментария.

  • mistral:7b помещается в 8 ГБ свободнее ровесников: 4,84 + 1,0 + 1,5 = 7,3 ГБ из восьми против 7,9 у Llama 3.1 8B. Но Open WebUI не влезет: ему нужно от 0,7 ГБ, а осталось 0,7 вместе с page cache.
  • mistral-nemo:12b требует 10,6 ГБ, а тарифов на 12 ГБ почти не бывает — практический выбор 16 ГБ, и сразу с окном 16–32k.
  • mixtral:8x7b на 32 ГБ живёт на грани: 28,6 + 1,0 + 1,5 = 31,1 из 32, а для MoE это опаснее, чем для плотных моделей.

Что меняет другое сжатие — в разборе какое квантование выбрать для Mistral, остальная библиотека — в таблице RAM для Ollama.

KV-кэш: 8 голов у всех и ловушка с head_dim

Формула стандартная, но у Mistral в неё подставляются одни и те же числа:

KV = 2 × слои × 8 голов × 128 × токены × 2 байта
МодельСлоиKV на токен@ 8k@ 32k@ 128k
mistral:7b32128 КБ1,0 ГБ4,0 ГБ
mistral-nemo:12b40160 КБ1,25 ГБ5,0 ГБ20 ГБ
mistral-small:24b40160 КБ1,25 ГБ5,0 ГБ20 ГБ
codestral:22b56224 КБ1,75 ГБ7,0 ГБ
mixtral:8x7b32128 КБ1,0 ГБ4,0 ГБ
mixtral:8x22b56224 КБ1,75 ГБ7,0 ГБ14 ГБ (64k)
mistral-large:123b88352 КБ2,75 ГБ11 ГБ44 ГБ

Отсюда контринтуитивный вывод: codestral:22b дороже по кэшу, чем mistral-small:24b, хотя параметров меньше. Codestral глубокий и узкий — 56 слоёв при hidden 6144; Small 3 намеренно сделали мелким, 40 слоёв при 5120, ради задержки. На окне 32k это 7,0 против 5,0 ГБ — тарифный шаг.

Проверяйте по метаданным. Первый сюрприз: у моделей Mistral в GGUF префикс llama., а не mistral. — все они собраны под архитектурой llama, и фильтр по mistral* вернёт пустоту.

curl -s http://127.0.0.1:11434/api/show -d '{"model":"mistral-nemo:12b"}' \
  | jq '.model_info | with_entries(select(.key | startswith("llama.attention")))'
{
  "llama.attention.head_count": 32,
  "llama.attention.head_count_kv": 8,
  "llama.attention.key_length": 128
}

Второй сюрприз — key_length (он же head_dim) равен 128, а не 160. Привычное «head_dim = embedding_length / head_count» даёт здесь 5120 / 32 = 160 и завышает кэш ровно на 25 %: 200 КБ на токен вместо 160. У NeMo и Small он задан явно и с делением не совпадает — берите llama.attention.key_length, если поле есть.

Третий сюрприз — в llama.context_length: у NeMo там 1 024 000. Это значение из конфига Mistral, а не проверенная длина: заявленное окно 128k. Поставите num_ctx по метаданным — получите CPU KV buffer size = 160000.00 MiB и падение.

И миф из 2023 года: «у Mistral скользящее окно, поэтому кэш константный». Верно это было только для v0.1 с sliding_window: 4096. В v0.2 и v0.3 окно отключено, кэш растёт линейно — ключа llama.attention.sliding_window в метаданных mistral:7b просто нет.

Mixtral: памяти как у 47B, скорость как у 13B

MoE ломает связку «больше весов — медленнее». В том же выводе api/show у Mixtral есть "llama.expert_count": 8 и "llama.expert_used_count": 2: из 46,7 миллиарда параметров на токен работают 12,9 миллиарда.

Практический смысл: в RAM должны лежать все 26 ГБ, потому что заранее неизвестно, какого эксперта попросит следующий токен, — а читается за токен около 7,5 ГБ. Генерация на CPU упирается в пропускную способность памяти, поэтому Mixtral обгоняет плотные модели вдвое меньшего размера. Замер на 12 vCPU / 64 ГБ DDR5, контекст 8k; полоса по mbw -n 5 1024 — 34 ГБ/с:

МодельЧитается на токенПотолокФакт
mistral:7b4,4 ГБ~7,7 tok/s6,2 tok/s
mistral-nemo:12b7,1 ГБ~4,8 tok/s3,9 tok/s
mixtral:8x7b~7,5 из 26 ГБ~4,5 tok/s3,4 tok/s
codestral:22b13 ГБ~2,6 tok/s2,1 tok/s
mistral-small:24b14 ГБ~2,4 tok/s2,0 tok/s
mixtral:8x22b~23 из 80 ГБ~1,5 tok/s1,1 tok/s

Две выделенные строки — суть выбора: Mixtral при 26 ГБ весов печатает в 1,7 раза быстрее, чем Small 24B при 14 ГБ. Вы платите памятью за скорость.

И предупреждение, специфичное для MoE: своп для Mixtral опаснее, чем для плотной модели. Маршрутизатор прыгает по экспертам случайно, и если 4 ГБ из 26 вытеснены на диск, каждый второй токен ждёт случайного чтения с NVMe — 3,4 tok/s превращаются в 0,2–0,4. Либо модель целиком в RAM, либо mistral-nemo:12b. Почему упор идёт в память, а не в ядра, — в разборе медленной генерации у Ollama.

Русский текст, словарь на 32 768 токенов и проверка, что всё влезло

У mistral:7b словарь 32 768 токенов — вчетверо меньше, чем у Llama 3. Плюс один: выходной слой при батче 512 занимает 512 × 32768 × 4 байта, и в логе видно CPU compute buffer size = 88.01 MiB вместо трёхсот мегабайт. Минус серьёзнее: русский текст в такой словарь не помещается и режется на куски. Замер через ollama run mistral:7b --verbose "$(cat dogovor.txt)":

prompt eval count:    6217 token(s)
prompt eval duration: 2m29s
prompt eval rate:     41.7 tokens/s
eval rate:            6.21 tokens/s
Текст 10 000 знаковmistral:7bmistral-nemo (Tekken)Знаков на токен
По-английски~2 600 ток.~2 400 ток.3,8 / 4,2
По-русски~6 200 ток.~4 000 ток.1,6 / 2,5

У NeMo токенизатор Tekken на 131 072 токена; Mistral заявляет для русского около 30 % экономии, на договорах выходит 35–40 %. Пересчёт в память прямой: тот же документ на семёрке требует окна в полтора раза шире — 16k вместо 10k, 2 ГБ кэша вместо 1,25.

Сколько занято на самом деле, показывает ollama ps — в версиях 0.11 и новее там есть колонка CONTEXT:

NAME                ID              SIZE     PROCESSOR    CONTEXT
mistral-nemo:12b    994f3b8b7801    12 GB    100% CPU     32768

12 ГБ на файл весом 7,1 — разница целиком в кэше. Не хватило памяти — ошибка приходит до загрузки: Error: model requires more system memory (12.8 GiB) than is available (7.4 GiB). Порядок действий, от дешёвого к дорогому:

  • Поставьте реальное окно. По умолчанию Ollama берёт 4096, но клиент перебивает это своим options.num_ctx: Open WebUI шлёт значение из профиля модели, и переменная окружения ни на что не влияет. Смотрите колонку CONTEXT.
  • Квантуйте кэш. Через systemctl edit ollama добавьте Environment="OLLAMA_FLASH_ATTENTION=1" и Environment="OLLAMA_KV_CACHE_TYPE=q8_0" — для NeMo на 32k это 2,6 ГБ вместо 5,0. Без первой переменной вторая молча игнорируется.
  • Держите одну модель. OLLAMA_MAX_LOADED_MODELS=1: связка «семёрка для чата плюс NeMo для документов» занимает 20 ГБ, хотя работает одна. OLLAMA_KEEP_ALIVE=2m освобождает память между запросами ценой 5–8 секунд на перезагрузку весов.
  • Берите модель поменьше, а не квантование погрубее: mistral:7b в Q4_K_M отвечает связнее, чем mistral-small:24b в Q2_K. Остальные симптомы — в частых ошибках Mistral на сервере.

Какой сервер под Mistral взять в MAATRIX

Локальная модель никуда не ходит по сети: веса лежат у вас, запросы не покидают машину. Локацию выбирают по пользователям и юрисдикции, а не по доступности чужих API. Лондон (UK) — базовый вариант: 15–30 мс до Европы, 45–60 мс из Москвы, европейское правовое поле, если среди данных есть клиентские; сетевая задержка на фоне генерации не видна. Россия нужна в одном случае: персональные данные россиян и 152-ФЗ.

Минимум — 4 vCPU / 8 ГБ RAM / 80 ГБ NVMe. Это mistral:7b с окном 8k и примерно 6 токенами в секунду. Ограничения честные: 7,3 ГБ из восьми заняты, Open WebUI рядом не поставить — только API. И помните про русский: восьмитысячное окно у семёрки вмещает около 13 000 знаков кириллицы, шесть-семь страниц.

Комфортный вариант — 8 vCPU / 16 ГБ RAM / 160 ГБ NVMe. Рабочая точка семейства: либо mistral-nemo:12b с окном 16–32k, либо mistral:7b на полном окне 32k плюс Open WebUI. Здесь Mistral перестаёт быть демонстрацией: NeMo экономнее по токенам на русском, и в память влезает документ на 40–50 страниц.

Дальше ступени крупнее. mistral-small:24b и codestral:22b — 8–12 vCPU / 32 ГБ, около 2 tok/s: фоновая обработка, а не диалог. mixtral:8x7b — 12 vCPU / 48 ГБ и 26 ГБ на диске, зато 3,4 tok/s, то есть интерактив. mixtral:8x22b и mistral-large:123b требуют 96–128 ГБ и выдают около токена в секунду — такие размеры решает видеокарта: что брать, — в подборе GPU-сервера под инференс LLM.

Ollama из каталога apps.maatrix.io ставится на сервер автоматически при заказе — вставлять команды не нужно, автоустановка работает на Ubuntu и Debian. Доступы появляются в личном кабинете, раздел «Доступ»; дальше остаётся ollama pull mistral:7b и правка переменных под ваш контекст. Путь от чистой машины до первого ответа — в статье как запустить Mistral на VPS. Оплата — картами российских банков, по СБП, криптовалютой или токеном MAAT. Не уверены в размере — напишите задачу и длину документов, посчитаем без переплаты.

Развернуть за пару минут

Готовый образ на VPS MAATRIX: NVMe, AMD EPYC, root-доступ. Локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Развернуть Ollama

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Хватит ли 8 ГБ RAM для Mistral 7B?

Да, с окном 8192: 4,84 ГБ весов с буферами, 1 ГБ кэша и полтора гигабайта системе дают 7,3 из восьми. Ни Open WebUI, ни полное окно 32k туда не поместятся — нужно 16 ГБ.

Почему Codestral 22B требует под кэш больше, чем Mistral Small 24B?

Кэш зависит от числа слоёв, а не параметров: у Codestral их 56, у Small 3 — 40 при более широких слоях. На 32k это 7,0 против 5,0 ГБ.

Можно ли реально использовать окно 128k у Mistral NeMo?

Технически да, но кэш займёт 20 ГБ — втрое больше весов, нужен сервер на 32 ГБ. И не ориентируйтесь на llama.context_length: там стоит 1 024 000, а заявленная длина 128k.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.