Anthropic ha pubblicato FlashProve, un prototipo di ricerca open source dedicato all’inferenza provabile. Questo sistema, basato su uno zkSNARK (una prova crittografica che permette di dimostrare un’affermazione senza rivelarne i dettagli), consente di provare che una risposta proviene da un modello congelato, senza rivelare nulla dei suoi pesi.
- Anthropic pubblica FlashProve, un prototipo open source che prova crittograficamente che una risposta proviene da un modello con pesi impegnati.
- Il sistema permette all’utente di verificare il modello usato senza rivelare i pesi, contro sostituzioni o modifiche del flusso di token.
- Su un H100 con Llama 4 Maverick a 4 bit, un batch di 24 richieste raggiunge 111,23 token al secondo, ma la prova richiede circa 72 volte più tempo GPU rispetto a vLLM.
- Il sistema accetta solo 1.024 token per richiesta, decoding greedy e modelli MoE, e il verificatore in Lean, più lento, offre garanzie formali che il verificatore C++ non ha.
Il problema affrontato riguarda innanzitutto gli sviluppatori. Oggi, un utente che interroga un modello non può verificare quale modello abbia effettivamente prodotto la risposta. Un servizio di instradamento potrebbe sostituire il modello richiesto con un modello meno costoso, e un attaccante potrebbe modificare il flusso di token (le unità di testo elaborate dal modello). Giudicare la qualità di una risposta non è sufficiente, secondo la fonte, per rilevare queste sostituzioni.
Funzionamento e prestazioni
FlashProve contrappone due attori: il prover, cioè il fornitore del modello, e il verifier, cioè l’utente. Il sistema funziona in due fasi. Offline, il fornitore pubblica un commitment, un’impronta breve che vincola un insieme esatto di pesi. Questa fase richiede circa 39 minuti e copre circa 16 milioni di richieste. Online, la GPU produce per ogni richiesta una prova che il modello impegnato ha effettivamente generato quei token.
Anthropic afferma che questo dispositivo offre una sicurezza post-quantistica e indica che appartiene alla stessa famiglia delle prove di validità utilizzate da reti di livello 2 come Starknet. Secondo la guida alle prestazioni del repository, Anthropic ha misurato il sistema sui pesi pubblici di Llama 4 Maverick, un modello da 400B parametri a mistura di esperti (MoE, architettura che attiva solo una parte dei parametri per ogni token), con 4 bit di precisione, su un singolo H100, una GPU di Nvidia.
Per un batch di 24 richieste, la velocità dichiarata è di 111,23 token al secondo. Una singola richiesta raggiunge solo 17,41 token al secondo. La dimensione della prova è di 18,78 MB, e la sua verifica richiede 17 secondi su 24 thread. Confrontato con vLLM, un sistema di inferenza che esegue Maverick in FP8 su 8 H100, la prova costa circa 72 volte più tempo GPU per batch, e circa 94 volte alla massima velocità testata da vLLM.
Sicurezza e limiti
Poiché il codice crittografico è fragile, Anthropic dice di aver formalizzato il protocollo nel linguaggio Lean, per provarne la completezza, la validità e la divulgazione zero-knowledge. Il README indica che un fornitore disonesto sarebbe rilevato, tranne con una probabilità di circa q/2^124 + 2^-101. FlashProve comprende due verificatori: un verificatore veloce in C++, destinato all’uso quotidiano, ma che non beneficia di alcuna garanzia formale, e un verificatore più lento in Lean, la cui accettazione è limitata, secondo Anthropic, a ciò che il teorema di validità ammette.
Il sistema presenta anche dei vincoli. È limitato a 1.024 token per richiesta, al decoding greedy e ai modelli MoE per il momento. Anthropic indica inoltre che il suo team ha utilizzato Claude per ottimizzare il sistema. Il codice è pubblicato sotto licenza Apache 2.0 su il repository GitHub di FlashProve.
