무엇이 같아야 하는지 먼저 정합니다
동료가 같은 AI 분석을 다시 실행했는데 요약문의 표현이 달라졌습니다. 같은 근거로 같은 결과를 설명한다면 표현은 문제가 아닐 수 있습니다. 반대로 문장은 비슷해도 중요한 예외가 빠졌다면 결론이 달라진 것일 수 있습니다. 두 출력을 비교하기 전에 무엇을 재현해야 하는지부터 정합니다.
미국 국립과학·공학·의학한림원은 같은 데이터와 계산 절차로 일관된 결과를 얻는 computational reproducibility와, 새 데이터를 모아 같은 질문의 결과를 확인하는 replication을 구분합니다. 일반화는 다른 집단이나 환경에도 결과가 적용되는지 묻습니다.[1] 그보다 먼저 원래 연구에서 무슨 일이 있었는지 되짚을 수 있어야 합니다. 기록이 완전하면 과정을 복원하는 데 도움이 되지만, 그것만으로 나머지 검증까지 통과하는 것은 아닙니다.
어떤 결과가 같아야 하고 어느 정도의 차이를 허용할지 적습니다. 추출한 값이 같아야 할 수도 있고, 계산 오차가 정해 둔 범위 안에 있어야 할 수도 있습니다. 중심 결과와 이를 뒷받침하는 구절이 유지되는지가 중요할 수도 있습니다. 연구 방법에 맞는 기준을 재실행 전에 정합니다. 새 결과가 마음에 든다는 이유로 달라진 결론을 통과시키지 않기 위해서입니다.
다시 실행했을 때 무엇이 같아야 하는지 먼저 정합니다.
작업하는 동안 자료와 판단을 남깁니다
보고서에는 최종 답이 있지만 어떤 출처를 제외했는지, 어느 번역을 썼는지, 왜 AI의 제안을 고쳤는지는 없을 수 있습니다. 이런 선택도 결과를 바꿉니다. 관련 자료와 판단을 확인할 수 있을 때 남겨 둡니다.
실행마다 번호를 붙이고 입력 자료, 절차, 중요한 중간 출력, 최종 결과를 연결해 기록합니다. 원본은 정제하거나 번역한 파일과 따로 보관합니다. 파일의 해시값은 내용이 바뀌었는지 확인하는 디지털 지문과 같습니다. 파일을 실제로 사용한 시점에 기록해야 나중에 같은 내용인지 대조할 수 있습니다. 몇 달 뒤 계산한 해시값만으로는 당시 어떤 버전을 썼는지 증명할 수 없습니다.
NeurIPS 재현성 프로그램은 점검표, 코드 제출, 독립적인 재현 시도를 함께 운영했습니다.[2] 이런 기록은 연구를 시작할 때부터 남겨야 효과가 있습니다. 출판 직전에 작성한 점검표로는 사라진 검색 결과나 기록하지 않은 수정을 복원할 수 없습니다. 마지막에 기억을 더듬기보다 작업할 때 실행 기록을 갱신합니다.
정확한 모델 버전과 실제 응답을 저장합니다
모델 계열의 이름만으로는 무엇을 실행했는지 알기 어렵습니다. OpenAI API 문서는 고정된 모델 버전 사이에서도 동작이 달라질 수 있으므로 버전을 지정하고 실제 과제로 평가하도록 권합니다.[4] 제공되는 경우 정확한 버전 식별자, 제공사, API 주소, 요청 시각, 생성 설정을 저장합니다. 요청·응답 번호도 남깁니다. 서비스가 실행 환경을 구분하는 식별자인 system fingerprint를 반환한다면 함께 기록합니다.
버전을 고정하면 변화 요인 하나를 줄일 수 있지만, 언제나 같은 답을 받거나 그 버전을 영구히 사용할 수 있다는 뜻은 아닙니다. 원격으로 제공되는 모델은 운영이 종료될 수 있습니다. 대체 모델을 어떻게 평가하고 어떤 비교를 통과해야 사용할지 정해 둡니다. 기준을 만족하는 대체 모델이 없다면 원래 결과 중 어느 부분을 더 이상 재현할 수 없는지 설명합니다.
직접 실행하는 로컬 모델은 모델 파일과 해시값, 소프트웨어 버전, 관련 하드웨어 설정을 보관합니다. 텍스트를 모델 입력으로 바꾸는 토크나이저와 결과에 영향을 줄 수 있는 압축·생성 설정도 포함합니다. 원격 모델이든 로컬 모델이든 응답을 가공하거나 편집하기 전에 원본부터 저장합니다. 그래야 모델이 만든 내용과 이후에 바뀐 내용을 구분할 수 있습니다.
모델 버전, 전체 입력, 실제로 반환한 응답을 함께 저장합니다.
마지막 질문만 저장하지 않습니다
두 사람이 같은 질문을 입력해도 모델이 받는 내용은 다를 수 있습니다. 시스템이 이전 대화, 예시, 검색한 구절, 도구 지시, 출력 형식을 덧붙이기 때문입니다. 전체 메시지와 자료의 순서를 저장하고, 이를 구성한 템플릿이나 코드도 남깁니다.
스클라르와 동료들은 프롬프트에 예시 몇 개를 제공하는 과제에서 작은 형식 변화만으로도 성능이 크게 달라질 수 있음을 보였습니다.[6] 모든 프롬프트가 똑같이 민감하다는 뜻은 아닙니다. 다만 형식과 선택 과정도 연구 방법에 포함될 수 있다는 뜻입니다. 시험한 버전과 선택 기준을 기록합니다. 보고한 결과가 여러 실행에서 대체로 나타난 것인지, 많은 시도 중 하나를 고른 것인지도 밝힙니다.
프롬프트를 수정하면 새 버전을 붙이고, 정해 둔 소규모 사례로 확인합니다. 반복해서 쓰는 지시와 해당 실행에 추가한 자료를 모두 저장합니다. 원하지 않는 결과를 보고 지시를 바꿨다면 수정 사실을 남기고 새 실행을 시작합니다. 검토자가 방법이 어떻게 바뀌었는지 따라갈 수 있어야 합니다.
출처와 가공 과정을 함께 보관합니다
나중에 같은 검색어를 넣어도 다른 페이지나 순서가 나올 수 있습니다. 검색어, 결과 식별자, 순위, 접근 시각, 자료를 포함하거나 제외한 판단을 저장합니다. 실제로 사용한 자료는 허용되는 범위에서 사본이나 발췌를 남깁니다. URL만으로는 당시 본 근거를 다시 확인하지 못할 수 있습니다.
원자료가 모델 입력이 되기까지 무엇이 바뀌었는지 따라갑니다. 스캔을 문자로 바꿨는지, 구절을 번역했는지, 문서를 나눴는지, 길이를 맞추려고 일부를 잘랐는지 확인합니다. 결과에 영향을 주는 단계마다 도구, 설정, 입력, 출력과 실패 내용을 기록합니다. 공유가 제한된 데이터라면 접근 절차를 설명하고 같은 구조의 안전한 예시를 제공합니다. 이 예시로 처리 과정이 실행되는지는 시험할 수 있지만, 보호된 실제 데이터의 연구 결과까지 재현할 수는 없습니다.
ReproEvalCard는 여러 단계에 걸쳐 언어 모델을 사용하는 시스템에 관한 논문 55편을 검토했습니다. 논문의 75%는 무작위 변동을 통제한 방법을, 61%는 중간 단계의 실행 기록을 보고하지 않았습니다.[5] 이런 기록이 없으면 재실행에서 어디가 달라졌는지 찾기 어렵습니다. 최종 답뿐 아니라 중요한 단계를 비교하는 데 필요한 기록을 남깁니다.
실행 기록은 무엇을 했는지 설명합니다. 통과 기준은 다시 실행할 때 어떤 결과가 유지돼야 하는지 설명합니다.
표현의 차이가 결론도 바꾸는지 봅니다
같은 요청에도 AI의 출력은 달라질 수 있습니다. 대표 사례를 반복 실행하고 출력을 모두 보관합니다. 처음에 중요하다고 정한 추출 값, 포함된 주장, 순위, 권고를 비교합니다. 얼마나 자주, 얼마나 크게 달라지는지 보고하고 오류가 나타나는 집단이나 과제도 살핍니다.
시스템이 지원한다면 무작위 생성 과정을 조절하는 seed와 결과의 변동을 줄이는 설정을 기록합니다. seed를 지정해도 항상 같은 결과가 나오는 것은 아닙니다. 자료 순서를 바꾸거나 같은 뜻으로 질문해도 결론은 같아야 한다고 정했다면, 실제로 그런지 시험합니다. 그런 변화로 결론이 달라진다면 어떤 조건에 결과가 의존하는지 밝힙니다.
차이를 판단할 기준은 시험 전에 정합니다. 계산한 표에는 정확한 일치가 필요할 수 있습니다. 질적 분석에서는 같은 중심 결과가 여전히 근거로 뒷받침되는지, 예외가 달라졌는지를 검토해야 할 수 있습니다. 결과가 다르면 중간 출력을 비교해 중요한 변화가 처음 생긴 곳을 찾습니다. 최종 문장의 유사도만으로는 원인을 알 수 없습니다.
표현이 달라도 연구 결과가 유지되는지 확인합니다.
연구자의 판단도 기록합니다
사람은 녹취록을 고치고, 출처를 고르고, 생성된 코드를 거절하고, 범주를 합치고, 검색을 끝낼 시점을 정합니다. 이런 선택도 연구 방법의 일부입니다. 무엇을 보고 무엇을 바꿨으며 이유가 무엇인지 남깁니다. 결과에 영향을 준 수정이라면 처음 제안과 채택한 버전을 함께 보관합니다.
W3C의 PROV 데이터 모형은 기록, 작업, 책임진 사람이나 시스템의 관계를 설명합니다.[7] 간단히 적용하려면 중요한 출력마다 사용한 입력, 수행한 작업, 담당자를 연결해 적으면 됩니다. 짧은 변경 기록으로 충분할 수도 있습니다. 검토자가 알아야 하는 것은 새 문서화 체계가 아니라 자료가 어떻게 바뀌었는지입니다.
기록을 잘 남긴 분석도 편향된 표본을 쓰거나 잘못 해석할 수 있습니다. 재현성은 이런 오류를 살펴보기 쉽게 해 줄 뿐 결론이 옳다고 보증하지 않습니다. 실행 과정과 연구 방법을 함께 검토합니다. 실패한 실행을 빼면 최종 결과가 나온 과정을 오해하게 될 경우에는 그 기록도 보관합니다.
다른 사람에게 방법을 따라 해 달라고 요청합니다
인수인계 안내서는 확인할 결과와 성공 기준으로 시작합니다. 이어 자료 위치, 접근 요건, 실행 방법, 소프트웨어 버전, 중요한 중간 출력을 안내합니다. 환경 설정을 확인할 작은 예시, 알려진 한계, 허용된 이용 범위도 포함합니다. 파일 목록을 구조화해 두면 안내서와 함께 버전과 해시값을 자동으로 점검하는 데 쓸 수 있습니다.
하일과 동료들은 데이터·모델·코드 제공에서 환경 문서화와 실행 자동화까지 재현성 기준을 단계적으로 설명합니다.[3] 필요한 설정을 명시하고 반복되는 단계는 도움이 되는 범위에서 자동화합니다. 실행이 실패하면 어느 단계에서 멈췄는지 알 수 있게 합니다. 다른 사람이 전체 과정을 처음부터 다시 시작하지 않고 원인을 조사할 수 있어야 합니다.
제작에 참여하지 않은 사람에게 자료를 건넵니다. ACM의 연구 산출물 평가 지침은 자료가 공개된 상태, 검토를 거쳐 사용할 수 있는 상태, 결과를 독립적으로 재현한 상태를 구분합니다.[8] 설명이 없어 추측해야 하는 단계나 접근할 수 없는 자료가 있는지 살핍니다. 결과가 기준에 맞는지 판단할 수 있는지도 확인합니다. 빠진 부분을 보완하고 실제로 재현한 범위와 남은 차이를 보고합니다. ‘재현 가능’이라는 폴더 이름보다 이런 시도가 더 나은 증거입니다.

