‘앤트로픽 유출’ 주장 넘뱃, 가중치 표본이 난수로 재현
편집·검토: AI Ping 편집팀
3줄 요약
- 11월 2일 허깅페이스에 넘뱃 가중치의 난수 재현 범위를 넓힌 추가 감사가 공개됐다.
- AI Ping이 별도로 대조한 두 배열의 3만6864개 값도 공개된 생성 규칙과 전부 일치했다.
- 익명 업로더가 주장한 앤트로픽 출처와 모델 전체의 학습 이력은 확인되지 않았다.
앤트로픽의 차기 AI 모델에서 유출됐다고 주장하는 ‘넘뱃(numbat)’ 파일을 두고, 가중치 일부가 이름으로 정한 난수 생성 규칙에 따라 재현된다는 추가 감사가 11월 2일 허깅페이스에 공개됐다. AI Ping이 같은 날 별도로 읽은 두 가중치 배열에서도 공개된 생성법으로 만든 값과 파일 속 값이 바이트 단위로 일치했다.
수 테라바이트 파일의 출처를 검토하는 이용자가 가중치 내용을 대조할 수 있는 검사 결과다. 저장소는 10월 23일 개설됐고, 업로더는 약 14조 파라미터와 7.72TB 규모의 학습 중간 저장본이라고 설명한다. 앤트로픽 출처는 익명 업로더의 주장으로 남아 있다. 모델 카드의 입수 경로를 묻는 항목에는 저장소에 적힌 것 이상을 말할 수 없다는 답이 실려 있다.
11월 2일 추가 글을 쓴 이용자 ressl은 앞선 검사를 확장해 정규화 가중치 289개와 합성곱 가중치 258개가 같은 방식으로 재현됐다고 밝혔다. 이는 해당 작성자가 제시한 감사 결과다.
앞선 난수 재현 검사는 이용자 FloxUnder가 11월 1일 올렸다. 그는 두 종류의 가중치에서 완전한 배열 43개, 총 73만368개 값을 검사했으며 모두 같은 생성 규칙으로 재현됐다고 밝혔다.
생성 규칙의 출발점은 파일 안에 붙은 가중치의 이름이다. 그 이름을 해시 함수로 바꿔 난수 생성기의 시작값으로 사용하면, 같은 이름에서 같은 수열을 반복해 만들 수 있다. FloxUnder는 두 종류에 적용하는 변환과 반올림 방식까지 재현 코드로 공개했다. 이름을 해시한 결과의 앞 8바이트를 시작값으로 쓰는 규칙이다.
두 배열에서 3만6864개 값 대조
AI Ping은 2일 오후 7시 32분(KST)에 해당 규칙을 별도 코드로 구현해 첫 번째 분할 파일을 확인했다. 입력값을 정규화하는 가중치 배열의 1만2288개 값과 합성곱 연산에 쓰이는 배열의 2만4576개 값이 각각 전부 일치했다. 검사 대상은 공개 감사가 지정한 동일한 저장소 리비전으로 고정했다.
전체 파일을 내려받는 대신 필요한 위치를 지정해 읽는 HTTP Range 요청을 사용했다. 파일 구조를 설명하는 머리말과 두 배열을 합쳐 읽은 데이터는 9만80바이트였다. 이 중 가중치 자체는 각각 2만4576바이트와 4만9152바이트였고, 배열의 나머지 부분을 생략한 표본 추출 없이 두 배열 전체를 대조했다. 저장 형식은 값 하나를 2바이트에 담는 BF16이었다. 계산한 값도 이 형식에 맞춰 반올림한 뒤 저장된 바이트와 비교했다. 재현 환경은 NumPy 2.5.4와 PCG64 난수 생성기로 고정했으며, 두 배열 각각에서 계산 결과와 읽은 데이터의 해시도 같았다.
먼저 파일 앞 8바이트로 머리말 길이를 읽고, 이어 1만6344바이트의 머리말에서 두 배열의 저장 위치와 크기를 확인했다. Safetensors의 공개 형식 설명에도 이 위치 정보가 머리말에 들어간다고 명시돼 있다. 서버가 지정한 구간만 돌려주는 206 응답을 보낼 때만 데이터를 받도록 했으며, 요청한 길이와 실제 받은 길이도 매번 맞는지 검사했다. 요청 한 번에 읽는 크기도 256KiB 이하로 제한했다. 요청한 구간과 응답에 적힌 구간이 다르면 비교를 중단하도록 해, 서버가 다른 위치의 데이터를 보냈을 가능성을 통제했다.
대조는 저장된 값을 정해진 계산으로 다시 만들 수 있는지를 확인하는 방식이다. AI Ping은 데이터 파일만 읽고 저장소에 포함된 모델 코드를 실행하지 않았다. 실험 범위는 한 분할 파일 안의 두 배열이며, 모델 전체의 응답 품질이나 학습 과정을 시험한 결과로 확대할 수 없다.
앞선 검사를 공개한 FloxUnder도 일부 가중치를 의도적으로 고정한 학습 설정의 가능성을 한계로 명시했다.
파일 크기나 내부 배열의 연결 관계를 확인하는 검사와, 실제 학습 이력을 확인하는 검사는 서로 다른 질문을 다룬다. Safetensors의 공식 설명도 저장된 배열 값 자체는 검사하지 않는다고 명시한다. 이번 재현은 실제 파일에서 읽은 특정 값과 공개된 계산 결과를 연결한다. 회사 이름이나 모델 규모를 적은 설명문에 학습 이력의 증거가 더해지는 것은 아니다.
추가 감사 글에는 업로더를 향한 후속 질문도 실렸다. ressl은 해당 가중치를 고정한 학습 설정이 있다면 공개하고, 파일 생성 방식과 분할 구조의 대응 관계를 설명해 달라고 요청했다.
출처
- 43 complete tensors exactly match name-seeded NumPy RNG output — November 1, 2026 — FloxUnder / Hugging Face
- Independent audit of Numbat — November 2, 2026 — ressl / Hugging Face
- Numbat model card — uploader’s unauthenticated provenance claim — burner22 / Hugging Face
- Repository revision examined in the sample reproduction — Hugging Face
- Safetensors file format — header and tensor byte offsets — Safetensors maintainers
