데이터 라벨링 전체 시간의 53%를 줄이는 방법

데이터 라벨링은 AI 제품 전체 개발 시간 중 80% 가량을 차지하는 작업입니다.초기의 AI 업계는 오랜 시간이 소요되는 데이터 라벨링을 모두 수작업으로 진행하였고,이에 따라 소싱 인력들을 효율적으로 관리하는 분야의 기술 발표들이 이어졌는데요.

DataOps, sudo-labeling 등 데이터 라벨링 시간을 줄이기 위한 기술들이 발표되었습니다.

오늘은 강화학습 기법과 컴퓨팅 파워를 줄여주는 휴리스틱 알고리즘을 사용하여

대용량의 데이터셋 가공시간을 53% 줄여준 ComPrehensive and Efficient Data Labeling via Adaptive Model Scheduling 논문을 리뷰해 보겠습니다.  


문제 정의

데이터라벨링 영역

이 5가지 데이터 셋의 공통점은 일정 task만 수행하기 위한 AI를 훈련하기 위해 라벨링되었습니다.거의 대부분의 경우에 프로젝트의 특성에 맞는 데이터셋만이 필요하기 때문에 데이터 시장에서는 다양한 task를 수행할 수 있는 데이터셋은 찾기가 힘듭니다.

하지만 비전 분야에서도 점차 모델의 크기가 커지고 Multi-Modal의 수요가 있는 만큼, 여러 Task 정보가 있는 사진은 비싸게 팔립니다.

연구 팀은 위 사진의 빈 공간을 모두 파란색으로 채우고 싶었습니다만, 해당 실험을 진행하기 위해 MSCOCO 2017, Places365, MirFlickr25에서 394,170개의 이미지를 6개의 task로 분류하고 수십, 수백개의 label을 분류하는 작업은 수작업으로 진행하기에 비용이 너무 많이 들었습니다.

Semi-Auto-labeling 기술을 활용하려고 해도 Multi-Modal 신경망을 단일 모델로 만드는 것은 정확도도 떨어질 뿐더러 컴퓨팅 자원이 너무 많이 소요되기 때문에 단가가 안 맞았다고 합니다.

단일 모델의 성능 이슈

해당 논문에서는 여러 개의 미리 훈련된 최적화된 모델들을 Q-value 기반의 강화학습으로 스케줄링하여 라벨을 잘 찾을 수 있는 여러 모델의 집합을 이용하는 것인데 업계에서 부정적으로 보고 있는 방식입니다.


평가 함수

모델 평가 함수


S = 특정 모델들을 전체 모델 집합에서 뽑아온 것 입니다. 나중에 agent가 뽑아옵니다.

d = 데이터

(S, d) = 데이터를 넣었을 때 모델들의 처리 속도입니다. 이것이 최대가 되도록 하는 것이 목적입니다.

컴퓨팅 파워에 제약을 주기위해 deadline을 걸었습니다.

처리 속도는 당연히 음수로 내려가지는 않습니다.


핵심 아이디어

솔직히, 논문을 읽는 내내 반신반의 하면서 읽었던 것 같습니다.(이게 된다고?)

심지어 Q-Value Network는 이미지 인식을 위한 눈 역할을 하는 컨볼루션 레이어도 존재하지 않습니다.해당 논문에서는 약 40만장을 가공 했다고 합니다.

리워드 함수는 다음과 같이 정의됩니다.  

reward function

보통의 Q-value 신경망과는 조금 다른 리워드를 사용하는데요

리워드를 1점이아니라 맞춘 값 + 1 을 적용하고 있습니다. 이유는 모든 이미지에서 라벨이 하나만 있는게 때문입니다.그 뿐만 아니라 각 Task 별로 Evaluation 방법이 다르기 때문에 로그를 적용하여

일정 job을 수행하는 모델의 reward만 폭발적으로 증가하는 것을 막아놨습니다.


예를 들어, 객체가 5개인데 4개만 잡았을경우는 5점face landmark의 경우 68개의 포인트를 모두 잡아야 하는데 1개만 잡았다면? 2점이런 식으로 Agent에게 올바른 리워드를 주기 위해 고민한 흔적이 보입니다.

Agent를 훈련시키기 위해 사용한 알고리즘은 DQN, DDQN, Dueling DQN, Deep SARSA를 사용했다고 합니다. 그리고 나중에 Optimal로 소개될 모델은 greedy 방식을 사용해 exploration을 걸어주었네요


컴퓨팅 파워에 제약을 주는 공식(deadline 정하기)

컴퓨팅 파워 줄이기

1번 알고리즘은 전체 모델집합(M)에서 뽑은 모델 세트(S)가 데이터 하나하나를 처리하는데 드는 시간을 계산해 가장 처리가 빠른 m 값을 모아서 초기 정해진 deadline에서 빼주게 됩니다.

그렇게 되면 학습을 반복할 수록 deadline을 줄 일 수 있어 컴퓨팅 파워를 적게 소모하는 방식으로 훈련되게 됩니다.

이 방식은 GPU가 여러 개일 때를 고려하지 못한 한계가 있다고 합니다.


2번 알고리즘은 여러 GPU의 메모리를 고려하여 수정된 알고리즘으로 여러 GPU 모델의 메모리까지 고려하여 Deadline을 줄이도록 훈련됩니다.


실험

라벨링 테스크 표

10개의 Task와 총 1104개의 라벨을 맞출 수 있는 모델세트 M을 준비합니다.

그리고 전체 데이터셋의 20%를 이용해 모델세트에 있는 M을 모조리 훈련시킵니다.나머지 80%의 데이터셋은 강화학습을 돌리면서 이 모델 저 모델을 가져다 씁니다.

(전부 훈련 시키는 데만 엄청난 시간이 들것으로 보이나 일단은 넘어 가겠습니다)


하드웨어 세팅은 다음과 같습니다.

Tesla P100 의 메모리는 16GB로 30시리즈와 비슷합니다.

하드웨어 스펙

그리고 유명한 데이터셋을 전부 작업합니다.

이미지 벤치마크 테스트

해당 그래프는 강화학습 방식의 차이라 기존 Semi-Supervised 방식이나 Multi-Modal 방식과 비교하기는 무리가 있습니다만, 다른 강화학습 보다는 확실히 성능이 좋습니다.

라벨링 소요시간

Optimal 모델의 경우 라벨 하나 작업하는데 0.68초로 굉장히 빠릅니다. 사람은 가장 쉬운 box의 경우에도 5초가 넘게 걸립니다.

다른 알고리즘과의 차이

GPU 자원측면에서도 좋은결과를 얻은 모습입니다.


결론

최종 결과


일반 단일 모델로 대규모, 범용 데이터셋을 처리하는것보다 DRL 구조를 이용하여 데이터셋 가공을 하면 자원도 훨씬 적게들고 시간을 절약할 수 있었다고 합니다.

(Recall 100% 기준 53%의 시간을 절약)(Recall 80%기준 70%의 시간을 절약)


대규모 데이터라벨링에서의 사용


대규모 멀티모달 데이터셋 작업은 만들어야할 가이드라인과 작업자들이 매우 많이 필요합니다.

이는 자칫, 데이터 일관성을 해칠 수 있어서 상용화 해야 할 AI모델의 성능을 낮출 수 있습니다.저희 애자일그로스는 정확한 데이터셋을 추구하기 위해 온갖 자동화 기술을 연구하고 있습니다.

데이터셋의 일관성을 높이고 빠른 시일내에 많은 데이터셋이 필요하시다면 언제든 문의 부탁드립니다.

다른 글 더보기
도입 문의, 제품 개발 고민 상담 안내
비효율적인 데이터 라벨링 시간
애자일그로스로 대폭 단축해보세요.
도입을 고민하신다면?
Coffee Chat