Перейти к содержанию
modelium.
Начать с задачи
←

llama.cpp b11411: проверка вращения KV-кеша ломает совместимость сохранённых состояний

На странице · 2 разделов

В предварительной сборке llama.cpp b11411 исправлено восстановление KV-кеша при несовпадении параметров вращения: теперь формат сохраняет параметры для K и V и отклоняет несовместимое состояние вместо молчаливой интерпретации данных. Версии файлов сессий и состояний последовательностей повышены, поэтому старые сохранения потребуют пересоздания. Обычная загрузка весов модели этим изменением не затронута.

llama.cpp b11411: проверка вращения KV-кеша и старые сессии

5 октября 2026 года разработчики llama.cpp выпустили предварительную сборку b11411 с изменением формата сохранения KV-состояния. Повод — исправление редкой, но неприятной ошибки: при восстановлении кеша с иной настройкой вращения ключей или значений прежний код мог принять данные без ошибки и затем неверно их интерпретировать. Это относится к сохранённому состоянию инференса, а не к файлу весов GGUF. Релиз помечен prerelease; мы не запускали эту сборку и описываем изменение по коду и документации проекта. s1 s2

Что изменилось

В PR #28498 разработчики добавили в сериализуемое состояние точные размеры матриц вращения для K и V. При чтении сохранения они сравниваются с текущим контекстом; при несовпадении восстановление прекращается с диагностикой «incompatible key rotation» или «incompatible value rotation». Автор PR приводит воспроизводимый сценарий: сохранить состояние с квантованным Q8-кешем K/V и настройкой вращения по умолчанию, затем перезапустить процесс с LLAMA_ATTN_ROT_DISABLE=1 и попытаться восстановить его. Раньше такое несовпадение могло давать некорректный результат без явной ошибки. s2 s3

Повышены LLAMA_SESSION_VERSION с 10 до 11 и LLAMA_STATE_SEQ_VERSION с 3 до 4. Автор прямо предупреждает о несовместимости ранее сохранённых состояний. Это изменение нельзя трактовать как необходимость переустановить или скачать модель заново: версии относятся к формату состояния сессии/последовательности, не к GGUF-весам. s2 s3

Кому проверить обновление

  • Если ваш процесс сохраняет и восстанавливает состояние сессии либо отдельной последовательности, после обновления закладывайте пересоздание старого сохранения на новой сборке. Не отключайте проверку вращения ради чтения несовместимого файла. Это эксплуатационный вывод из повышения версий и проверки полей. s2 s3
  • Если вы переключаете параметры квантованного KV-кеша или LLAMA_ATTN_ROT_DISABLE, не переносите уже сохранённое состояние между отличающимися конфигурациями. Совпадающая конфигурация в добавленном тесте восстанавливается; несовпадающая должна отклоняться только там, где вращение действительно используется. s2 s3
  • Если приложение каждый раз начинает новый контекст и не загружает сохранённый KV-кеш, именно несовместимость формата сохранений ему не нужна для миграции. Это не универсальное утверждение о совместимости всех API llama.cpp.

Изменение вошло в открытый код llama.cpp под MIT; новых модельных весов этот релиз не выпускает, а права на используемый GGUF надо проверять отдельно. Для понимания выбора K/V-квантизации и проверки памяти на своём стенде пригодится наше отдельное руководство по KV-кешу. s1 s4

Источники

  1. ggml-org/llama.cpp: release b11411 — Тег опубликован 10:05:50 UTC, предварительный релиз, описание PR #28498.. Получено 05.10.2026.
  2. ggml-org/llama.cpp PR #28498: restore mismatched KV rotation — Сценарий ошибки, параметры вращения и несовместимость старых состояний; PR объединён 08:27 UTC.. Получено 05.10.2026.
  3. ggml-org/llama.cpp PR #28498: changed files — Версии 10→11 и 3→4, сравнение n_rot_k/n_rot_v и тест save/load-state.. Получено 05.10.2026.
  4. ggml-org/llama.cpp LICENSE at b11411 — MIT для кода проекта, не лицензия сторонних GGUF.. Получено 05.10.2026.