반박될 수 있는 가설 쓰기
「모델 개선」은 실험을 명확히 하지 않습니다. 대신 이렇게 쓰세요. 「클래스 가중치는 희귀 클래스의 품질을 개선하되, 빈번한 클래스에서 허용된 회귀를 넘지 않는다.」 주요 지표, 중요한 하위 그룹, 유효한 효과의 임계값을 명시하세요. 또한 우선순위가 유지되는 제약도 정하세요. 메모리, 지연 시간, 입력 커버리지, 모델 단순성 등입니다.
추가와 제거를 구분해야 합니다. 단순 기준에 구성 요소를 추가하면 해당 맥락에서의 기여도를 측정합니다. 완전한 시스템에서 해당 요소를 제거하면 그 시스템이 잃는 것을 측정합니다. 구성 요소들이 상호작용할 때 두 질문은 서로 다른 답을 낼 수 있습니다. 따라서 결론에는 기준과 다른 요인의 상태를 명확히 밝혀야 합니다.
기대되는 산출물은 단순한 최고 점수가 아니라, 변형 표를 동반한 의사결정입니다. 실험을 예약하기 전에, 각 후보를 유지할지, 포기할지, 더 깊이 탐구할지를 판단하게 해줄 기준을 적어 두세요.
기술 출처: NIST — 실험 계획의 목표 정의
해석 가능한 대조군과 변형 구성
대조군은 기준 절차를 그대로 따르며, 버전, 데이터, 체크포인트 선택 규칙을 포함합니다. 대조군은 현재 캠페인에서 실행 가능해야 합니다. 예측이나 완전한 프로토콜이 없는 과거 지표는 참고 기준으로 쓸 수 있지만, 자동으로 이 대조군을 대체하지는 않습니다.
각 요인에 대해 비교하는 정확히 두 가지 상태를 선언하세요. '증강 활성화'는 너무 모호합니다. 변환, 확률, 적용 대상 데이터를 유지하세요. 연구 대상 요인 외의 전처리, 분할, 옵티마이저, 학습 예산, 평가 방법 등 공통으로 유지되는 매개변수를 기술하세요. 학습 단계 수는 고정되어 있지만 처리되는 토큰 수가 달라진다면, 그 결과를 기록하세요.
최종 테스트 세트는 변형 선택 과정에서 제외하세요. 학습된 변환과 튜닝 결정은 그 목적에 맞는 데이터를 사용해야 합니다. 테스트 세트의 오류에 맞춰 모델을 조정한 후 얻은 개선은 더 이상 독립적인 평가가 아닙니다.
기술 출처: scikit-learn — 데이터 누수 방지
두 요인은 네 가지 상황을 요구합니다
클래스 가중치인 A와 학습 시 증강 규칙인 B를 연구한다고 가정해 봅시다. 두 요인의 상호작용을 보려면 대조군, A만, B만, A와 B를 함께 살펴보면 됩니다. 이 2요인 2수준 설계는 네 가지 구성을 포함합니다. k개의 이진 요인이 있으면 반복을 제외한 완전 설계는 2ᵏ개의 구성을 가지므로 시행 횟수는 빠르게 늘어납니다.
다음 표는 추론 방식을 설명하기 위해 만든 가상의 수치 예시입니다. 이 점수들은 어떤 학습에서 나온 것도 아닙니다. 0에서 100까지의 척도에서 가상의 macro-F1 평균을 나타냅니다. 실제 작업에서는 개별 값과 그 변동성이 반드시 필요합니다.
| 구성 | A: 가중치 | B : augmentation | 가상 Macro-F1 (100점 기준) |
|---|---|---|---|
| 대조군 | 아니오 | 아니오 | 70,0 |
| A 단독 | 예 | 아니오 | 71,2 |
| B 단독 | 아니오 | 예 | 70,8 |
| A + B | 예 | 예 | 71,5 |
기술 출처: NIST — 두 수준 완전 요인 계획
효과와 상호작용 해석
이 예시에서 A는 B가 없을 때 1.2점을 더하지만, B가 이미 활성화된 경우에는 0.7점만 더합니다. B는 A가 없을 때 0.8점을 더하고, A가 있을 때 0.3점을 더합니다. 결합 이득은 1.5점인 반면, 두 개별 이득의 합은 2.0점입니다. 여기서 −0.5점의 차이는 비가산적 상호작용을 나타냅니다.
이 계산은 강건성이나 메커니즘 설명을 확립하지 않습니다. 어떤 질문을 확인해야 하는지 알려줍니다. 이 예시에서 A를 포함하는 시스템에 B를 추가하는 것이 단지 0.3점을 위해 복잡성을 정당화할 수 있을까요? 예정된 하위 그룹도 살펴보세요. 동일한 평균이 서로 다른 이득과 손실을 가릴 수 있습니다.
프로토콜이 허용한다면, 이러한 차이를 대응 반복 실험에서 비교하세요. 각 변형의 최고 시드만 선택하지 마세요. 실험에 따라 부호나 크기가 크게 달라지면, 결정은 불확실하게 남습니다.
기술 출처: NIST — 요인 계획의 조합과 상호작용
중요한 결정에 예산 배분
실험 할당량은 계획 도구이지, GPU 속도 예측이 아닙니다. 예를 들어 조직 예산으로 24회의 전체 실행이 있다고 합시다. 12회는 네 가지 구성에 각각 세 개의 시드를 사용하고, 10회는 대조군과 한 후보의 확인에 각각 다섯 개의 새 시드를 사용하며, 2회는 정당한 재시도에 사용합니다. 총합은 24회이지만, 이들이 몇 시간이 걸릴지는 아직 알 수 없습니다.
처음 세 개의 시드는 여기서 탐색에 사용되며, 승자를 인증하기 위한 것이 아닙니다. 이 시리즈를 관찰하기 전에 후보 선택 규칙을 정하세요. 확인 단계는 확정된 프로토콜을 사용합니다. 새로운 시드는 초기 선택에 대한 의존도를 줄이지만, 이미 모델 조정에 사용된 테스트 세트를 바로잡지는 못합니다.
예산 범위 내에서 필요한 반복이 불가능하다면 요인을 줄이거나 질문을 미루세요. 실제 결정에 영향을 주는 변경을 우선순위로 두세요. 예를 들어 비용이 많이 드는 구성 요소 삭제, 실패 해결, 또는 비슷한 두 옵션 간의 우열 가리기 등입니다. 요금제를 비교하기 전에 평가와 결과물을 위한 시간을 확보하세요.
| 단계 | 계산 | 실행 횟수 |
|---|---|---|
| 탐색 | 4개 구성 × 3개 시드 | 12 |
| 확인 | 2개 구성 × 5개 새 시드 | 10 |
| 문서화된 재실행 | 예비 | 2 |
| 총 예산 | 12 + 10 + 2 | 24 |
순서와 중단 규칙 준비하기
실행 전에 식별자, 구성, 시드, 우선순위를 포함한 실험 목록을 작성하세요. 모든 대조군을 끝낸 뒤 모든 후보를 실행하는 대신, 변형들을 실행 순서에 따라 분산시키세요. 기간, 데이터세트 또는 머신이 비교 블록을 구성한다면 그 블록을 문서화하세요. 시리즈 도중 환경이 바뀌면 가시적으로 남아 있어야 합니다.
반복 오류나 메모리 초과 같은 기술적 중단 사유를 준비하세요. 각 시도와 그 상태를 보존하세요. 실패를 더 짧은 실행으로 조용히 대체하거나, 기대하는 점수가 나올 때까지 실망스러운 시도를 새 시드로 바꾸지 마세요.
점수를 기준으로 조기 중단을 결정하면 분석 프로토콜이 바뀝니다. 중간 결정을 계획하고 있다면 그 규칙과 탐색적 범위를 미리 알리세요. 확인적 결론을 위해 이러한 결정에 맞는 분석 계획을 유지하세요.
검증 가능한 결론으로 어블레이션 마무리하기
최종 문서에는 가설, 대조군, 요인, 반복, 차이, 실패 사례를 명시합니다. 각 값을 예측 및 그 값을 산출한 실행과 연결하세요. 구성 요소 유지, 구성 요소 제거, 또는 선택하기에 데이터 불충분 중 하나로 명확한 결정을 내리며 마무리하세요.
세 가지 지름길을 피하세요. 전처리도 바뀌었는데 변화를 A에 귀속시키기, 조합을 테스트하지 않고 개별 이득을 합산하기, 단일 코퍼스로 일반 규칙을 선언하기. 어블레이션은 정의된 프로토콜 내에서의 관찰을 확립합니다. 그 범위는 데이터, 모델, 실제로 연구된 변형에 따라 달라집니다.
실용적인 질문
항상 모든 조합을 테스트해야 하나요?
완전 설계는 상호작용에 유용하지만 비용은 요인 수에 따라 증가합니다. 먼저 결정을 바꿀 수 있는 요인을 한정하세요. 분리할 수 없는 효과를 명시한다면 축소된 설계도 가능합니다. 테스트하지 않은 조합을 테스트한 것처럼 제시하지 마세요.
이전 캠페인의 대조군을 재사용할 수 있나요?
데이터, 코드, 예산, 모델 선택, 평가가 실제로 비교 가능하고 문서화되어 있다면 재사용할 수 있습니다. 그렇지 않다면 현재 프로토콜에서 대조군을 다시 실행하세요. 버전이나 분할의 차이가 구성 요소에 귀속시키려 했던 차이를 설명할 수 있습니다.
부정적인 결과는 구성 요소가 쓸모없다는 뜻인가요?
부정적인 결과는 연구된 조건에서 원하는 효과를 가져오지 않았거나 증거가 부족함을 나타냅니다. 일반화하기 전에 불확실성과 상호작용을 확인하세요. 이 결과를 문서화하면 이미 검토한 방향에 예산을 다시 쓰는 것을 피할 수 있습니다.