Przejdź do treści
sobolewski.proAI dziś, o 20:00Zapisz się

Raz dziennie, wypiszesz się jednym kliknięciem. Polityka prywatności

FlashProve: Anthropic udowadnia, który model dał odpowiedź

FlashProve od Anthropic to open source zkSNARK, który dowodzi, że odpowiedź pochodzi z konkretnego modelu, bez ujawniania wag. Sprawdzam, jak to działa.

4 min czytania

Ten artykuł w innych językach:العربيةDeutschEnglishEspañolFrançaisItaliano日本語简体中文

W tym artykule
  1. Jaki problem rozwiązuje FlashProve?
  2. Jak szybki jest FlashProve?
  3. Gdzie w tym wszystkim jest Claude?
  4. Na co zwrócić uwagę?
  5. Do czego może się przydać?
  6. FAQ

Frontier Red Team Anthropic opublikował 2 listopada FlashProve, otwarty prototyp tzw. „provable inference”. Dostawca modelu może nim kryptograficznie udowodnić, że konkretna odpowiedź pochodzi z konkretnego, wcześniej zadeklarowanego zestawu wag, i to bez ujawniania samych wag. Kod jest na GitHubie na licencji Apache 2.0.

Jaki problem rozwiązuje FlashProve?

Kiedy pytamy model przez API, nie mamy jak sprawdzić, że odpowiedział nam ten model, za który płacimy. Autorzy podają przykład serwisu pośredniczącego, który po cichu podmienia model „for cost reasons”, oraz dostawcy, który mógłby serwować tańszą albo zdegradowaną wersję i podrobić logi.

FlashProve odpowiada na to tzw. zkSNARK-iem, czyli krótkim dowodem z wiedzą zerową. Działa to w dwóch krokach:

  1. Raz na model dostawca publikuje zobowiązanie do wag, krótki „odcisk palca”, który wiąże go z jednym zestawem wag, a jednocześnie ich nie zdradza.
  2. Dla każdego zapytania serwer generuje dowód, że to właśnie zadeklarowany model wyprodukował dane tokeny. Każdy może ten dowód sprawdzić na zwykłym CPU, bez dostępu do wag.

Dowód ma kilka właściwości: uczciwy dowód zawsze przejdzie, podrobionego praktycznie nie da się zrobić, wagi i wartości pośrednie pozostają ukryte, a sam dowód jest mały i tani do sprawdzenia.

Jak szybki jest FlashProve?

I tu robi się ciekawie. Zespół pokazał to na pełnym Llama 4 Maverick, czyli modelu MoE (mixture-of-experts) z 400 mld parametrów, w tym ok. 17 mld aktywnych na token, z wagami 4-bitowymi. Według wpisu:

  1. Prover potrzebuje jednego H100 i 24 rdzeni CPU, a wagi strumieniuje z ok. 290 GB pamięci hosta.
  2. Faza wstępna trwa ok. 39 minut i wykonuje się raz na model.
  3. Paczka 24 zapytań zajmuje ok. 223 sekund, czyli ok. 110 tokenów na sekundę, a jeden dowód waży 18,78 MB.
  4. Sprawdzenie dowodu zajmuje 17 sekund na 24 wątkach (21 sekund na jednym), bez GPU.

Narzut nadal jest duży: dowodzenie trwa ok. 72 razy dłużej niż przetworzenie tych samych 24 zapytań przez vLLM (66-77 razy w zależności od przebiegu). Dla porównania autorzy przytaczają wcześniejsze otwarte prace, które osiągały ułamki tokena na sekundę albo działały na modelach rzędu GPT-2.

Gdzie w tym wszystkim jest Claude?

W samej pracy badawczej. Według autorów Claude wypracował usprawnienia zkSNARK-ów dla inferencji i napisał specyfikację protokołu. Zespół zaznacza jednak, że Claude „often makes decisions that are hard to evaluate”, więc właściwości bezpieczeństwa zapisano i udowodniono w Lean. W repozytorium znajdują się m.in. prover, szybki weryfikator w C++ i drugi, formalnie zweryfikowany weryfikator w Lean, a według autorów oba zgadzają się na każdym testowanym dowodzie. O tym, jak Claude radzi sobie z dowodami formalnymi, pisałem przy okazji weryfikacji formalnej 123 bibliotek open source.

Wśród autorów są badacze Anthropic, EPFL, MIT, StarkWare i Succinct.

Na co zwrócić uwagę?

Po pierwsze, na to, że to prototyp badawczy. Wpis nie mówi nic o użyciu FlashProve dla modeli Claude ani w produkcji Anthropic, a repozytorium jest oznaczone jako nieutrzymywane i nie przyjmuje zmian.

Po drugie, na ograniczenia opisane przez samych autorów. Dowód obejmuje całkowitoliczbową wersję wag i dekodowanie zachłanne (greedy decoding), więc odpowiedzi z samplowaniem mogą się różnić. Kontekst jest ograniczony do 1024 tokenów, architektura modelu nie jest ukryta, a projekt zakłada model MoE. Brak też formalnych gwarancji dla szybkiego kodu wykonywalnego.

Po trzecie, na opóźnienie. FlashProve dowodzi już po inferencji, w paczkach, więc nie dostaniemy dowodu razem z odpowiedzią.

Do czego może się przydać?

Autorzy wymieniają m.in. wykrywanie przejętych serwerów albo podmienionych modeli, potwierdzanie, który model napisał dany tekst, i pilnowanie, żeby serwowane były tylko zatwierdzone modele. Ciekawy pomysł to tzw. „Proof-of-Failure”: dowód, że dostawca zużył co najmniej określoną liczbę tokenów konkretnego modelu i nie osiągnął wyniku, np. że model nie znalazł błędów w łatce po co najmniej 1 mln tokenów.

To inne podejście niż znak wodny Claude, który oznacza tekst statystycznie i wymaga tajnego klucza do detekcji. FlashProve daje matematyczny dowód, który może sprawdzić każdy. W planach zespół ma ukrycie szczegółów architektury i rozszerzenie limitu 1024 tokenów na pełne okno kontekstu.

FAQ

Co to jest FlashProve?

To otwarty prototyp Anthropic do tzw. provable inference: system dowodów kryptograficznych (zkSNARK), który pozwala sprawdzić, że odpowiedź wygenerował konkretny, zadeklarowany model, bez ujawniania jego wag.

Czy FlashProve działa z Claude?

Według wpisu Anthropic nie ma o tym mowy. Zespół testował go na otwartym Llama 4 Maverick, a sam projekt jest prototypem badawczym.

Czy mogę sam sprawdzić dowód FlashProve?

Tak. Według README weryfikację przykładowego dowodu możemy uruchomić na Linuksie z g++ 13, w mniej niż 2 GB RAM, bez GPU. Do generowania dowodów dla pełnego modelu potrzebny jest H100 80 GB i kilkaset GB pamięci RAM.

Na jakiej licencji jest FlashProve?

Na licencji Apache 2.0. Wagi modelu nie są dołączone, trzeba je pobrać z Hugging Face na licencji Llama 4.

  • AI
  • Anthropic
  • bezpieczeństwo

AI dziś, o 20:00

Codziennie wieczorem najważniejsze wiadomości ze świata AI i nowe wpisy z bloga. Krótko, ze źródłami.

Raz dziennie, wypiszesz się jednym kliknięciem. Polityka prywatności