216만 원짜리 라벨링을 9만 원으로 줄이기
(na2ru2.me)이미지 라벨링 비용 96% 절감: 사람이 할 일을 시스템에 맡겨라는 예산과 시간이 부족한 환경에서도, 사람의 반복 노동을 소프트웨어 파이프라인으로 대체해 핵심 기능을 구현한 실전 엔지니어링 사례를 다룸
핵심 요약
• 문제 인식: 유명 캐릭터 인형을 자동 인식·등록하는 기능에 적합한 기존 모델은 존재하지 않았고, 사람 라벨링은 비용·속도·확장성 모두 한계가 명확했음.
• 접근 방식: “사람을 더 투입할 것인가”가 아니라, 사람의 판단 과정을 시스템으로 분해해 파이프라인화.
4단계 자동화 파이프라인 설계
1. CLIP 필터링 – 의미 없는 이미지 대량 제거로 LLM 비용 절감
2. YOLO 탐지 – 주인공 객체만 크롭해 분석 범위 축소
3. LVM 라벨링 – 정제된 데이터에만 고성능 VLM 투입
4. LVM 검증 – 신뢰도 기반 조건부 검증으로 호출 수 추가 감소
성과:
• 인간 라벨링 비용 약 216만 원 → 9만 원
• 약 95.7% 비용 절감, 작업 시간은 며칠 → 몇 시간
• 본질적 가치: 일회성 절약이 아니라 재사용 가능한 시스템을 확보
자본의 한계는 기술로 넘을 수 있으며, 소프트웨어는 비용 문제를 구조 문제로 바꿀 수 있는 도구라는 점을 증명
오호 잘 읽었습니다. 추가 검증을 신뢰도 기반으로 진행 여부를 판단한다고 하셨는데 이 신뢰도는 어떻게 측정한 값이었는지도 궁금합니다.
참고로 gpt-4o-mini 모델은 이미지 입력시 입력 토큰이 과하게 비싸서 다른 경량 모델도 고려해보시길 추천드려요!
안녕하세요 winterjung님, 제 작업에 관심 가져주셔서 감사드립니다.신뢰도는 VLM(GPT-4o)에서 직접 반환하는 confidence 값을 사용합니다.말씀하신 대로 GPT-4o의 confidence 계산 근거가 불명확하고 재현이 불가능하다는 한계가 있습니다. 하지만 실용적인 관점에서 VLM이 반환하는 confidence가 어느 정도 정확하다는 가정 하에, 마지막 검증(Verifier) 단계에서 threshold 기반으로 검증 여부를 결정하도록 구현했습니다.
got-4o-mini 모델이 이미지 입력 토큰이 과하게 비싸다는 사실은 전혀 모르고 있었네요 알려주셔서 감사합니다. 바로 코드에 반영했습니다 ㅎㅎ
VLM을 이용해서 문제를 잘 해결한 글이네요 재밌게 봤습니다.
글을 읽고 든 궁금점이 하나 있는데,
- YOLO 탐지 – 주인공 객체만 크롭해 분석 범위 축소
이 과정은 어떻게 넣으신 건지 궁금합니다.
글을 읽으면서 VLM이 YOLO보다 성능이 좋을 텐데 오히려 크롭을 하면 YOLO 모델이 잘못 판단해서 VLM에 넘기기도 전에 중요한 정보가 손실 되는 문제가 있지 않을까 생각이 들었습니다.
크롭은 어떤 문제를 계기로 생각하게 되신 거고, 어떻게 정확도를 검증하고 넣으신 건지 궁금합니다.
안녕하세요, 글 재밌게 읽어주셔서 감사합니다!
말씀하신 부분에 공감합니다. VLM이 YOLO보다 성능이 좋은데 YOLO의 오판으로 중요한 정보가 손실될 수 있다는 점, 맞는 지적입니다. 하지만 다음의 이유들로 인해 크롭 단계를 넣게 되었습니다.
첫 번째로 비용 문제입니다. VLM에 전체 이미지를 직접 사용하면 고해상도 이미지 처리로 인해 비용이 급격히 증가합니다. 이것이 크롭을 도입하게 된 가장 큰 이유였습니다.
두 번째로 처리 속도 문제입니다.
대용량 데이터셋을 현실적인 시간 내에 처리하기 위해서는 이러한 속도 향상이 필수적이었습니다.
세 번째로 정확도 향상입니다.
크롭이 오히려 VLM의 판단 정확도를 높입니다. 전체 이미지에는 복잡한 배경, 여러 캐릭터, 텍스트, 장식품 등이 함께 포함되어 있어 VLM이 어떤 객체를 판단해야 할지 혼란스러울 수 있습니다. 예를 들어 배경의 포스터에 있는 캐릭터인지, 메인 인형인지, 옆에 있는 다른 캐릭터인지 명확하지 않은 경우가 발생합니다. 반면 크롭을 사용하면 대상 객체만 명확하게 분리되어 VLM이 해당 객체에만 집중하여 판단할 수 있게 됩니다.
물론 YOLO의 미탐지나 오탐지 문제가 완전히 해결되는 것은 아닙니다. 하지만 YOLO의 confidence threshold를 0.5로 설정하여 recall을 높이고, 이후 CLIP 필터링과 Verifier 검증 단계에서 오탐지를 걸러내는 방식으로 이 문제를 완화했습니다. 또한 대용량 데이터를 처리하기 때문에 일부 미탐지가 발생하더라도 통계적으로 충분한 양의 고품질 데이터를 확보할 수 있었습니다.
결과적으로 비용, 속도, 정확도의 균형점을 찾아 실용적인 파이프라인을 구축하는 것이 목표였고, 크롭 단계가 이 세 가지 측면에서 모두 긍정적인 효과를 가져왔습니다.
답변 감사합니다.
저도 비용 문제가 생각났는데, 역시 인풋 이미지의 해상도에 따라서 비용이 크게 달라지나보네요. 그리고 인풋 이미지의 크기와 처리 속도의 관계는 아예 생각을 못 했는데 신기하네요. 크롭을 하면 처리 속도까지 빨라지는군요
그리고 정확도 향상이 정말 놀랍네요!
VLM의 성능이 많이 좋아졌지만, 그렇더라도 아직까진 한 가지 목적을 위해 학습된 YOLO 모델의 성능을 못 넘는 걸까요?
실제 상황에서 경험하신 노하우를 글로 남겨주셔서 감사합니다.
저도 비슷한 문제를 만난다면 사용하신 방법들을 꼭 참고해보겠습니다.