'98%'라는 숫자 앞에서 먼저 던져야 할 질문
dev.to에 게재된 Fisher Vector 분석 글을 읽다가 잠깐 멈췄습니다. Wang et al.이 발표한 AML(급성 골수성 백혈병) 진단 파이프라인의 성능 수치—정확도 98.15%, AUC 99.82%, 민감도 97.30%, 특이도 99.05%. 어떤 ML 엔지니어도 이 숫자 앞에서 가슴이 뛸 겁니다. 그런데 저는 반사적으로 다음 질문을 먼저 쳤습니다. "샘플 사이즈가 얼마죠?"
답은 411개입니다. 5개 기관에서 수집된 411개 샘플. 클래스 분포는 어떻게 구성되어 있을까요? 기관 간 데이터 드리프트는 어느 수준으로 통제되었을까요? Ablation study에서 GMM 컴포넌트 수 K값 변화에 따른 성능 민감도는요? 논문이 보고하는 수치는 화려하지만, 411개는 딥러닝은커녕 SVM 일반화 성능을 신뢰하기에도 충분히 큰 숫자라고 단언하기 어렵습니다.
Fisher Vector가 선택된 이유는 오히려 설득력 있다
공정하게 말하면, AHEAD Medicine이 딥러닝 대신 Fisher Vector → SVM 파이프라인을 선택한 근거는 나름 합리적입니다. 세 가지 이유가 제시됩니다.
첫째, 샘플 부족 문제입니다. 유세포 분석(Flow Cytometry) 데이터는 환자 수가 근본적으로 제한됩니다. Fisher Vector는 GMM Prior를 통한 강한 정규화로 소규모 데이터셋에서도 과적합을 억제합니다. 딥러닝 모델이 수십만 샘플을 요구하는 것과 대비됩니다.
둘째, 해석 가능성입니다. Fisher Vector의 각 차원은 특정 GMM 컴포넌트와 파라미터에 매핑됩니다. K=64, D=16 설정에서 2,112차원 벡터의 각 값이 "어떤 세포 집단의 어떤 마커가 레퍼런스 분포에서 얼마나 벗어났는가"를 직접 설명합니다. 블랙박스 모델로는 불가능한 임상 추적성(auditability)입니다.
셋째, FDA 규제 경로입니다. GMM → 그래디언트 계산 → SVM이라는 결정론적 파이프라인은 규제 심사에서 재현 가능성과 인과적 설명을 요구하는 FDA 기준에 부합합니다. 신경망은 그 경로가 훨씬 복잡합니다.
그러나 이 세 가지 이유가 98% 정확도의 신뢰도를 보증하지는 않습니다. 방법론의 타당성과 보고된 수치의 일반화 가능성은 별개의 문제입니다.
라고스 클리닉의 87%: 벤치마크와 현실의 간극
같은 날 읽은 또 다른 글이 이 질문에 현실의 무게를 더해줬습니다. 2021년 나이지리아 라고스의 한 안과 클리닉—의사 1명이 20만 명을 담당하는 환경—에 TensorFlow 기반 망막 이미지 분류 모델을 실제 배포한 사례입니다(dev.to, Alim Bidmus).
최종 운영 정확도는 87%였습니다. 5개 안과 질환(당뇨망막병증, 황반변성, 녹내장, 미숙아망막병증, 선천성 백내장)을 분류하는 멀티클래스 모델입니다. 이 87%가 의미 있는 이유는 숫자 자체가 아니라 그 숫자가 프로덕션 환경에서 측정됐다는 점입니다.
개발 과정을 보면 데이터의 현실이 더 선명하게 드러납니다. 수집된 이미지의 40%는 블러로 폐기됐고, 녹내장 대 미숙아망막병증의 클래스 불균형 비율은 10:1에 달했습니다. 라벨링은 4명의 전문의 교차 검증이 필요했습니다. 서구 공개 데이터셋(ODIR)을 그대로 썼다면? 나이지리아 환자의 망막 이미지 특성 분포 차이로 모델은 즉시 표류했을 겁니다. 이건 correlation이 아니라 도메인 시프트(Domain Shift)에 의한 인과적 성능 저하입니다.
첫 모델의 정확도가 62%였다는 사실도 주목할 만합니다. 7번의 반복—아키텍처 깊이 조정, 학습률 스케줄, 데이터 증강, ImageNet 전이학습—을 거쳐 87%에 도달했습니다. 베이스라인 대비 25%p 절대 향상이지만, 이 수치가 벤치마크 리포트에 실렸다면 어떻게 보였을까요? 아마 훨씬 단순한 문장으로 요약됐겠죠.
성능 지표가 숨기는 것들
두 사례를 나란히 놓으면 의료 AI 성능 평가의 구조적 맹점이 보입니다.
첫 번째 맹점: 집계 정확도의 함정. 98%나 87%나 모두 overall accuracy입니다. 클래스별 Precision과 Recall은 얼마나 차이가 날까요? 미숙아망막병증처럼 데이터가 희소한 클래스에서 Recall이 낮으면, 전체 정확도는 높아도 임상적으로 가장 중요한 케이스를 놓칩니다. 라고스 사례에서 False Positive가 13%라는 수치를 "허용 가능한 수준"으로 보고한 것은, 과진단 비용보다 미진단 비용이 훨씬 큰 임상 맥락을 반영한 의도적 설계입니다. 이 trade-off를 수치 하나로 표현할 수는 없습니다.
두 번째 맹점: 테스트셋 분포의 투명성. Fisher Vector 논문의 411개 샘플이 5개 기관에서 어떻게 분할됐는지—train/validation/test split 비율, stratification 방식, 기관별 샘플 수 불균형 여부—가 보고되지 않으면 AUC 99.82%는 재현 불가능한 숫자가 됩니다. 재현 가능성(Reproducibility)은 SOTA 달성의 전제 조건이지 선택 사항이 아닙니다.
세 번째 맹점: 운영 환경의 데이터 드리프트. 라고스 사례는 배포 후 모든 예측에 전문의 검토 플래그를 달고 정확도를 시간축으로 모니터링했습니다. 이게 MLOps의 핵심입니다. 벤치마크는 스냅샷이지만 의료 AI는 환자가 바뀌고, 장비가 바뀌고, 촬영 프로토콜이 바뀌는 동적 환경에서 작동합니다. 드리프트 감지 없는 배포는 시한폭탄입니다.
시사점: 숫자 하나가 아니라 파이프라인 전체를 읽어야 한다
의료 AI 성능 주장을 마주할 때 체크해야 할 질문 목록을 정리하면 이렇습니다.
- 샘플 사이즈와 클래스 분포: N=411은 어떤 클래스 비율인가?
- 테스트셋 독립성: 학습 기관의 데이터가 테스트셋에 섞이지 않았는가?
- 도메인 일반화: 논문의 기관 분포가 실제 배포 환경과 얼마나 유사한가?
- 지표 선택의 의도: 왜 AUC를 강조하는가, Recall은 얼마인가?
- 프로덕션 모니터링 설계: 드리프트 탐지와 재학습 파이프라인이 있는가?
라고스 클리닉 사례의 87%는 화려하지 않습니다. 그러나 실제 환자 흐름 속에서, 예산 제약 속에서, Azure ML 비용 최적화(오토스케일링으로 비용 60% 절감)까지 고려하며 측정된 숫자입니다. Fisher Vector의 98%가 틀렸다는 게 아닙니다. 다만 그 숫자가 라고스의 맥락에서도 유효하려면 최소 열 배 이상의 샘플과 다기관 외부 검증이 필요합니다.
전망: 의료 AI의 신뢰는 벤치마크가 아니라 MLOps에서 만들어진다
흥미롭게도 YOLO 세그멘테이션 실험 사례(velog)도 같은 교훈을 줍니다. YOLO26n-seg의 mAP50-95가 33.9인 반면, 더 큰 모델 YOLO26x-seg는 47.0입니다. 파라미터 수는 2.7M 대 62.8M, CPU 추론 속도는 53ms 대 787ms. 의료 현장의 저사양 장비에서 어떤 모델을 선택해야 할지, 벤치마크 수치만으로는 결정할 수 없습니다.
의료 AI의 신뢰도는 논문의 수치가 아니라 세 가지에서 만들어집니다. 데이터 파이프라인의 투명성(라벨 품질, 클래스 분포, 전처리 기록), 프로덕션 모니터링 설계(드리프트 탐지, 재학습 트리거, 버전 관리), 그리고 임상 통합의 현실성(간호사가 쓸 수 있는 인터페이스, 기존 환자 관리 시스템과의 API 연동).
98%를 보고하는 논문과 87%로 운영하는 현장 사이의 간극은 기술의 실패가 아닙니다. 벤치마크를 현실로 번역하는 MLOps 인프라의 부재가 만드는 간극입니다. 그리고 그 간극을 좁히는 일이, 숫자를 높이는 일보다 훨씬 어렵고 훨씬 중요합니다.