Ollama выпустила версию 0.34.1 с улучшенной стабильностью MLX и оптимизацией памяти

github:ollama/ollama · оригинал

Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Команда Ollama представила релиз-кандидат v0.34.1, в котором сосредоточились на повышении надежности работы с моделями на базе MLX и llama.cpp. Обновление включает исправление ошибок управления памятью, повышение лимита повторения токенов и визуальные доработки интерфейса приложения.

Ценность: Релиз устраняет критические проблемы с выгрузкой кэша и управлением свободной памятью системы, что повышает стабильность локального запуска больших языковых моделей. Также введено более строгое поведение при достижении лимита повторений, предотвращающее генерацию неполных результатов.

Команда разработчиков Ollama опубликовала релиз-кандидат версии 0.34.1, который приносит ряд значимых технических улучшений и исправлений. Основной акцент в этом обновлении сделан на оптимизацию работы с моделями, использующими фреймворк MLX, а также на повышение общей стабильности ядра LLM-движка. Разработчики пересмотрели логику управления памятью, что должно снизить вероятность конфликтов при загрузке нескольких моделей или переключении между ними.

Одним из ключевых изменений стала доработка модуля mlxrunner. Теперь система автоматически выгружает снимки префиксного кэша из активного разговора, освобождая ресурсы. Кроме того, перед загрузкой следующей MLX-модели программа проверяет объем свободной оперативной памяти и ожидает завершения работы предыдущих процессов. Это решение призвано предотвратить переполнение памяти и обеспечить более плавный переход между различными языковыми моделями.

В части обработки текста в ядре LLM был повышен лимит на количество повторений токенов до 100. Важно отметить изменение поведения системы при достижении этого порога: вместо возврата неполного результата, как это могло происходить ранее, теперь генерируется явная ошибка. Такой подход позволяет приложениям-клиентам корректно обрабатывать ситуации с бесконечными циклами или застреванием модели, не получая при этом обрезанных данных.

Также в обновлении затронута архитектура работы с массивами в MLX. Вместо фиксации и последующей очистки (pinning and sweeping) теперь используется механизм управления временем жизни массивов (scope array lifetimes). Это изменение должно сделать управление памятью более предсказуемым и эффективным. Отдельное внимание уделено модели Gemma 3n: проектор этой модели теперь остается на CPU, что оптимизирует распределение вычислительных нагрузок между процессором и графическим ускорителем.

На уровне пользовательского интерфейса приложения были внесены косметические и функциональные правки. Исправлено выравнивание элементов в селекторе моделей ChatGPT, а также обновлена раскладка раздела «Apps» и текстовые подсказки для команд. Эти изменения направлены на повышение удобства навигации и визуальной согласованности интерфейса.

Релиз также включает обновление внутренних библиотек MLX и llama.cpp, что обеспечивает совместимость с последними версиями этих фреймворков и потенциально открывает доступ к новым оптимизациям производительности. Полный список изменений доступен в сравнении версий на GitHub, где разработчики подробно описывают каждый коммит.