Immagine AI

Il progetto open source llama.cpp ha raggiunto il 13 novembre 2026 la versione 1.0.0, introducendo un sistema formale di gestione della compatibilità delle interfacce di programmazione e delle librerie utilizzate per l’inferenza locale dei modelli di intelligenza artificiale. Contestualmente è stata pubblicata la versione 1.0.0 di ggml, la libreria sottostante dedicata alle operazioni tensoriali e all’esecuzione dei calcoli di machine learning. Dopo circa tre anni e mezzo di sviluppo, i manutentori hanno definito regole di versionamento che consentono agli sviluppatori di identificare preventivamente gli aggiornamenti capaci di interrompere la compatibilità del codice sorgente o delle applicazioni compilate. Le modifiche incompatibili alle API pubbliche C e alle interfacce binarie ABI comporteranno l’incremento del numero di versione principale, mentre nuove funzionalità compatibili, estensioni delle API, aggiornamenti dei backend e supporto a ulteriori modelli saranno indicati mediante versioni minori. Le correzioni che non modificano le interfacce utilizzeranno invece aggiornamenti di tipo patch. Il nuovo contratto di compatibilità riguarda direttamente libllama, utilizzata per l’inferenza multimodale, e libggml, impiegata come componente computazionale. Il progetto dichiara il supporto a oltre 150 varianti di architetture di modelli e ai principali metodi di speculative decoding, con possibilità di esecuzione su hardware consumer e sistemi server attraverso quantizzazione, backend ottimizzati e codice C/C++ portabile.

La versione 1.0.0 introduce anche una condizione specifica per il processo di rilascio: un tag ufficiale di llama.cpp può essere creato soltanto quando la copia interna di ggml coincide esattamente con quella della corrispondente release pubblicata separatamente. Questa regola mira a evitare incompatibilità nelle installazioni che utilizzano una versione condivisa della libreria tensoriale, come quelle distribuite mediante Debian e Homebrew. La revisione delle interfacce comprende la rimozione di 35 funzioni precedentemente dichiarate obsolete e il trasferimento delle API NextN per lo speculative decoding dall’header di estensione llama-ext.h all’header pubblico llama.h, includendole così nel sistema di compatibilità formalizzato. Sul piano dell’inferenza vengono introdotte cache key-value in formato floating point OCP FP8 a 8 bit, una cache nella memoria dell’host per i modelli mixture-of-experts con quota CPU configurabile e il caricamento di dati esterni PLE o engram attraverso shard GGUF separati. Il supporto alle architetture viene ampliato con Kimi-K3.1-Pro, Ripple e xing4_0 per il testo, drama-3 per la sintesi vocale e funzionalità visive per MageVL-Cowork e Kimi-K3.1.

Gli aggiornamenti interessano anche llama-server, che introduce interventi di sicurezza relativi agli attacchi di server-side request forgery, alle configurazioni cross-origin e ai tentativi di DNS rebinding. L’utilizzo della variabile HF_TOKEN viene limitato agli host appartenenti al dominio huggingface.co, riducendo il rischio di inviare credenziali a destinazioni differenti. Le chiamate agli strumenti MCP vengono annullate quando il client interrompe la connessione o supera il tempo massimo di attesa, con comunicazione dell’interruzione al server MCP coinvolto. È stato inoltre introdotto un endpoint /v1/audio/speech compatibile con l’interfaccia OpenAI, estendendo le capacità audio del server. L’interfaccia web è stata riorganizzata con gruppi di conversazioni denominati, un editor Markdown con anteprima in tempo reale e miglioramenti dell’utilizzo sui dispositivi mobili, comprese le aree sicure dello schermo, le finestre a tutto schermo e l’apertura della tastiera virtuale nell’editor Android.

La release ggml 1.0.0 elimina ulteriori API obsolete e le precedenti operazioni DIAG_MASK, introduce la configurazione del troncamento YaRN e il supporto FP8, oltre a evitare il trasferimento verso i dispositivi di input dello scheduler che non devono essere letti. I backend CUDA e Metal ricevono ottimizzazioni per la moltiplicazione di matrici quantizzate con poche righe e per la fusione delle operazioni nei modelli mixture-of-experts. Sono stati aggiunti un kernel FlashAttention per il prefill su Intel Vulkan, uno scheduler MoE eseguito sul dispositivo mediante SYCL, un’implementazione scomposta di FlashAttention per Adreno attraverso OpenCL, nuovi kernel WebGPU e una copertura più ampia delle operazioni supportate da Hexagon. Ogni backend ggml può essere compilato come libreria dinamica e caricato facoltativamente durante l’esecuzione, consentendo la selezione del codice più adatto all’hardware disponibile. Gli artefatti preliminari comprendono Linux, macOS, Windows, Android e iOS, affiancati da canali distributivi come Docker, Debian, Homebrew, conda-forge, MacPorts, Winget e XCFramework, con copertura variabile a seconda della piattaforma. Per sostenere l’aumento delle attività di sviluppo, il progetto sta inoltre ampliando le risorse di integrazione continua attraverso Hugging Face Buckets e Jobs e nuovi sistemi di test dedicati, con il contributo hardware di NVIDIA, AMD, Qualcomm, Arm, IBM e Intel. L’impiego di modelli linguistici all’interno del ciclo di sviluppo viene accompagnato dall’obiettivo dichiarato di mantenere qualità del codice, controllo dell’architettura e comprensione delle implementazioni, in un progetto che ora associa all’evoluzione tecnica regole più esplicite per la stabilità delle integrazioni software.

Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI)

Di Fantasy