Проблема, которую решает FlashProve, знакома всем, кто покупает доступ к моделям через посредников. Вы платите за сильную модель, а провайдер может незаметно подменить её на дешёвую, и проверить это по ответу невозможно: качество скачет само по себе. Второй сценарий — скомпрометированный инференс-сервер, который меняет веса или подменяет выходные токены.
Идея Anthropic — «доказуемый инференс». Провайдер один раз фиксирует обязательство (commitment) по конкретному набору весов: это криптографический отпечаток версии модели. Дальше на каждый запрос он прикладывает доказательство с нулевым разглашением (zkSNARK) того, что ответ получен именно от этой версии на данном входе. Пользователю не нужны веса и не нужно перезапускать модель: он проверяет связку «обязательство — вход — ответ — доказательство».
Цифры
Эксперимент проводили на Llama 4 Maverick — MoE-модели на 400 млрд параметров, из которых около 17 млрд активны на токен. На одной NVIDIA H100 генерация доказательств идёт со скоростью около 110 токенов в секунду, файл доказательства для запроса на 1024 токена занимает примерно 18,8 МБ. Проверка не требует GPU: около 17 секунд на CPU с 24 потоками.
Оптимизация под MoE — главная причина, почему это стало возможным: считаются только активированные эксперты, а доказательства генерируются пакетно после инференса, чтобы не пересчитывать всё заново.
Чего это не решает
Ограничения честно перечислены. Генерация доказательства требует в 70–95 раз больше GPU-времени, чем обычный инференс на vLLM. Поддерживается окно в 1024 токена, целочисленные модели и жадное декодирование — то есть не все модели и не все режимы. И главное: доказательство подтверждает авторство модели, а не правильность ответа; галлюцинация пройдёт проверку.
Код генератора, верификаторы на C++ и Lean, описание протокола и формальные доказательства выложены под Apache 2.0. Для индустрии это первый практический шаг к «паспорту» модели в API — пусть пока и исследовательский.
The problem FlashProve addresses is familiar to anyone buying model access through intermediaries. You pay for a strong model, and the provider can quietly swap in a cheaper one, with no way to tell from the answer, because quality varies anyway. The second scenario is a compromised inference server that alters weights or substitutes output tokens.
Anthropic’s idea is “provable inference”. The provider commits once to a specific set of weights, creating a cryptographic fingerprint of the model version. For each request it then attaches a zero-knowledge proof (zkSNARK) that the answer came from that committed version on that input. The user needs neither the weights nor a local re-run: they verify the tuple of commitment, input, response and proof.
The numbers
The experiment used Llama 4 Maverick, a 400-billion-parameter MoE model with about 17 billion parameters active per token. On a single NVIDIA H100, proof generation runs at roughly 110 tokens per second, and the proof file for a 1024-token request is about 18.8 MB. Verification needs no GPU: around 17 seconds on a 24-thread CPU.
The MoE optimisation is the main reason this became feasible: only activated experts are proven over, and proofs are batched after inference to avoid recomputation.
What it does not solve
The limits are stated honestly. Proof generation needs 70–95 times more GPU time than ordinary vLLM inference. Support covers a 1024-token window, integer models and greedy decoding, so not every model or mode. Most importantly, the proof confirms which model produced the output, not that the output is correct; a hallucination will verify fine.
The proof generator, C++ and Lean verifiers, protocol description and formal proofs are published under Apache 2.0. For the industry this is the first practical step toward a model “passport” in the API — albeit still a research prototype.