프로젝트 기록

PROJECT RECORD

Witness: 재현 자료 목록 43개 중 24개가 빠져 있었다

EN | 한국어

계산 결과를 다시 확인하려고 자료를 내려받았는데, 목록에 적힌 파일이 실제로 없다면 어디서부터 시작해야 할까. Witness와 Humanity Grid의 공개 재현 자료를 검토하면서 파일 목록 43개 중 저장소에 들어 있는 파일은 19개뿐이라는 점을 제보했다. 2026년 10월 15일에는 프로젝트 소유자가 직접 같은 버전을 대조해 24개 파일의 누락을 재확인하고 검토에 감사를 전했다.

Witness는 측정값, 그 값에서 끌어낸 판단, AI 등이 생성한 내용을 구분해 근거를 따라갈 수 있게 만드는 프로젝트다. 이번에 살펴본 Proof A는 Humanity Grid의 분자 도킹 계산 결과를 Witness에 기록하는 시연이었다. 도킹은 분자가 단백질에 어떤 자세로 들어맞을지 계산하고 점수를 매기는 방법이며, 이 자료에는 여섯 물질을 서로 다른 난수 시작값으로 두 번 계산한 결과가 들어 있었다.

점수 계산과 파일 구성을 나눠 확인했다

나는 저장된 점수에서 같은 계산이 나오는지와, 다른 사람이 확인할 자료가 빠짐없이 들어 있는지를 나눠 살폈다. 점수표는 Parquet라는 표 데이터 형식으로 보존돼 있었고, 두 파일의 SHA-256 값을 자료 목록과 대조한 뒤 여섯 물질의 점수를 짝지어 피어슨 상관계수를 다시 계산했다. 결과는 r = 0.8849788400337057로, 공개된 값과 컴퓨터의 소수점 연산 오차 수준에서 일치했다.

이 상관계수는 두 번의 계산에서 물질별 점수가 얼마나 함께 움직이는지를 나타낸다. 저장된 점수로 보고된 상관값을 다시 얻을 수는 있었지만, 도킹 프로그램을 새로 실행한 것은 아니며 실제 결합력이나 약효를 확인한 것도 아니다. 이 부분의 결과는 제보에 부분 재현으로 남겼다.

다음으로 manifest.json에 적힌 경로를 같은 버전의 저장소 파일 목록과 대조했다. manifest는 패키지의 물품 명세서처럼 파일명, 크기, SHA-256 값을 적어 둔 목록이다. SHA-256은 파일 내용이 기준과 같은지 확인하는 지문 역할을 하지만, 파일이 없으면 지문을 비교하는 단계까지 갈 수 없다.

고정 버전 proof-a-v1의 목록에는 43개 경로가 있었고 실제로 추적되는 파일은 19개였다. 빠진 24개는 SMILES 파일 12개와 도킹 결과 자세를 담은 PDBQT 파일 12개였다. SMILES는 분자에서 원자가 어떻게 연결됐는지를 문자로 적는 표현이고, 여기서 빠진 PDBQT 파일은 계산 후 분자가 어떤 위치와 방향에 놓였는지 살펴보는 자료다. 점수 숫자를 읽는 것과 그 점수가 나온 분자의 자세를 들여다보는 데 필요한 파일이 같지는 않다.

패키지의 검증 스크립트는 목록에 적힌 파일의 존재 여부부터 확인한 뒤 크기와 SHA-256을 비교하도록 돼 있었다. 따라서 해당 고정 버전을 새로 내려받아도 목록의 43개 파일을 모두 확인하는 검사는 통과할 수 없었다. 단순히 파일 수가 적다는 지적이 아니라, 공개된 확인 절차가 요구하는 자료와 실제 배포물이 맞지 않는 문제였다.

‘이상치 한 개’라는 요약도 코드를 따라가 봤다

같은 제보에서 이상치의 의미와 재실행 결과를 모으는 경로도 살폈다. 이상치는 비교 기준에서 유난히 벗어난 값을 가리키지만, 무엇을 비교하는지에 따라 대상이 달라진다. 한 번의 계산에서 다른 물질보다 점수가 멀리 떨어진 것과, 같은 물질의 점수가 두 번의 계산 사이에서 많이 달라진 것은 서로 다른 질문이다.

분석 코드는 첫 번째 실행의 점수 분포에 사분위범위(IQR) 규칙을 적용했고, 이 계산에서 표시된 물질은 CHEMBL2106406이었다. 반면 설명 문서는 두 실행 사이 점수 차이가 0.570 kcal/mol인 CHEMBL495686을 다루고 있었다. 두 기준 모두 이상치 수가 하나라서 합계만 읽으면 차이를 놓치기 쉽다. 내가 요청한 것은 상관계수를 바꾸는 일이 아니라, 어떤 값에 어떤 규칙을 적용해 어느 물질을 표시했는지 결과와 설명을 맞추는 일이었다.

재실행 안내에서는 난수 시작값 101과 202의 계산이 같은 출력 위치를 쓰고, 마지막에 남은 파일을 두 실행 폴더로 복사하는 흐름을 확인했다. 그대로 따르면 두 번째 결과가 첫 번째 결과를 덮어쓴 뒤, 같은 파일을 두 번 비교할 수 있다. 보존된 출력 바이트로 파일 덮어쓰기·복사 동작을 모의 확인했으며, 도킹 자체를 다시 돌리지는 않았다. 이미 공개된 두 점수 파일은 서로 달랐으므로, 그 파일들이 이 안내 경로로 잘못 만들어졌다고 주장한 것은 아니다.

소유자가 확인한 범위와 후속 수정 조건

10월 15일 답변에서 소유자는 43개 중 19개만 추적되고 24개가 빠져 있다는 점을 확인하면서, 기존 태그를 옮기거나 수정 패키지를 새로 공개하지는 않았다고 밝혔다. 이상치의 의미와 재실행 경로는 각각 원본·절차 검증과 수정 기록이 더 필요하다고 구분했으며, 10월 17일 확인 시점에도 이슈는 열려 있었다.

후속 수정안에서는 기존 고정 버전을 그대로 남기고 별도 버전의 패키지를 만들며, 새로 내려받은 상태에서 목록을 확인할 수 있어야 한다고 제안했다. 의도적으로 제공하지 않는 파일은 목록에서 그 상태를 밝히고, 이상치 결과에는 비교한 변수·규칙·기준값·물질을 적으며, 각 난수 시작값의 출력은 다음 실행 전에 별도로 보존하는 방식이다. 이번에 소유자가 재확인한 것은 재현 패키지에 파일 24개가 빠져 있다는 사실이다. 독립 도킹 재실행이나 Witness API 재현, 과학적 결과의 검증과는 범위가 다르다.

연구 목록 · 작업 목록

Research index · Work index

Woong Works에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기