Anthropic이 AI 모델의 응답이 사업자가 밝힌 바로 그 모델의 가중치에서 나왔음을 암호학으로 증명하는 오픈소스 연구 프로토타입 FlashProve를 2026년 11월 2일 공개했다. 사용자는 모델 가중치를 보지 못해도, 받은 응답이 약속된 모델의 계산 결과인지 CPU로 확인할 수 있다.1
코드와 Lean 증명, 문서는 Apache 2.0 라이선스로 풀렸다. Anthropic은 이 글이 완성된 연구 계획이 아니라 중간 진행 상황이며, 다른 연구자가 가져다 개선하길 바란다고 밝혔다. 시험 대상은 Meta의 Llama 4 Maverick이다. 총 4,000억 매개변수의 전문가 혼합 모델로, 토큰 하나를 처리할 때 약 170억 개를 쓴다. 제3자가 Hugging Face에 올린 4비트 변환본을 썼고, 가중치는 이번 공개물에 들어 있지 않다. 사용자가 Meta의 Llama 4 라이선스에 따라 직접 내려받아야 하며, 전체 예제를 돌리려면 대형 GPU 서버와 Meta 토크나이저가 필요하다.1
왜 응답 출처를 증명해야 하나
오늘의 사용자는 자신이 고른 모델이 실제로 응답했는지 확인할 방법이 없다. 중개 서비스가 비용을 아끼려고 다른 모델로 몰래 바꿔 넣을 수 있고, 공격자가 토큰 스트림을 조작할 수도 있다. 응답 품질만 보고 판단하는 방식은 믿을 수 없다고 Anthropic은 설명했다.
공개 전 평가와 공개 후 서비스가 같은 모델인지 확인해야 하는 외부 평가 기관, 중개 서비스에서 비용을 낸 모델의 토큰을 받았는지 알고 싶은 고객이 대표적인 수요처다. 가중치가 비공개인 데다, 가중치가 있어도 응답을 검증하려면 모델을 다시 돌려야 해서 일반 사용자나 평가자가 감당하기 어렵다.1
Anthropic은 활용처를 넷으로 들었다. 규제 기관이 제공자의 하드웨어가 올바른 모델로 추론을 처리하는지 확인하는 것으로, AI 개발 속도 조절(페이싱) 요건을 검증하는 도구 가운데 하나다. 서버가 침해돼 악성 응답이 섞이거나 더 강한 모델이 약한 모델인 척 돌아가는 일을 잡아내는 것, 보안 점검이나 사업 계획 검토에 특정 모델을 썼다는 주장을 검증하는 것, 승인된 모델만 서비스하도록 강제하는 것도 활용처다. 다만 이 방식은 하드웨어가 추론을 하고 있음을 보일 뿐, 옆에서 학습을 돌리지 않는다는 점까지 보증하지는 않는다.1,2
한 가지 사례로, 코드 배포 전에 모델 사업자가 특정 모델에 최소 100만 토큰을 들여 특정 패치를 살폈지만 버그를 찾지 못했다는 '실패 증명'을 개발자에게 줄 수 있다고 했다.1
작동 방식과 보장 범위
바탕은 zkSNARK라는 암호 기법이다. 모델 사업자가 응답과 함께 짧은 증명을 보내고, 사용자가 이를 빠르게 검증한다. 응답이 지정한 모델과 다르면 검증이 실패하고, 증명은 가중치에 대한 정보를 드러내지 않는다.1
절차는 두 단계다. 오프라인 단계에서 사업자는 특정 가중치 하나에 묶인 짧은 지문인 커밋먼트를 공개한다. 모델당 한 번 약 39분이 걸린다. 기술 보고서가 다루는 기술적 이유로 이 커밋먼트는 약 1,600만 요청에만 유효하고, 그 뒤에는 사업자가 다시 커밋해야 한다. 온라인 단계에서는 요청마다 GPU가 해당 토큰이 커밋된 모델에서 나왔다는 증명을 만든다.
Anthropic은 증명의 성질을 셋으로 정리했다. 정직한 증명은 통과하고, 거짓 진술에 대한 유효한 증명은 사실상 만들 수 없으며, 검증자는 가중치와 중간 계산값, 층마다 어떤 전문가가 쓰였는지를 알 수 없다. 모델 구조 자체는 숨기지 않는다. 내부적으로는 상호작용 Oracle 증명을 해시 함수로 암호 증명으로 바꾸는 검증된 방식을 쓰며, Anthropic은 양자 컴퓨터에 대한 안전성도 있다고 밝혔다. 같은 계열이 Starknet 같은 블록체인 L2 네트워크에도 쓰인다.
속도를 끌어올린 설계는 세 가지다. 증명 작업량이 전체 4,000억 개가 아니라 실제로 쓰인 약 170억 개에 비례한다(어떤 전문가가 선택됐는지는 증명에서도 숨겨진다). 요청을 사후에 배치로 증명하는데, 이는 프리필과 비슷한 방식이다. 가중치를 일반 메모리에서 흘려 보내며 층 묶음 단위로 증명해서 80GB GPU 한 장과 약 290GB 호스트 메모리로 충분하다.1,2
사후 증명은 추론과 동시에 증명하는 방식보다 느려도 보안을 덜 희생할 수 있다. 대신 다시 계산해야 하는 복잡성, 보증이 늦게 나오는 지연, 비결정성이라는 한계가 따른다.1
성능과 기존 시스템 비교
측정은 H100 한 장과 CPU 24코어 서버에서 했다. 요청 하나는 1,024토큰 창이고 증명은 토큰 하나를 검사한다. 요청 24건 배치를 증명하는 데 약 223초가 걸려 초당 110토큰이며, 증명 파일은 18.78MB다. 저장소 성능 문서에는 배치 24건이 초당 111.23토큰이고, 배치 1건은 17.41토큰, 배치 64건은 123.31토큰이지만 80GB 카드에서는 불안정하다고 적혀 있다.1,2
검증자는 GPU 없이 CPU만 쓴다. 커밋먼트를 약 6.5MB 한 번 내려받고 요청마다 증명 하나를 받는다. 검증은 24스레드에서 17초, 단일 스레드에서 21초 걸린다.
비용은 가볍지 않다. vLLM으로 같은 모델의 FP8 판을 H100 8장에서 돌린 것과 비교하면, GPU 한 장당 증명 시간이 24건 배치 기준 약 72배(실행마다 66~77배)다. vLLM을 가장 높은 부하로 돌렸을 때는 약 94배다. 1,024토큰 요청 하나당 증명 크기는 약 19MB이고, 전체 GPU 시간은 vLLM의 약 70~95배다. Anthropic은 이번 진전이 더 많은 모델과 구조로 옮겨질 것으로 보며, 이 약 70~95배(약 2자릿수) 오버헤드가 이전에 예상한 수준보다 훨씬 작다고 밝혔다.1
| 시스템 | 증명한 모델 | 처리 속도 | 증명 크기 | 검증 시간 | 컨텍스트 | 공개 여부 |
|---|---|---|---|---|---|---|
| FlashProve | Llama 4 Maverick(4,000억, MoE) | 약 110토큰/초(H100 1장) | 18.78MB | 17초(24스레드) | 1,024토큰 | Apache 2.0 공개 |
| Attestable | Gemma 4 31B(밀집 모델) | 53~77토큰/초(H100 1장) | 4.35~7.92MiB | 157~648ms | 최대 16K 토큰 | 오픈소스 미공개 |
| VerInf | Llama 4 Maverick | 약 0.02토큰/초(1,000토큰에 14.3시간, DGX Spark) | 93.6GB | 거의 하루(마크테크포스트 표는 17.7시간, 20코어) | 1,000토큰 | MIT 라이선스 공개(마크테크포스트 표) |
Anthropic은 Attestable이 밀집 모델에서 독립적으로 보고한 수치와 비교했다. Attestable은 아직 대응하는 오픈소스 라이브러리를 내놓지 않았다. 마크테크포스트 표에 따르면 Attestable은 최대 16K 토큰 컨텍스트까지 다뤄서, FlashProve의 1,024토큰 한도와 차이가 크다. 그 밖에 DeepProve는 GPT-2에서 약 2.9토큰/초, Gemma 3에서 약 1.4토큰/초(분산 시 31토큰/초)를 냈고, zkLLM은 2024년에 130억 매개변수 모델을 A100 한 장에서 약 2.5토큰/초로 증명했다.1,2
형식 검증과 한계
Anthropic은 Claude가 암호·보안 문헌의 최신 도구를 새로운 방식으로 적용했다고 밝혔다. 암호 코드는 오류에 취약하다는 이유로 프로토콜을 Lean으로 형식화해 완전성, 건전성, 영지식성을 증명했다. 검증기는 두 가지다. 일상용 C++ 검증기는 빠르지만 형식 보증이 없고, 느린 Lean 검증기는 건전성 정리가 받아들이는 증명만 받는다고 증명돼 있다. 테스트한 모든 증명에서 둘의 결과는 일치했다.1
마크테크포스트는 저장소 README에 부정을 저지르는 사업자가 걸리지 않을 확률이 약 q/2^124 + 2^-101로 적혀 있다고 전했다. 같은 매체는 Anthropic 팀이 Claude가 시스템 최적화를 도왔다고 언급했다고 보도했다.2
- 빠른 실행 코드에는 형식 보증이 없다. Lean 구현, 논문, 실행 코드가 서로 일치하는지는 보장하지 않는다.
- 증명 대상은 정수 연산으로 옮긴 모델의 탐욕적 디코딩(greedy decoding) 결과다. 부동소수점 구현이나 샘플링 디코딩의 응답은 어느 지점에서 증명된 계산과 어긋날 수 있다. 정수 판은 일반적으로 작은 오차율 안에 있는 것으로 시험됐지만, 적대적으로 설계한 프롬프트는 이 범위 밖이다.
- 시스템은 전문가 혼합 구조를 전제로 하고 구조 자체는 숨기지 않는다. 밀집 모델이나 구조까지 숨기는 방식은 이후 과제다.
- 증명 생성 시간을 재는 부채널 공격으로 가중치 정보가 새어 나갈 수 있으나, 이번 공개에서는 다루지 않았다.
- 컨텍스트는 최대 1,024토큰이다. Anthropic은 이상적으로는 수십만~수백만 토큰인 최신 모델의 전체 컨텍스트 창까지 늘리는 것이 바람직하다고 적었다.
Anthropic은 안전 로드맵에서 2026년 9월 30일까지 모델 출력을 특정 가중치에 귀속시키는 증명 가능한 추론 프로토타입을 만들겠다는 목표를 공개했다. 회사는 책임 있는 확장 정책(RSP) 갱신에서 별도의 관련 프로젝트로 이 목표를 달성했다고 밝혔고, 이번 FlashProve는 같은 목표를 다른 방법으로 추구한다고 설명했다. 10월 19일 갱신에서는 목표 이름을 '증명 가능한 추론' 대신 '추론 검증'으로 바꿨다. 원래 목표가 토큰 스트림의 무결성에 대한 높은 확신이었고, 앞 이름이 필요 이상으로 좁은 접근을 시사한다고 봤기 때문이다.1