본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 04. 07:21

나머지 90%를 위한 의료용 AI 구축하기: 1인 개발자의 현장 보고서

요약

자원이 부족한 환경의 보건 요원을 위한 오프라인 우선(offline-first) 의료 AI 구축 전략을 다룹니다. 인터넷 연결이 어려운 환경을 고려하여 양자화된 모델 사용, 동결된 인코더와 학습 가능한 헤드 결합, 라이선스 관리의 중요성을 강조합니다.

핵심 포인트

  • 인터넷 없는 환경을 위한 오프라인 우선 아키텍처 설계
  • INT8 양자화 및 ONNX를 활용한 경량 모델 구현
  • 동결된 인코더와 작업 특화형 헤드를 결합한 2단계 구조
  • 다양한 의료 모달리티에 확장 가능한 학습 패턴 적용
  • 모델 라이선스 검토의 필수성

아키텍처, 라이선스 지뢰, 그리고 왜 제가 영상의학 전문의가 아닌 지역 사회 보건 요원을 위해 오프라인 우선(offline-first) 의료 AI를 구축하고 있는지에 대한 노트.

이것이 존재하는 이유
의료 AI 스타트업은 부족하지 않으며, 그들 중 거의 모두는 동일한 사용자를 위해 제품을 만들고 있습니다. 즉, 클라우드 연결성, 전자 건강 기록 (EHR), 그리고 SaaS 대시보드 라이선스를 구매할 예산을 갖춘 자원이 풍부한 병원에서 근무하는 영상의학 전문의 (radiologist) 또는 병리 전문의 (pathologist)입니다. 그 시장은 실재하지만, 이미 포화 상태이며, 도입 속도가 느리고, 과잉 공급되어 있습니다.

제가 관심을 두는 사용자는 다릅니다. 그녀는 사하라 이남 아프리카의 지역 클리닉에서 근무하는 지역 사회 보건 연장 요원 (Community Health Extension Worker, 줄여서 CHEW)입니다. 그녀는 종종 마을이 공식 의료 체계와 접촉할 수 있는 유일한 임상 등급의 접점 역할을 합니다. 그녀는 방문 중에 인터넷 연결을 사용할 수 없습니다. 그녀는 스크리닝 계층, 전원(referral) 결정, 그리고 환자 교육 기능을 하나의 역할로 모두 수행합니다. 그녀의 도구는 교육, 스마트폰, 그리고 셔츠 주머니에 넣고 다닐 수 있는 저렴한 주변 기기들입니다: 디지털 청진기, 때로는 400달러짜리 스마트폰 장착용 안저 어댑터 (fundus adapter), 가끔은 휴대용 초음파 프로브 (ultrasound probe) 등이 있습니다.

이것이 바로 의료 AI 아키텍처 (architecture)를 형성해야 하는 배포 환경 (deployment context)입니다. 하지만 대부분 그렇지 못합니다.

그 제약 사항이 강제하는 것
배포 환경으로부터 직접적으로 도출되는 세 가지 아키텍처 결정이 있으며, 이는 타협 불가능합니다:

오프라인 우선 (Offline-first). 모든 추론 (inference) 경로는 인터넷이 없는 상태에서 휴대폰 CPU 또는 지역 클리닉의 노트북에서 실행되어야 합니다. 이는 INT8 양자화 (quantization)를 적용한 ONNX 내보내기, 휴대폰 급 모델을 위한 50MB 미만의 양자화된 가중치 (weights), 그리고 밀리초 (ms) 단위가 아닌 초 (s) 단위로 측정되는 추론 예산을 의미합니다.

작은 학습 가능한 헤드 (trainable heads)를 유지한 채, 파운데이션 인코더 (Foundation encoders)는 동결 (frozen)된 상태로 둡니다. 120억 개의 파라미터 (parameters)를 가진 모델을 처음부터 학습시키는 것은 이 사용자를 지원하기 위한 예산으로는 불가능합니다. 하지만 동결된 사전 학습된 인코더 (pretrained encoder)와 작은 작업 특화형 학습 가능 헤드 (task-specific trainable head)를 결합하는 방식은 다양한 모달리티 (modalities)에 걸쳐 깔끔하게 확장되는 잘 알려진 패턴입니다. 저는 이제 심장 초음파 (echocardiography, 비디오), ECG 신호, 자궁경부 세포학 (cervical cytology) 이미지, 흉부 X-레이, CT 볼륨 (volumes), 그리고 디지털 병리 슬라이드 (digital pathology slides) 전반에 걸쳐 동일한 2단계 아키텍처 (dual-stage architecture)를 적용했습니다. 인코더는 모달리티마다 다르지만, 학습 패턴은 동일합니다.

첫날부터 라이선스 문제를 깨끗하게 관리하기. 이 부분은 저를 크게 괴롭혔으며, 지난 몇 달간 얻은 가장 직관적이지 않은 교훈입니다.

라이선스의 함정
HuggingFace에 접속하여 가장 많이 인용되는 의료용 AI 파운데이션 모델들 — 시각-언어 병리 파운데이션 모델 (vision-language pathology FMs), 흉부 X-레이 DINOv2 파생 모델, 멀티모달 생물 의학 CLIP 모델 — 의 모델 카드 (model cards)를 살펴보면, 많은 모델이 Apache 2.0 또는 MIT와 같은 라이선스 태그를 달고 있습니다. 이러한 태그는 모델 코드, 즉 추론 스크립트 (inference scripts), 학습 파이프라인 (training pipeline), 아키텍처 정의 (architecture definition)를 규정합니다.

하지만 여러 사례에서 가중치 (weights)는 다른 것에 의해 규정됩니다. 별도의 LICENSE 파일이 아니라, 모델 카드 README에 숨겨진 한 단락에 의해서 말입니다.

주요 연구소들의 여러 모델 카드에서 제가 목격한 문구는 거의 그대로 다음과 같습니다: "상업적 용도이든 아니든, 모든 배포된 사용 사례 (deployed use case)는 범위 외(out of scope)입니다." 이 문구는 대부분의 엔지니어가 확인하는 법적 LICENSE 파일에는 나타나지 않습니다. 대신 컴플라이언스 (compliance) 팀이 읽는 README에 나타납니다.

임상 배포를 목적으로 하는 시스템의 경우, 해당 가중치들은 방사능 물질처럼 위험합니다. 법적 라이선스는 상업적 이용을 허용하지만, 관리자의 서면 의도는 이를 지원하지 않습니다. 대부분의 기관 법무 검토는 관리자의 의도를 존중합니다.

이것은 해당 연구소들에 대한 비판이 아닙니다. 그들에게는 책임 소재 및 규제 고려 사항을 포함하여 배포를 제한할 정당한 이유가 있습니다. 이는 공개된, "허용적 라이선스(permissive-licensed)"를 가진 의료용 AI가 기본적으로 배포 준비가 되어 있다는 가정에 대한 비판입니다. 종종 그렇지 않은 경우가 많습니다.

라이선스 부속 합의 없이 임상 제품에서 진정으로 사용 가능한 인코더(encoder)를 포함하는, 배포에 깨끗한(deploy-clean) 파운데이션 모델(foundation model) 스택은 공개된 벤치마크가 시사하는 것보다 훨씬 작습니다.

지금까지 제가 구축한 것
제가 구축하고 있는 시스템은 각 임상 양상(clinical modality)을 공유 오케스트레이션 계층(orchestration layer)에 결합되는 플러그인 모듈로 취급합니다. 오케스트레이션 계층은 모델 라우팅(model routing), 의료 가이드라인으로부터의 검색 증강 인용(retrieval-augmented citation), 그리고 보고서 생성을 처리합니다. 모듈들은 도메인 특화 인코더(domain-specific encoders)와 임상 헤드(clinical heads)를 제공합니다.

현재 상태, 공개 벤치마크에 대한 내부 검증 단계:

심장 초음파(Echocardiography). 동결된 비디오 파운데이션 모델(Frozen video foundation model), 클립 임베딩(clip embeddings)에 대한 어텐션 풀링(attention pooling), 이진 박출률 감소 분류(binary reduced-ejection-fraction classification). 보정된 재현율(calibrated recall)을 가진 내부 AUC는 0.80대 후반입니다.

심전도(ECG). 동결된 wav2vec 클래스 인코더(Frozen wav2vec-class encoder), 27개의 SNOMED 부정맥 클래스에 대한 선형 프로브(linear probe). 매크로 AUC는 약 0.91입니다. 심방세동(Atrial fibrillation) AUC는 약 0.90입니다.

자궁경부 세포학(Cervical cytology). Pap-smear 세포 유형 분류, 실험실 단계 배포, 공개 벤치마크에서 매우 높은 AUC를 기록했습니다.

흉부 X-선(결핵)(Chest X-ray (tuberculosis)). 공개 벤치마크에서 내부적으로 승격됨; 공개된 벤치마크가 이질적(heterogeneous)인 것으로 알려져 있기 때문에, 이 부분의 임상 등급 성능을 주장하는 데 있어서는 의도적으로 보수적인 입장을 취하고 있습니다.

CT(폐 결절 악성도)(CT (lung nodule malignancy)). 슬라이스 간 어텐션 풀링(attention pooling)을 적용한 ConvNeXt-Tiny 슬라이스별 인코더(per-slice encoder), AUC 약 0.79. 이것은 제가 현재 멀티 스케일 CT 파운데이션 모델(multi-scale CT foundation model) 아키텍처로 넘어서려고 노력 중인 고정된 베이스라인(locked baseline)입니다.

병리학 (Pathology, 폐암 하위 유형 분류). 조직 병리 타일 (histopathology tiles)에 범용 DINOv2 인코더 (encoder)를 적용하고, 작은 Gated Attention MIL 헤드 (head)를 결합하여 공개된 TCGA-LUNG 데이터셋 분할에서 AUC 0.85를 달성했습니다. 이 수치가 흥미로운 이유는 인코더에 병리학 특화 사전 학습 (pathology-specific pretraining)이 전혀 포함되지 않았기 때문입니다. 즉, 배포 가능한 수준의 깨끗한 의료 병리 파운데이션 모델 (FM)이 존재할 경우 확보할 수 있는 성능 향상 여력 (headroom)이 상당하다는 것을 의미합니다.

유방 촬영술 (Mammography). 이 과정은 가장 교육적인 여정이었습니다. 기존 CBIS-DDSM 벤치마크를 사용한 초기 5번의 반복 실험에서는 인코더의 선택과 관계없이 AUC 0.65~0.70 부근에서 정체되었습니다. 성능의 한계는 아키텍처 (architecture)가 아니라 데이터셋이었습니다. 유방당 명시적인 다중 뷰 집계 (multi-view per-breast aggregation)를 포함하는 더 깨끗한 VinDr-Mammo 벤치마크로 전환하자, 단 한 번의 반복 실험만으로 수치가 0.65에서 0.84로 상승했습니다. 아키텍처 패턴은 올바랐으나, 데이터가 병목 현상 (bottleneck)이었던 것입니다.

보고서 오케스트레이션 (Report orchestration). 구축 완료되었습니다. 임상 가이드라인 문헌의 벡터 저장소 (vector store)로부터 검색 증강 인용 (retrieval-augmented citation) 기능을 포함하며, 생성된 보고서에서 근거가 있는 주장 (grounded claims)과 근거가 없는 주장 (ungrounded claims)을 구분하여 표시하는 구조화된 출력 핸들러 (structured output handler)를 갖추고 있습니다.

아직 구축되지 않았으며 제가 명시적으로 밝히고 있는 부분들은 다음과 같습니다: AlphaFold 기반의 치료 추론 (therapeutic reasoning), 종단적 환자 상태 표현 (longitudinal patient state representation), 영상 및 검사 데이터를 아우르는 공동 질의를 위한 교차 모달 대조 정렬 (cross-modal contrastive alignment), 그리고 지역사회 보건 요원을 위한 임상적으로 검증된 사용자 인터페이스 (user interface)입니다. 이들 각각은 아키텍처 계획에 포함되어 있으나, 아직 출시(shipping)된 것은 없습니다.

제가 배운 점 중 일반화가 가능하다고 생각하는 것들
이 분야에서 작업하는 모든 이들을 위한 세 가지 교훈입니다.

첫째, 배포 환경(deployment context)이 곧 아키텍처입니다. 데이터셋도, 인코더(encoder)도, 벤치마크(benchmark)도 아닌, 배포될 사용자를 기준으로 시작한다면 아키텍처 선택은 훨씬 쉬워지고 훨씬 더 명확한 제약 조건을 갖게 됩니다. 오프라인 우선(Offline-first) 방식은 설계 옵션의 범주 자체를 제거합니다. 스마트폰 수준의 추론(Phone-tier inference)은 공격적인 양자화(quantization)를 강제합니다. 고정된 인코더(frozen-encoder)와 학습 가능한 헤드(trainable-head) 패턴은 연산 예산(compute budget)으로부터 자연스럽게 도출되며, 이는 여러 모달리티(modalities)에 걸쳐 깊이 재사용 가능하다는 부수적인 이점도 가집니다.

둘째, 라이선스 관련 주장은 LICENSE 파일이 아니라 README에 들어 있습니다. 이것은 제가 지난 몇 달 동안 배운 것 중 가장 중요하면서도 명확하지 않은 사실입니다. 모델 카드(model card)를 읽으세요. 두 번 읽으세요. 그리고 컴플라이언스(compliance) 검토를 담당하는 사람에게 전달하세요.

셋째, 데이터셋 선택과 집계 전략(aggregation strategy)이 인코더 선택보다 우선하는 경우가 많습니다. 세 가지 서로 다른 인코더를 사용한 다섯 번의 유방 촬영술(mammography) 반복 실험 과정에서, 데이터셋을 바꾸기 전까지 AUC의 상한선은 데이터셋에 의해 제한되었습니다. 인코더는 데이터에 비하면 작은 지렛대였습니다. 이것은 모두가 알고 있다고 말하지만 정작 실행에 옮기는 사람은 거의 없는 지루한 교훈입니다.

만약 당신이 이 분야에서 일한다면
저는 1인 개발자입니다. 앞으로 몇 달 동안은 남은 모듈들을 내부 검증(internal validation) 단계로 밀어붙이고, AlphaFold 치료 추론 계층(therapeutic reasoning layer)을 구축하며, 타겟 환경에서의 배포 파트너십에 관한 논의를 시작할 예정입니다.

저자원 보건 시스템(low-resource health systems), 의료 영상 파운데이션 모델(medical imaging foundation models), 의료기기 소프트웨어(AI-as-medical-device)를 위한 규제 경로, 또는 지역사회 보건 요원(community health worker) 교육 프로그램 분야에서 일하고 계신다면, 진심으로 대화 나누고 싶습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0