특화 CNN vs 프론티어 LLM: 이미지 분류에 맞는 모델 고르기
10년 된 CNN이 피부암 이미지 분류에서 최신 프론티어 LLM을 이겼습니다. 특화 모델과 범용 LLM 중 내 작업에 맞는 것을 고르는 방법을 정리했습니다.

한 피부과 의사가 최근 조직검사로 확진된 피부 병변 200건을 최신 프론티어 LLM 두 개와, 10년 전 구글이 공개한 합성곱 신경망 Inception v3를 파인튜닝한 모델에 입력해 봤습니다. CNN은 62%를 맞혔고, LLM은 둘 다 42%에 그쳤습니다. 가장 놓치면 안 되는 흑색종(melanoma)에서도 오래된 네트워크가 이겼습니다. 여러분이 어떤 규모로든 이미지 분류를 다루고 있다면, 이 결과는 특화 모델과 LLM 중 무엇을 고를지에 대한 생각을 다시 점검하게 만들 겁니다. 사실 이건 의료 이야기라기보다 적절한 도구를 고르는 이야기니까요.
문제: 분류는 LLM에게 쉬워 보이지만 실제로는 아닙니다
똑똑한 엔지니어들이 자주 빠지는 함정이 있습니다. 프론티어 모델은 코드를 짜고, 계약서를 요약하고, 변호사 시험도 통과하니, 사진을 보고 여섯 개 라벨 중 하나를 고르지 못한다는 말이 오히려 황당하게 느껴지죠. 분류는 머신러닝의 ‘hello world’인데, 가장 큰 모델이 당연히 할 수 있어야 하지 않겠어요?
하지만 분류가 실제로 무엇인지 봅시다. 라벨 공간은 고정되어 있고 보통 작습니다. 입력 분포도 반복 가능합니다. 그리고 미묘하고 중대한 사례들을 일관되게, 매번 올바른 쪽에 놓는 결정 경계가 필요합니다. 바로 마지막 부분에서 멀티모달 LLM이 무너집니다. 이들은 좁은 시각 영역 안에서 세밀한 구분을 하도록 훈련된 게 아니라, 온라인에 올라온 거의 모든 이미지에 대해 그럴듯한 말을 하도록 훈련되었으니까요.
피부암 결과가 이를 불편할 만큼 분명하게 보여줍니다. 한 LLM은 실제로는 25건뿐인 기저세포암을 200건 중 75건으로 진단했고, 그중에는 흑색종 30건 중 14건도 포함됐습니다. 다른 LLM은 광선각화증(actinic keratosis)을 유독 좋아해서 실제 20건에 비해 53번이나 그렇게 진단했습니다. 이런 오류는 무작위가 아닙니다. 피부과학에 대해 많이 읽었고 웹 규모 학습 데이터에 있는 병변 이미지들을 봤지만, 계산해서 답을 내는 게 아니라 가장 그럴듯하게 들리는 답에 패턴을 맞추는 모델의 전형적인 특징입니다.
모든 교과서를 읽은 모델은, 여러분이 묻는 바로 그 대상에 대해 라벨이 붙은 예시 68,000개를 본 모델과 같지 않습니다.
첫 번째 실패 사례: 그냥 프론티어 모델에게 물어보기
가장 자연스러운 첫 시도는 의사가 해 본 방식입니다. LLM에 이미지를 주고, 진단과 확신도, 그리고 두 번째 후보를 요청하는 것이죠. 공정한 테스트입니다. 실제로 임상의가 이런 도구를 쓰는 방식이기도 하고요. 그리고 실패 양상은 꽤 교훈적입니다.
첫째, 확신도는 의미가 없습니다. 한 경우에서 LLM은 색소가 옅고 얇은 침윤성 흑색종을 95% 확신으로 기저세포암이라고 했습니다. 이 숫자도 진단과 똑같이 ‘그럴듯하게’ 생성된 것입니다. 그 밑에는 보정된 확률이 없습니다. 하위 로직이 확신도에 임계값을 둔다면(대부분의 트리아지 로직이 그렇습니다), 여러분은 허구에 임계값을 거는 셈입니다.
둘째, 오류가 보수적이지 않습니다. 실행할 때마다 답이 달라지는데, 파이프라인에 넣을 것이라면 이건 아주 치명적입니다. 특화 분류기는 같은 입력에 항상 같은 로짓을 주지만, LLM은 답의 분포에서 샘플 하나를 뽑아 줄 뿐입니다. 의사결정 지원 도구에서 비결정성은 특이한 특성이 아니라 부채입니다.
셋째, 그리고 이게 미묘한 부분인데, LLM은 인접한 작업에는 훌륭했습니다. 환자 입장에서 “의사한테 가봐야 하나요?”라고 물었을 때, 조직검사로 확진된 흑색종 100건 중 98~99건, 그리고 거의 모든 무해한 병변에도 ‘예’라고 답했습니다. 의학 텍스트로 훈련된 모델이 보이는 행동이죠. 항상 의사에게 가라는 쪽으로 기웁니다. 챗봇 트리아지 화면에는 쓸모 있지만, 실제 과제인 식별(판별)에는 쓸모가 없습니다.
두 번째 실패 사례: 크면 모든 면에서 낫다고 가정하기
실험에는 없는 더 깊은 실패도 있습니다. 규모가 적합성을 대신할 수 있다는 가정입니다. 프론티어 LLM은 보수적으로 잡아도 Inception v3의 약 2,400만 파라미터보다 수천 배 많은 파라미터를 갖고 있습니다. 하지만 그 용량 중 어떤 것도 픽셀 수준에서 지루각화증과 편평세포암을 구별하는 데 배정되어 있지 않습니다. 모델 입장에서 피부과학은 방대한 학습 데이터 바다에 떨어진 한 방울이고, 진단 신호의 대부분을 담고 있는 피부경검사(dermoscopic) 이미지는 그보다 더 드뭅니다.
같은 이유로 3천만 파라미터짜리 바둑 네트워크가 터무니없는 격차로 어떤 LLM보다도 바둑을 잘 둡니다. 벤치마크가 팀들을 계속 잘못 이끄는 이유이기도 하죠. 실제 운영에서 LLM이 어디서 도움이 되는지에 대해서요. 이 점은 AI 벤치마크가 실제 업무의 대부분을 놓치는 이유를 살펴볼 때도 짚었습니다. ‘모델이 가끔 이걸 할 수 있다’는 의미의 능력과, ‘모델이 그 위에 무언가를 쌓을 만큼 안정적으로 해낸다’는 엔지니어링 관점의 능력은 다릅니다.
이 실험에 대한 논의 속에 쓸모 있는 경험칙이 숨어 있습니다. 프론티어 LLM이 어떤 작업을 정말 잘하려면, 그 작업이 사전학습에서 압도적으로 많이 나타나거나(코드, 일상 영어), 강화학습으로 특별히 후속 훈련되었어야 합니다. 그렇지 않다면, 책 몇 권을 읽고도 자신만만한 똑똑한 제너럴리스트 정도의 성능을 기대하세요. 희귀한 것을 시각적으로 진단하는 일은 명백히 두 번째 범주에 속합니다.
실제로 효과가 있는 것: 정확한 분포에 파인튜닝한 작은 모델
이제 특화 모델에는 연구소가 필요하다고 생각하는 사람이 부끄러워할 부분입니다. 우승한 CNN은 최첨단이 아니었습니다. 일반 사진으로 사전학습된 기본 아키텍처인 Inception v3였고, 공개 아카이브의 피부과 이미지 68,011장으로 엔드투엔드 파인튜닝했습니다. H100 한 장으로 약 20분 걸렸죠. 학습 데이터에서 테스트 병변과 그 환자들의 사진은 모두 제거하는 데 신경 썼습니다. 결과 모델은 아무것도 업로드하지 않고 WebGPU를 통해 휴대폰 브라우저에서 돌아갑니다.
GPU 한 장에서 20분입니다. 프론티어 멀티모달 모델을 운영 규모로 여러분의 이미지 전체에 돌리는 비용과 비교해 보세요. 이미지 한 장당, 영원히 계속 드는 비용이죠. 특화 모델은 더 정확할 뿐 아니라 비용은 몇 자릿수나 저렴하고, 결정적이며, 감사가 가능하고, 엣지 기기에 배포할 만큼 작습니다. 문제를 안정된 입력 분포 위의 N개 라벨로 정의할 수 있고 라벨 데이터가 있거나 구할 수 있다면, 파인튜닝한 분류기가 운영에서 중요한 거의 모든 면에서 이깁니다.

이 플레이북의 현대적 버전은 오래된 CNN도 필요하지 않습니다. 작은 비전 트랜스포머, Google의 의료 영상 인코더 같은 임베딩 모델, 또는 사전학습된 백본 위에 파인튜닝한 헤드만 있어도 훨씬 멀리 갈 수 있습니다. 핵심은 Inception v3에 대한 향수가 아닙니다. 2015년 아키텍처가 컴퓨팅 자원이 네 자릿수 더 많은 모델을 이기기에 이미 충분하다는 점이고, 이는 병목이 실제로 어디에 있는지 알려줍니다. 중요한 것은 네트워크의 크기가 아니라 과제와의 적합성입니다.
# The specialist path in miniature: a frozen backbone + a small head
import torch
import torch.nn as nn
from torchvision import models
# A decade-old backbone is fine. Seriously.
backbone = models.inception_v3(weights="IMAGENET1K_V1")
in_features = backbone.fc.in_features
backbone.fc = nn.Linear(in_features, 6) # your six labels
# Fine-tune everything on your labelled domain images.
# On one H100, tens of thousands of images: tens of minutes.
optimizer = torch.optim.AdamW(backbone.parameters(), lr=1e-4)
loss_fn = nn.CrossEntropyLoss() # a *calibrated* probability lives here
라벨 공간은 고정되어 있지만 주변 워크플로에 LLM을 계속 참여시키고 싶다면, 정직한 방법은 LLM의 산문을 믿지 말고 출력을 하나의 결정으로 제한하는 것입니다. 이는 LLM을 결정 모델로 바꾸는 제약 디코딩과 같은 발상입니다. 다만 분류 자체에는 여전히 학습된 헤드가 이깁니다.
결정 프레임워크: 특화 모델이 이기는 때와 LLM이 이기는 때
팀들이 이 선택을 서툴게 하는 것을 몇 년간 지켜본 끝에, 제가 실제로 옹호할 수 있는 프레임워크를 정리하면 이렇습니다. 네 가지 질문을 던지세요.
- 라벨 공간이 고정되어 있고 작은가요? 답을 열거할 수 있다면, 분류기가 거의 항상 맞는 형태입니다. LLM은 출력 공간이 열려 있을 때, 즉 요약, 설명, 대화, 코드처럼 가치를 발휘합니다.
- 입력 분포가 안정적인가요? 피부경검사 이미지로 파인튜닝한 모델은 같은 이미지에서는 훌륭하지만, 문신과 자, 커피잔이 함께 찍힌 사진 앞에서는 속수무책입니다. 입력이 제각각이라면, 제너럴리스트의 견고함은 실질적인 가치가 있습니다.
- 라벨이 붙은 데이터가 있나요, 아니면 구할 수 있나요? 이것이 진짜 갈림길입니다. 라벨 예시가 1만 개 이상이면 파인튜닝은 거의 공짜이고 압도적으로 이깁니다. 하나도 없다면 LLM의 제로샷 추측이 최선의 출발점일 수 있지만, 이를 운영 답이 아니라 라벨링을 부트스트랩하는 도구로 취급하세요.
- 오류의 비용은 얼마이고, 보정(calibration)이 필요한가요? 고위험이며 임계값으로 판단하는 결정에는 실제 확률과 결정적 출력이 필요합니다. 이것만으로도 순수 LLM 호출은 배제됩니다. 예외 없습니다.
피부암 사례에 적용해 보면: 고정된 여섯 개 라벨 공간, 안정적인 임상 영상 파이프라인, 공개 이미지 68천 장의 라벨 데이터, 생명과 직결된 오류. 네 가지 모두 해당합니다. LLM은 애초에 승산이 없었고, 놀라운 점은 그가 졌다는 사실이 아니라 누군가 다른 결과를 기대했다는 것입니다.
솔직한 한계점들, 실용주의는 양방향으로 작동하니까요
‘작은 모델이 이긴다’에서 멈춘다면 여러분에게 못된 짓을 하는 셈입니다. 파인튜닝된 분류기의 강점은 곧 취약점이기도 합니다. 이 모델은 파인튜닝하지 않은 제너럴리스트와 비교되었고, 학습한 바로 그 분포에서 뽑은 데이터로 평가되었습니다. 이를 야생으로 내보내 보세요. 카메라가 다르고, 아카이브에서 과소 대표된 피부톤이 있고, 가림이나 주석이 있는 이미지들이라면, 성능은 LLM의 넓은 학습이 때때로 더 잘 처리하는 방식으로 떨어집니다. 제너럴리스트는 분포 안에서 예측 가능하게 실패하지만, 특화 모델은 분포 밖에서 치명적으로 실패합니다.
분류기가 전혀 할 수 없는 작업도 있습니다. 바로 의학의 나머지 부분입니다. 같은 실험에서 가장 흥미로운 부차적 결과는, LLM이 진료 기록, 환자 병력, 질문을 할 수 있는 능력이 주어지면 해석, 소통, 관리 — 라벨 이후의 모든 것에 그럴듯하게 기여할 수 있었다는 점입니다. CNN은 여섯 개의 로짓을 출력합니다. 불안해하는 환자에게 추론을 설명하거나, 의뢰서가 이미지와 모순된다는 점을 알아채지는 못할 겁니다.
그리고 연구 자체의 정직함도 짚어 둡니다. 최첨단 피부과 AI는 단독 Inception v3가 아니라, 훨씬 많은 데이터로 학습한 비전 트랜스포머들의 앙상블이며, 그렇게 만들어진 규제 승인 제품은 훨씬 좋은 성능을 보입니다. 이 분야의 흐름은 제너럴리스트가 아니라 더 큰 특화 모델을 향하고 있고, 이는 제 논지를 약화시키기보다 강화합니다.
진짜 통찰: LLM은 분류기를 ‘대신’하기보다 분류기를 ‘만드는’ 데 쓰세요

이 모든 과정에서 가장 날카로운 관찰은 제가 계속 떠올리는 것입니다. LLM 덕분에 전용 분류기를 만드는 비용이 0에 가까워졌다는 점이죠. 파인튜닝 스크립트 작성, 데이터셋 정리, 평가 하네스 구축, 라벨링 인터페이스 생성은 바로 LLM이 실제로 초인적으로 가속하는 작업입니다. 이 피부과 분석 자체도 AI 코딩 도구로 만들어졌습니다. 특화 모델이 이긴 실험을 만들고 점수 매긴 것은 제너럴리스트였습니다.
그래서 지금 기본값으로 추천하는 아키텍처는 이렇습니다. 개발, 데이터 작업, 엣지 케이스 트리아지, 사람을 향한 설명 계층에는 LLM을 루프에 넣고, 반복적이고 대량이며 고위험인 결정 자체에는 작은 파인튜닝 모델을 씁니다. 효율성 측면에서도 같은 패턴을 봤습니다. 흥미로운 이야기는 종종 플래그십 모델이 아니라, 플래시 티어 모델과 추론 효율에서 보듯 저렴한 티어가 실제로 일을 해내는 쪽에 있습니다. 모델을 문제의 형태에 맞추면, ‘AI는 안 된다’는 불만 대부분은 사라집니다.
계산기는 나눗셈에서 모든 LLM보다 낫지만, 그걸 두고 열광적인 글을 쓰는 사람은 없습니다. 챗봇보다 분류를 더 잘하는 파인튜닝 분류기도 파라미터만 더 많을 뿐 같은 이야기입니다. 이것이 누군가를 놀라게 하는 이유는 지난 2년간 규모가 특화의 필요를 없애 준다는 말을 들어 왔기 때문입니다. 그렇지 않습니다. 규모는 특화를 만드는 비용을 낮출 뿐입니다. 다만 지루하지만 제대로 된 도구를 집어 들 용기가 있을 때 말이죠.


