A equipe da ggml-org anunciou o llama.cpp v1.0.0 no Hugging Face e publicou, ao mesmo tempo, a biblioteca llama.cpp (libllama) e a biblioteca de tensores ggml (libggml) na versão 1.0.0. O projeto tem cerca de três anos e meio, e a equipe afirma que muitas aplicações dependem dele hoje.
O que o número da versão passa a significar
A mudança central é um compromisso de compatibilidade. Os dois projetos vão sinalizar incompatibilidades de API e ABI com a troca da versão major. A equipe define as regras para todos os seus projetos que usam versionamento semântico:
- Major: mudança que quebra a API pública em C, na pasta include.
- Minor: recurso retrocompatível, atualização de backend, suporte a modelo ou adição à API.
- Patch: correção de bug sem alteração de API.
Segundo a equipe, ela será mais rigorosa em deixar esses limites visíveis à medida que a adoção crescer.
Distribuição
O post lista os canais pelos quais o software é distribuído:
- Artefatos de pré-lançamento para Linux, macOS, Windows, Android e iOS.
- Imagens Docker para Linux.
- Pacotes Debian.
- Homebrew para macOS e Linux.
- conda-forge para Windows, macOS e Linux.
- MacPorts e Winget.
- Um XCFramework para iOS e macOS.
A equipe também indica aos mantenedores de pacotes uma discussão sobre como incluir os projetos nos próprios fluxos de publicação.
Desenvolvimento e cobertura
A equipe diz que usa LLMs no próprio desenvolvimento de forma comedida, mantendo o controle da arquitetura. Ela está investindo em infraestrutura de CI, com HF Buckets e HF Jobs, do Hugging Face, para ganhar capacidade, e adiciona runners próprios nas principais plataformas de hardware, com apoio de NVIDIA, AMD, Qualcomm, Arm, IBM e Intel.
Em modelos, o llama.cpp suporta hoje mais de 150 variantes de arquitetura e todos os principais métodos de decodificação especulativa. O suporte a hardware vem pelos backends do ggml, e cada um pode ser compilado como biblioteca dinâmica e carregado em tempo de execução.
O que o anúncio não traz
O post não descreve novas capacidades de modelos nem números de desempenho, e não dá prazo para uma futura versão major. A mudança trata de previsibilidade para quem constrói sobre as bibliotecas.