pile·
AI / ML·마켓컬리마켓컬리 Hello World·

AWS SageMaker Ground Truth로 학습 이미지 분류하기

후기 이미지 분류 모델을 개선하려면 최근 데이터를 다시 라벨링해야 했지만, 10만 장 규모에서 로컬 수작업은 한계에 부딪혔다. S3 이미지 수집과 중복·손상 파일 제거부터 드래그 앤 드롭, 1장씩 분류, 기존 모델을 활용한 반자동 방식까지 비교한다. AWS SageMaker Ground Truth의 private workforce가 협업 문제는 해결했지만 객체 수 기반 비용 때문에 실제 도입은 보류한 과정이다.

핵심 포인트
  • 기존 이미지 분류기는 스크린샷 후기 비율을 약 10%에서 1%대로 낮췄지만 1년 이상 추가 학습이 없어 오분류 개선이 필요했다.
  • S3에서 받은 이미지에는 상품별 중복과 손상 파일이 섞여 있어 해시 중복 제거와 PIL 로딩 검증을 먼저 수행했다.
  • 1만 장 정도는 Finder 드래그 앤 드롭이 가장 빨랐고, 1장씩 명령으로 분류하는 방식은 정확하지만 더 느렸다.
  • 기존 모델로 선분류한 뒤 사람이 검수하면 작업은 단순해지지만 로컬 추론 비용과 장당 약 200ms의 처리 시간이 들었다.
  • Ground Truth는 여러 작업자를 초대하고 진행 상황과 JSON 결과를 관리할 수 있지만, 10만 객체의 private 작업에도 당시 약 4,000달러가 필요했다.
상세 정리
  • 운영 배경: 컬리는 고객 후기 이미지에서 스크린샷과 실제 사진을 구분하는 모델을 사용했다. 초기 배포 뒤 비율 개선 효과는 있었지만 장기간 재학습하지 않아 정확도 요구가 누적됐다.
  • 데이터 규모: 후기 이미지는 날짜별 S3 경로에 저장됐고 하루 약 6천~8천 장이 추가됐다. 2020년 1월 기준 전체는 약 600만 장으로 추산했다.
  • 수집: aws s3 cp 명령으로 특정 날짜 경로의 이미지를 로컬에 내려받았다. 우선 약 3일치, 1만 장이 넘는 데이터를 살폈다.
  • 중복 문제: 장바구니 단위 후기 등록 때문에 같은 이미지가 여러 상품에 중복될 수 있었다. 파일의 SHA-1 해시를 키로 저장하고 이미 본 해시가 나오면 중복 파일을 삭제했다.
  • 손상 문제: 업로드 실패 등으로 잘못된 파일이 있었고, 몇 시간 진행한 학습이 중간에 종료되기도 했다. PIL Image로 열고 load가 실패하는 파일을 제거했다.
  • 첫 라벨링: 사진과 스크린샷 두 종류라 Finder 미리보기에서 여러 파일을 골라 폴더로 옮겼다. 1만 장이 조금 넘는 데이터를 한 시간 남짓에 처리했지만 오분류 위험이 컸다.
  • 두 번째 방식: 이미지를 하나씩 448×448 RGB로 보여주고 키 입력으로 photo와 screenshot 폴더에 이동했다. 초당 약 2장, 1만 장에 약 1시간 반이 걸렸다.
  • 반자동 방식: 첫 모델이 생긴 뒤에는 모델이 먼저 분류하고 작업자가 결과를 확인했다. 사람의 판단 부담은 줄지만 로컬 장비에서 추론하는 데 장당 약 200ms가 필요했다.
  • 확장 한계: 최근 10만 장을 받자 Finder가 폴더 접근만으로 멈춰 첫 방식은 사용할 수 없었다. 여러 사람이 나눠 작업할 수 없는 로컬 도구의 한계도 드러났다.
  • Ground Truth 입력: 대상 파일을 S3에 올리고 manifest를 만든 뒤 이미지 분류 작업 유형을 선택한다.
  • 인력 선택: AWS 외주, private workforce, 다른 업체 외주를 선택할 수 있다. AWS 외주는 난이도와 분류 시간에 따라 가격이 달라졌다.
  • private workflow: 이메일로 내부 작업자를 초대하고, 라벨·예시·작업 지침과 실제 화면을 구성한다. 관리 화면에서 진행률을 확인할 수 있다.
  • 결과 처리: 완료 결과는 이미지 경로와 라벨을 담은 JSON으로 받아 학습 폴더를 구성할 수 있다. Chain으로 다음 분류 작업을 연결하는 것도 가능하다.
  • 비용 결론: 협업과 결과 관리에는 잘 맞았지만 내부 인력이 직접 라벨링해도 객체 수 요금이 붙었다. 10만 장에 약 4,000달러라 실제 도입은 어렵다고 판단했다.
왜 읽나이미지 모델의 재학습을 준비하며 데이터 정제, 수작업 라벨링, 반자동화, 관리형 라벨링 서비스의 비용을 함께 비교해야 하는 ML 실무자에게 유용하다.
마켓컬리
마켓컬리 Hello World 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. AI / ML·LY CorporationLY Corporation·

    Grafana에서 자연어로 장애 원인을 분석하기: LLM 에이전트 기반 SRELens 개발기

    LY Corporation Home SRE 팀이 장애 분석 시 메트릭·로그·트레이스가 각각 다른 화면에 흩어져 있는 문제를 해결하기 위해 Grafana 플러그인 SRELens를 개발했다. SRELens는 LLM 에이전트가 자연어 질의를 받아 실제 관측성 데이터를 조회하고, 근거와 함께 장애 원인 후보를 정리해 주는 도구다. LGTM-P 스택(Loki·Grafana·Tempo·Mimir·Pyroscope)과 FlavaMCP 게이트웨이를 통합해 단일 채팅 인터페이스에서 멀티시그널 분석이 가능하다.

    #llm-app#mcp#observability+2