ML 연구를 위한 GPU · KYC 없는 크립토 결제
IteraGPU
방법론 · 반복과 불확실성

두 개의 최고 점수가 아니라 차이를 비교하세요.

두 점수 간의 차이는 비교 가능한 프로토콜에서 반복되고, 유용한 임계값을 초과하며, 불확실성과 함께 읽을 수 있을 때 더 설득력이 있습니다. 시드를 준비하고, 의미가 있을 때 실험을 짝지으며, 얻은 차이를 분석하세요. 더 높은 평균, 유리한 시드 하나, 또는 단일 변동 원인에 대한 좁은 구간만으로는 일반적인 개선을 검증하기에 충분하지 않습니다.

01 /

무엇이 변하고 무엇이 반복인지 정의하기

먼저 질문부터 시작하세요. 학습 초기화의 효과를 평가하는 것인가요, 데이터 순서의 효과인가요, train/test 분할의 효과인가요, 아니면 확률적 생성의 효과인가요? 시드는 난수 생성기를 제어할 뿐, 그 자체로 이 모든 차원을 식별하지는 않습니다. 실행당 한 행씩, 그리고 실제로 변경된 요인을 기록하세요.

같은 체크포인트의 결정적 평가를 같은 코퍼스에서 열 번 다시 실행한다고 해서 열 번의 독립적인 학습이 되는 것은 아닙니다. 마찬가지로 하나의 모델에서 나온 천 개의 예측은 그 변동성을 추정하기 위한 여러 번의 학습을 대체하지 못합니다. 결정에 맞는 반복 단위를 선택하세요.

시리즈 전에 주요 지표, 그 방향, 그리고 변경을 정당화할 최소 효과를 정하세요. 다음 예시에서는 값이 높을수록 좋으며, 0에서 100으로 표시되는 지표에서 예시적인 유용 임계값은 0.30 포인트입니다. 이 임계값은 프로젝트의 결정에서 나온 것이지, 보편적인 통계 규칙에서 나온 것이 아닙니다.

02 /

공통 조건에서 구성 짝짓기

쌍 i에 대해 기준 A와 후보 B를 동일한 데이터 분할과 미리 정한 공통 조건에서 실행하세요. 그런 다음 dᵢ = score(Bᵢ) − score(Aᵢ)를 계산하세요. 짝짓기는 결과 이전에 정의된 대응을 의미하며, 나중에 비슷한 점수를 서로 연결하는 것이 아닙니다.

동일한 시드 목록을 사용하면 쌍을 정리하는 데 도움이 될 수 있지만, 두 아키텍처는 난수를 다르게 소비할 수 있습니다. 코드가 구분한다면 초기화, 데이터, 생성 시드를 각각 따로 선언하세요. 파티션 또는 그 식별자도 함께 기록하세요. 공통된 정수 하나만으로는 데이터가 같은 방식으로 순회되었다는 것을 증명하지 못합니다.

한 쌍에 실패가 포함되어 있다면 두 상태를 모두 유지하고, 그것이 어떻게 처리될지 설명하세요. 인구 집단의 변화를 알리지 않은 채 성공한 후보 다섯 개의 평균과 기준 여섯 개의 평균을 비교하지 마세요.

기술 출처: NIST — 대응 관측 간의 대응

03 /

시드와 결정성의 한계 유지하기

PyTorch는 동일한 시드를 사용하더라도 버전, 플랫폼 또는 CPU와 GPU 실행 간에 완전한 재현성이 보장되지 않는다고 명시합니다. 그 가이드는 생성기 제어와 비결정적 연산 제어를 구분합니다. 환경을 '시드 고정'으로 요약하기보다는 적용된 버전과 옵션을 기록하세요.

결정적 실행은 주로 주어진 조건에서의 동작을 재현하는 데 쓰입니다. 그것이 모델이 다른 초기화나 데이터에 견딘다는 것을 증명하지는 않습니다. 반대로, 동일한 두 재실행 간의 차이는 후보의 효과로 해석하기 전에 진단이 필요합니다.

두 변형에 대해 동일한 결정성 정책을 유지하세요. 오류를 진단하기 위해 이를 변경한다면, 그 시리즈를 별도로 식별하세요. 실험 결과는 그것이 얻어진 조건에 계속 연결되어 있어야 합니다.

기술 출처: PyTorch 2.14 — 재현성과 무작위성 제어

04 /

계산 예시: 다섯 개의 대응 차이

여기에는 학습을 실행하지 않고 계산을 위한 다섯 개의 가상 쌍이 있습니다. 시드는 예시 식별자입니다. 기준과 후보는 여기서 동일한 비교 프로토콜을 사용합니다. 점수는 100점 기준으로 표시되며, 차이는 상대 백분율이 아닌 포인트입니다.

차이의 평균은 (0.4 + 0.3 + 0.1 + 0.5 + 0.1) / 5 = 0.28 포인트입니다. 중앙값은 0.30 포인트이고 범위는 0.10에서 0.50까지입니다. 차이의 표본 표준편차는 분모 n − 1로 약 0.179 포인트입니다. 다섯 부호 모두 양수이지만, 평균 이득에 비해 진폭은 여전히 큽니다.

평균 차이 = 0.28 포인트; 차이의 표준편차 ≈ 0.179 포인트; 표준오차 ≈ 0.179 / √5 = 0.080 포인트.
가상 수치 예시 — 100점 기준 점수, 차이는 포인트
예시 시드기준 A후보 BB − A
1771,071,4+0,4
2971,671,9+0,3
4371,371,4+0,1
7170,871,3+0,5
10171,871,9+0,1
05 /

신뢰구간을 과도한 의미 없이 읽기

일반적인 계산을 예로 들기 위해, 쌍별 차이가 독립적이며 근사적으로 정규분포를 따른다고 가정해 봅시다. 그 평균에 대한 95% 스튜던트 구간은 여기서 자유도 4를 사용합니다: 0.28 ± 2.776 × 0.080, 즉 약 [0.058; 0.502] 포인트입니다. 쌍이 다섯 개뿐이면 분포의 형태를 가늠하기 어렵습니다. 계산이 이러한 가정을 참으로 만들어 주지는 않습니다.

이 예에서 구간은 0보다 높지만, 0.30 포인트로 정한 유용한 임계값을 포함합니다. 따라서 '평균 이득이 0.30 포인트를 초과한다'는 엄격한 규칙을 뒷받침하지 못합니다. 양의 차이는 변경을 정당화하기에 너무 작거나 너무 불확실할 수 있습니다.

95% 구간은 해당 가정 아래에서의 포함 절차를 설명하는 것이지, 계산 후 모수에 95%의 확률이 부여되는 것을 의미하지 않습니다. 여기서는 쌍들이 나타내는 변동만을 포함하며, 다른 도메인, 다른 코퍼스 또는 미래의 하드웨어를 자동으로 포함하지는 않습니다.

SciPy를 사용하는 경우 ttest_rel은 대응 표본을 비교하고 신뢰구간을 제공합니다. 배열의 순서가 부호를 결정합니다. B − A의 경우 B를 먼저 배치하세요. p-value만이 아니라 사용한 값과 방법을 보존하세요.

기술 출처: NIST — 평균에 대한 신뢰구간 · SciPy 1.18 — ttest_rel 및 차이의 구간

06 /

결정과 후속 반복 준비

예시의 결과는 “유용한 이득 미입증”이지 “쓸모없는 후보”가 아닙니다. 변경 비용에 따라 기준을 유지하거나, 수집을 계속하거나, 더 실질적인 수정을 시험할 수 있습니다. 이 규칙은 시리즈를 눈으로 보기 전에 미리 선언하세요. 유용한 임계값보다 높은 하한은 나머지 프로토콜이 유효하다는 조건에서 채택을 더 뒷받침할 것입니다.

필요한 정밀도와 예상 변동성을 기준으로 반복을 계획하고, 실패를 위한 여유를 두세요. 보편적으로 결론을 보장하는 시드 수는 존재하지 않습니다. 파일럿은 분산을 추정하는 데 도움이 될 수 있습니다. 파일럿의 지위는 탐색적으로 유지하고, 이후 확인 절차를 고정하세요.

고정된 표본 크기를 위한 구간을 사용하면서 매 시행 후 결과를 지켜보다가 유리한 결과가 나오면 중단하는 것은 피하세요. 표본 크기와 분석을 미리 정하거나, 적절한 순차적 방법을 선택하세요. 실망스러운 후보에게만 시행을 추가하는 것도 비교의 균형을 바꿉니다.

07 /

학습 변동성과 코퍼스 평가를 혼동하지 마세요

고정된 테스트 세트에 대한 일련의 시드는 그 세트에서의 학습 변동을 알려줍니다. 그것만으로는 테스트 예시 선택에서 비롯되는 불확실성을 측정하지 못합니다. 질문이 분할이나 도메인에도 관련된다면, 이러한 차원을 하나의 반복 횟수 카운터에 섞지 않고 변화시키는 설계를 마련하세요.

최종 평가는 모델 선택에서 떨어뜨려 두세요. 같은 테스트로 수많은 변형 중에서 고르면 우연히 좋아 보이는 옵션이 선택되기 쉽습니다. 하위 그룹과 보완 지표는 결정을 뒷받침해야 하며, 그 개수와 탐색적 지위가 드러나야 합니다.

최종 출력은 원시 점수, 쌍, 차이, 산포, 구간 방법, 그리고 유용한 임계값에 대한 결정을 아우릅니다. 실패와 일반화의 한계도 함께 제시하세요. 그러면 격차가 충분한지, 불충분한지, 아니면 아직 판단할 수 없는지 설명할 수 있습니다.

기술 출처: scikit-learn — 테스트를 모델 선택에서 배제하기

실용적인 질문

다섯 개의 시드로 선택하기에 충분할까요?

다섯 개의 시드는 첫 관찰에는 쓸 수 있지만 충분한 정밀도를 보장하지는 않습니다. 필요한 개수는 변동성과 가장 작은 유용한 효과에 달려 있습니다. 원시 차이와 불확실성을 살펴보세요. 여전히 판단할 수 없는 결과라면 필요한 것은 마법의 숫자가 아니라 더 잘 설계된 프로토콜입니다.

0을 포함하는 구간은 등가성을 증명하는가?

0을 포함하는 구간은 등가성을 증명하지 않습니다. 이는 상당한 이득이나 손실과도 양립할 수 있습니다. 실질적 등가성을 뒷받침하려면 허용 가능한 마진을 미리 정하고, 그 질문에 맞는 분석을 사용하며, 이를 검토할 만큼 충분한 정밀도를 확보해야 합니다.

최고의 시드만 공개해도 되나요?

최고의 시드는 유리한 선택을 보여줄 뿐, 절차의 전형적인 성능을 나타내지는 않습니다. 계획된 모든 반복 결과와 최종 배포 모델의 선택 규칙을 공개하세요. 그 최고 모델을 평가해야 한다면, 모델 선택에 사용되지 않은 최종 평가를 사용하세요.