Обманчивые цифры: как Mistral 4 преувеличивает свои возможности
Вы скачали свежий GGUF-файл Mistral 4, запустили в llama.cpp и обомлели. В логах красуется строчка: context size = 1048576 tokens. Миллион токенов контекста на локальной машине? Звучит как сказка. И она ею является.
На протяжении последней недели в сообществе локального AI ширится странный отчет. Популярные квантованные версии Mistral 4 (например, Mistral-4-24B-Instruct-GGUF) на Hugging Face стабильно сообщают о поддержке контекста в 1 048 576 токенов. Это значение в четыре раза превышает заявленные компанией Mistral AI 256 тысяч токенов для нативной архитектуры модели 2025 года выпуска.
Попытка реально заполнить контекст хотя бы на 300k токенов приводит либо к катастрофическому падению качества генерации, либо к аварийному завершению работы llama.cpp с ошибкой памяти. Физически модель не обучена и не адаптирована для такого объема.
Корень зла — в метаданных GGUF
Разбор полетов показал, что проблема не в самой модели Mistral 4, а в процессе конвертации в формат GGUF. Скрипты, которые используются для квантования исходных весов, по какой-то причине записывают в метаданные GGUF-файла (поле llama.context_length) значение 1048576. Это число — степень двойки (2^20), и оно выглядит как артефакт или значение по умолчанию, которое кто-то забыл исправить.
Инструменты вроде LM Studio или текстовые веб-интерфейсы, которые читают эти метаданные, слепо верят им. Они разрешают пользователю установить ползунок контекста на запредельные значения, создавая иллюзию работы. Фронтенд рисует прогресс-бар, бэкенд (llama.cpp) честно пытается выделить гигантские буферы памяти... и все летит в тартарары.
Чем это грозит на практике?
Последствия не ограничиваются сбоем одной сессии. Представьте, вы настраиваете RAG-систему, рассчитывая на обещанный миллион токенов. Вы загружаете десятки документов, система тихо падает, а вы тратите часы на отладку, думая, что проблема в вашем коде или железе.
- Пустая трата ресурсов: Память выделяется под гигантский контекст, но модель не может его использовать эффективно. Это особенно больно для владельцев систем с ограниченной VRAM, которым и так приходится балансировать на грани, как описано в материале про выбор модели для 16 ГБ VRAM.
- Непредсказуемое качество: При превышении реального лимита в 256k качество генерации резко падает. Модель начинает галлюцинировать, повторяться или выдавать абсолютно случайный текст.
- Сломанные пайплайны: Автоматизированные системы, которые полагаются на метаданные модели для распределения задач, могут сломаться. Например, оркестратор решит, что Mistral 4 справится с самым длинным документом, и отправит его туда, обрекая задачу на провал.
Что делать прямо сейчас?
Сообщество уже отреагировало. В репозитории llama.cpp на GitHub открыт соответствующий issue. Пока официального фикса нет, действуйте так:
- Игнорируйте заявленный контекст. Вручную ограничьте его в настройках вашего клиента (Ollama, LM Studio, текстовый UI) значением 262144 (256k).
- Проверяйте источник моделей. Некоторые поставщики GGUF уже начали перепаковывать файлы с исправленными метаданными. Ищите в описании пометки вроде "fixed context length".
- Используйте флаг
--ctx-size 262144при прямом запуске llama.cpp из командной строки. Это переопределит некорректные метаданные.
Этот баг — отличный повод вспомнить, что квантование, о тонкостях которого мы подробно писали ранее, — это не просто сжатие. Это сложный процесс, где каждая мелочь в метаданных может привести к серьезным последствиям. Особенно это касается современных MoE-архитектур, как в случае с Qwen3-Coder-Next.
Прогноз: баг исправят в течение месяца. Но его отголоски мы будем встречать еще год в виде "волшебных" моделей с нереальным контекстом на торрентах и малоизвестных зеркалах. Доверяй, но проверяй метаданные через утилиту llama.cpp/llama-metadata.
Пока же, если ваш Mistral 4 вдруг начал вести себя странно при работе с длинными текстами — не вините сразу свое железо (хотя проблемы с eGPU, как мы знаем, тоже случаются). Первым делом проверьте, не пытаетесь ли вы впихнуть в него полмиллиона токенов, поверив ложной рекламе в его же заголовке.