Команда ggml-org объявила о выходе llama.cpp v1.0.0 в блоге Hugging Face. Одновременно в версии 1.0.0 вышли библиотека llama.cpp (libllama) и тензорная библиотека ggml (libggml), на которой она основана. Проекту около трёх с половиной лет, и, по словам команды, от него теперь зависит множество приложений.
Что теперь значит номер версии
Главное изменение - обязательство по совместимости. Оба проекта будут сигнализировать о несовместимости API и ABI повышением мажорной версии. Для всех своих проектов с семантическим версионированием команда описывает такие правила:
- Major: ломающее изменение публичного C API в каталоге include.
- Minor: обратно совместимая функция, обновление бэкенда, поддержка новой модели или расширение API.
- Patch: исправление ошибки без изменений в API.
По мере роста числа пользователей команда обещает строже следить за тем, чтобы эти границы были заметны.
Распространение
В публикации перечислены каналы, через которые поставляется ПО:
- готовые артефакты пред-релиза для Linux, macOS, Windows, Android и iOS;
- образы Docker для Linux;
- пакеты Debian;
- Homebrew для macOS и Linux;
- conda-forge для Windows, macOS и Linux;
- MacPorts и Winget;
- XCFramework для iOS и macOS.
Отдельно команда отсылает тех, кто собирает пакеты, к обсуждению о том, как добавить проекты в их собственные релизные конвейеры.
Разработка и охват
Команда говорит, что использует LLM в собственной разработке умеренно и сохраняет контроль над архитектурой. Она вкладывается в CI-инфраструктуру: берёт мощности в HF Buckets и HF Jobs от Hugging Face и добавляет собственные раннеры на основных аппаратных платформах при поддержке NVIDIA, AMD, Qualcomm, Arm, IBM и Intel.
Что касается моделей, llama.cpp сейчас поддерживает больше 150 вариантов архитектур и все распространённые методы спекулятивного декодирования. Аппаратная поддержка реализована через бэкенды ggml: каждый можно собрать как динамическую библиотеку и подгружать во время работы.
Чего в анонсе нет
В публикации нет ни новых возможностей моделей, ни цифр производительности, ни сроков следующего мажорного релиза. Смысл изменения - в предсказуемости для тех, кто строит продукты на этих библиотеках.