Открытый FlashProve доказывает, какая модель написала ответ

Anthropic 3 ноября открыла код FlashProve. Система прикладывает к ответу языковой модели криптографическое доказательство того, что его выдала модель с заранее зафиксированными весами, и сами веса при этом не раскрывает. Главную цифру работы, 110 токенов в секунду на одной H100, надо читать как скорость прогона промпта: при ней в режиме точного совпадения каждое доказательство подтверждает один выданный токен. А проверка полноразмерного доказательства на нашей двухъядерной машине без GPU заняла чуть больше двух минут.
Замеры в исследовательском посте Anthropic сделаны на Llama 4 Maverick, MoE-модели на 400 млрд параметров, в 4-битной квантизации и с целочисленной арифметикой на префилле. Доказательство для запроса в 1 024 токена весит около 19 МБ. Веса оно скрывает, а архитектуру модели система скрывать не пытается. Прувер, два верификатора (быстрый на C++ и доказуемо корректный на Lean) и Lean-доказательства главных утверждений лежат на GitHub под лицензией Apache 2.0. Anthropic делала работу вместе с исследователями из EPFL и MIT, называет её промежуточным прогрессом и прямо просит других взять код и доработать.
Примеры применения Anthropic приводит такие: независимые оценщики убеждаются, что тестируют ту же модель, которую отдают клиентам; клиент сервиса-маршрутизатора проверяет, что токены пришли от оплаченной модели; подмену потока токенов атакующим видно по проваленной проверке. По словам компании, улучшения zkSNARK для инференса нашёл Claude, и раз его решения в большой системе трудно оценивать, ключевые гарантии безопасности записаны на Lean. Цель из своего Frontier Safety Roadmap, прототип к 30 сентября, Anthropic закрыла отдельным проектом, который подписывает её инференс-трафик и пересчитывает инференс на доверенном сервере. FlashProve решает ту же задачу другим методом.
Что значат 110 токенов в секунду
В техническом отчёте 110-111 токенов в секунду - устойчивая скорость префилла. Считаются все 1 024 токена промпта в каждом окне, а в режиме exact match доказательство покрывает прогон по всему промпту и проверяет один токен, который идёт следом. На одно окно уходит около 9,2 секунды. Если проверять ответы целиком под более мягкой политикой clipped gap, с допуском на расхождение, выходит 39,1 токена ответа в секунду (три прогона, разброс ±1,0).
Множитель 70-95 из поста тоже собран из двух разных сравнений с vLLM по GPU-времени: 71,4 раза против префилла 24 окон сразу и 93,0 раза против префилла при самой высокой испробованной нагрузке. На декодировании при 512 потоках разница 20,1 раза. vLLM при этом обслуживал FP8-чекпойнт на восьми H100 и на других машинах.
Прежние открытые системы, по словам Anthropic, медленнее на порядки. Технический отчёт ставит FlashProve рядом с четырьмя из них (VerInf, zkLLM, DeepProve и Attestable), но коэффициентов сознательно не приводит: машины, модели и доказываемые утверждения у всех разные.
Exact match или допуск
В режиме exact match ответ проходит, только если каждый его токен совпадает с выбором целочисленной версии модели, которую и доказывает FlashProve. По документации репозитория, ни один из 96 ответов стокового vLLM в 16 битах и ни один из 96 в FP8 такую проверку бы не прошёл: в одном замере топ-токен целочисленной модели расходился с 16-битной в 6,81% позиций. Эти цифры Anthropic получила Python-реализацией модели, а не выпущенными программами, и мы их не перемеряли. Поэтому ожидаемый режим - clipped gap, и для него теорема на Lean утверждает только, что вывод укладывается в политику; что его выдала модель, она не доказывает.
Гарантии Lean относятся к верификатору и протоколу на Lean, в режиме exact match и в модели случайного оракула, где хеш-функция считается идеально случайной. Верификатор на C++, который пользователи и запускают, и CUDA-прувер в README названы протестированными, но не верифицированными. Положительный ответ, по разделу об ограничениях, значит лишь, что вывод соответствует зафиксированным весам: чьи это веса и какая это реальная модель, он не говорит. Свои 128 бит стойкости C++-верификатор считает с 32 битами proof of work, без них остаётся 96,23 бита. По собственной проверке Anthropic (один прогон на одной машине), все 592 112 объявлений Lean-библиотеки опираются только на три стандартные аксиомы Lean; эту сборку мы не повторяли.
Авторский разбор
Что мы проверили
4 ноября мы собрали C++-верификатор из репозитория компилятором clang 18.1.6 (g++ на нашей машине нет, а цифры Anthropic получены сборкой g++) и запустили его на двухъядерной aarch64-машине без GPU. Проверяли полноразмерное доказательство для модели формы Maverick с синтетическими весами (18 779 540 байт, 1 001 проверенный токен), маленькое доказательство и десять подделок из таблицы самого репозитория.
Проверка без видеокарты действительно работает, но на слабой машине она занимает минуты. В посте речь идёт о секундах на 24-ядерном CPU, в документации Anthropic указана 21,14 секунды на одном потоке такой машины, а у нас вышла 131 секунда и около 2 ГБ памяти. Все десять подделок наша сборка отклонила.
| Что проверяли | Размер | Время | Пик памяти | Результат |
|---|---|---|---|---|
| Полноразмерное доказательство | 18 779 540 байт | 131 с (46,6 с процессорного) | 1 942 МиБ | принято |
| Маленькое доказательство | 4,1 МБ | 3,2 с | 152 МиБ | принято |
| Подделки из таблицы репозитория | 10 наборов | отклонены все 10 |
Среди подделок были изменённый бит и обрезанное доказательство, подменённые файлы ключа, листьев и масштабов, изменённые токены промпта и ответа, другой следующий токен и чужой ID обязательства. Каждую верификатор отклонил с ожидаемой причиной. Прогон был один, на нашей сборке, по таблице изменений из самого репозитория; искать новые атаки мы не пытались.
Дальше
Плагины Claude подключаются сами при входе, пока в бете, Видео
14 сервисов, от Atlassian до Supabase, подключаются к Claude сами при входе: личность пользователя подтверждает сам Claude, без экрана OAuth. Работает в бете на тарифах Team и Enterprise. Бывало, что коннектор в Claude слетал и просил войти заново?
Читайте также
- Claude по просьбе отдал дамп памяти своей песочницы
- Невыпущенный Claude написал root-эксплойт для ядра Linux
- Claude после каждого ответа проверяет диалог на злоупотребления
- Невыпущенная модель Anthropic взломала Chrome в один клик
- Claude Mythos 5 давил на мейнтейнера с фейковых аккаунтов
- METR согласна с Anthropic о низком риске, но не из-за защиты
Комментарии
Пока никто не написал. Будьте первым.
Присоединяйтесь к разговору
Войдите, чтобы оставить комментарий. Он появится после модерации.

