근거는 있나요?
최근 dev.to에 올라온 세 편의 ML 프로젝트 글을 읽으며 같은 질문이 반복적으로 떠올랐습니다. "이 성능, 다시 돌리면 나옵니까?" 위성 이상 탐지를 위한 크로스모달 지식 증류(Cross-Modal Knowledge Distillation) 프레임워크, SEM(주사전자현미경) 이미지를 세그멘테이션 마스크로부터 생성하는 GAN 비교 실험, 그리고 MLflow 기반 실험 추적 입문기—주제는 제각각이지만, 세 편 모두 ML 모델 평가의 재현성과 신뢰성이라는 하나의 맥락으로 수렴합니다.
크로스모달 증류: 인상적인 아키텍처, 부재한 수치
첫 번째 글은 멀티모달 Teacher 네트워크(ViT + LSTM + 1D CNN + Cross-Attention)에서 텔레메트리만 처리하는 경량 Student 모델로 지식을 증류하고, 역시뮬레이션으로 결정을 검증하는 파이프라인을 제안합니다. 아키텍처 설계 자체는 흥미롭습니다. 그런데 베이스라인 대비 얼마나 개선되었는지에 대한 숫자가 본문에 없습니다. Accuracy, F1-score, latency 비교 테이블 하나 없이 "I developed"이라는 서사만으로 프레임워크의 우수성을 주장하고 있죠. 샘플 사이즈가 충분한가요? 학습 데이터의 이상 유형 분포는 균등한가요? 20개 이상 anomaly 클래스에 대한 class imbalance는 어떻게 처리했나요? Ablation study 결과는요? 이 질문들에 답이 없으면, 코드가 아무리 정교해도 "재현 가능한 연구"라 부르기 어렵습니다.
특히 cross-modal consistency loss에서 torch.corrcoef로 Teacher와 Student의 feature 상관 행렬을 맞추는 설계가 눈에 띄는데, 상관 행렬의 차원이 Teacher(멀티모달 concat)와 Student(텔레메트리 단일) 사이에 어떻게 정합되는지 슬라이싱 한 줄로 처리합니다. 이건 correlation이지 causation이 아닙니다—feature 간 상관 구조가 보존된다고 해서 실제 물리적 의미까지 전이된다는 보장은 없으니까요.
SEM GAN 비교: 지표는 좋은데, 분류기가 0.96으로 구별한다
두 번째 글은 솔직합니다. MIIC 데이터셋에서 SAM-2로 세그멘테이션 마스크를 만들고, Pix2Pix와 CycleGAN으로 SEM 이미지를 생성한 뒤 네 가지 지표(FID, LPIPS, PSNR, SSIM)로 정량 비교합니다. Pix2Pix의 결과(FID 14.3, SSIM 0.951)는 인상적이고, CycleGAN(FID 55.5, SSIM 0.370)과의 차이는 paired 데이터 활용의 분명한 이점을 보여줍니다.
그런데 진짜 인사이트는 마지막 실험에서 터집니다. Real vs. Generated 분류기가 Pix2Pix 생성 이미지를 0.96 accuracy로, CycleGAN은 0.99로 구별해냈습니다. SSIM이 0.95여도 neural discriminator가 96% 정확도로 가짜를 잡아낸다면, '시각적으로 그럴듯함'과 '통계적으로 동일한 분포'는 완전히 다른 이야기라는 뜻입니다. FID가 낮다고 안심할 수 없고, SSIM이 높다고 downstream task에서 쓸 수 있다는 보장도 없습니다. 실제 운영 환경에서도 이 성능이 나올까요? 저자들 스스로도 "frequency-domain artifacts"의 가능성을 언급하며, synthetic 데이터로 학습한 모델이 real SEM 테스트셋에서 성능을 유지하는지 아직 검증하지 못했음을 인정합니다. 정직한 reporting이지만, 바로 이 지점이 '합성 데이터 증강'이라는 내러티브의 가장 큰 빈칸입니다.
MLflow: 재현성 문제의 가장 지루하고 가장 중요한 해법
세 번째 글은 MLflow를 이용한 실험 추적 입문기입니다. 하이퍼파라미터(max_depth, n_estimators), 메트릭(accuracy, recall), 아티팩트(.pkl 모델)를 체계적으로 기록하고 UI에서 비교하는 기본적인 워크플로를 소개합니다. 언뜻 초급 튜토리얼처럼 보이지만, 앞의 두 글이 빠진 함정을 정확히 메웁니다. "훌륭한 메트릭을 달성하고도 어떤 하이퍼파라미터를 썼는지 기억하지 못한다면?"이라는 저자의 첫 문장이 핵심입니다.
크로스모달 증류 논문이 코드만 공개하고 실험 조건을 기록하지 않으면, 누구도 재현할 수 없습니다. SEM GAN 프로젝트가 150 에폭 시점의 learning rate 스케줄을 정확히 문서화하지 않으면, FID 14.3이라는 숫자는 일회성 이벤트가 됩니다. MLflow—혹은 Weights & Biases, Neptune 같은 도구—는 이 "기억의 문제"를 시스템적으로 해결합니다. AWS MLA-C01 시험 분석 글에서도 지적하듯, 프로덕션 ML의 46%가 배포와 모니터링인 시대에 실험 추적 없는 SOTA 주장은 구조적으로 검증 불가능합니다.
시사점: SOTA를 읽는 체크리스트
세 프로젝트를 교차 분석하면 ML 모델 평가에 대한 실용적 체크리스트가 도출됩니다:
- 베이스라인이 명시되어 있는가? — 성능 개선폭은 절대값이 아니라 상대값으로 판단해야 합니다.
- 단일 지표를 넘어 다면 평가를 했는가? — SEM 프로젝트가 보여줬듯, SSIM 0.95와 분류 accuracy 0.96은 공존할 수 있습니다.
- 실험 조건이 재현 가능하게 기록되어 있는가? — 코드 공개 ≠ 재현 가능. 하이퍼파라미터, 데이터 split, 랜덤 시드가 함께 기록되어야 합니다.
- 프로덕션 환경의 제약 조건이 반영되었는가? — 위성 Ground Station의 연산 제약, SEM 워크플로의 색상 분포 불일치처럼 실운영 갭을 명시해야 합니다.
전망: '재현의 문화'가 곧 경쟁력이다
MLOps 도구가 성숙해지고, AWS SageMaker의 Model Monitor나 MLflow의 실험 레지스트리가 표준이 되어가는 흐름에서, "SOTA 달성"이라는 한 줄보다 "이 조건에서 이 베이스라인 대비 이 만큼 개선되었고, 여기서 재현할 수 있다"는 세 줄이 더 가치 있는 시대가 오고 있습니다. Pandas DataFrame 하나로 experiment_id별 accuracy를 groupby해서 비교하는 것처럼, 모델 평가도 결국 데이터의 문제입니다. 화려한 아키텍처 다이어그램 뒤에 숫자가 없다면, 그건 엔지니어링이 아니라 에세이입니다.