Anthropic이 LLM 추론 증명 도구 FlashProve를 공개했다
Anthropic을 중심으로 한 연구진이 대규모 언어모델의 응답이 어떤 모델에서 나왔는지를 암호학적으로 증명하는 오픈소스 프로토타입 FlashProve를 공개했다. 이 시스템은 zkSNARK를 활용해 모델 제공자가 특정 모델에 대한 약속을 하고, 이후 각 응답이 그 모델에서 생성됐음을 증명하도록 설계됐다. 모델 가중치는 증명 과정에서 드러나지 않으며, 코드와 문서, Lean 형식화는 Apache 2.0 라이선스로 배포된다. 완성된 제품이라기보다 연구 중간 결과를 공유하는 성격이다.
공개된 수치는 400B 파라미터 혼합 전문가(MoE) 모델인 Llama 4 Maverick을 4비트 양자화한 설정을 기준으로 한다. H100 GPU 한 장이 1,024토큰 요청에 대해 약 19MB 크기의 증명을 만들며, 증명 생성 속도는 초당 약 110토큰 수준이다. 같은 길이의 요청을 일반 오픈소스 추론 라이브러리 vLLM으로 처리할 때와 비교하면 GPU 시간이 약 70~95배 더 든다. 기존 공개 시스템보다는 크게 빨라졌지만, 일반 추론 대비 비용은 여전히 상당하다.
zkSNARK는 연산이 올바르게 수행됐다는 짧은 증명을 만들고, 검증자가 그 증명을 빠르게 확인하게 해주는 암호학 도구다. 이번 공개에는 블로그 글, 기술 보고서, 프로토콜 명세, 실행 코드, Lean 증명과 시각화 도구가 함께 포함됐다. 실행 코드에는 증명 생성기와 두 종류의 검증기가 들어 있다. 하나는 C++ 고속 검증기이고, 다른 하나는 Lean으로 작성된 검증기다. 연구진은 보안 보장과 관련된 최상위 수학적 명제를 Lean으로 형식화해 감사 가능한 형태로 제공했으며, Lean 정리를 살펴볼 수 있는 대화형 시각화 도구도 공개했다.
문제의 출발점은 사용자가 모델 응답의 출처를 확인할 방법이 거의 없다는 데 있다. 모델 라우팅 서비스가 비용 절감을 위해 다른 모델을 몰래 끼워 넣거나, 공격자가 토큰 스트림을 변조해도 최종 출력만으로는 구분하기 어렵다. 응답 품질이 높다는 사실도 어떤 모델이 답했는지를 보장하지 않는다. 독립 평가자가 출시 전후 모델을 평가할 때, 기업이 제3자 라우팅을 통해 받은 응답이 계약한 모델의 것인지 확인할 때도 같은 문제가 생긴다.
추론 증명은 이런 신뢰 공백을 줄이는 수단으로 제안된다. 제공자가 먼저 모델을 확정해 공개하고, 각 응답에 대해 해당 모델이 실제로 계산에 사용됐다는 증명을 붙이는 방식이다. 사용자는 가중치를 갖고 있지 않아도 짧은 증명을 검증할 수 있다. 연구진은 이 기술이 소비자 제품부터 내부 보안, AI 개발 속도 조절과 규제 준수 확인을 위한 도구 모음까지 폭넓게 쓰일 수 있다고 본다. 다만 FlashProve가 숨기는 것은 가중치이며, 모델 구조 자체를 숨기는 것은 목표가 아니다.
개발자 입장에서 이번 공개는 추론 증명을 실제 시스템 설계에 넣을 때 어떤 비용과 구성 요소가 필요한지 가늠할 재료가 된다. 증명 생성은 모델 서빙과 별도 GPU 부담을 만들고, 1,024토큰 요청 기준 약 19MB의 증명을 다뤄야 한다. 반면 검증 쪽은 C++ 고속 검증기와 Lean 기반 검증기를 선택할 수 있어 성능과 형식적 신뢰성을 나눠 고민할 수 있다. 평가 파이프라인이나 라우팅 서비스에서 모델 출처를 확인하는 기능을 검토하는 팀이라면 공개된 코드와 명세를 직접 살펴볼 수 있다.
한계도 분명하다. 이번 글은 완료된 연구 의제가 아니라 중간 진행 상황을 공유하려는 목적을 갖는다. 제시된 속도와 증명 크기는 특정 모델, 4비트 양자화, prefill의 정수 연산 설정에 기반한 수치이므로 다른 모델이나 서빙 구성에 그대로 적용된다고 보기 어렵다. 일반 추론보다 70~95배 많은 GPU 시간이 든다는 점은 추론 증명이 아직 실서비스 기본값이 되기 어렵다는 사실을 보여준다. 연구진은 공개한 코드와 증명을 다른 이들이 가져가 개선하기를 기대한다.