Ttoro_Tech

[Coupang]_요즘IT_뉴스기사('23.04.14) 본문

Tech News/국내 기업

[Coupang]_요즘IT_뉴스기사('23.04.14)

Lee_Ttoro 2023. 4. 19. 10:45

https://yozm.wishket.com/magazine/detail/1973/

 

쿠팡이 '기계학습'으로 물류 입고 프로세스 개선한 방법 | 요즘IT

쿠팡은 물류 입고 프로세스의 최적화를 위해 끊임없이 노력하고 있습니다. 풀필먼트 센터로의 제품 입고과정에서 낭비되는 자원을 최소화하면, 적기에 제품을 판매하고 더 많은 고객들에게 더

yozm.wishket.com

쿠팡(Coupang)에서 사용한 Machine Learning

풀릴먼트 센터 입고 프로세스 효율 개선

 

쿠팡 풀필먼트 센토로의 제품 입고 시 필요한 운송 트럭의 적정 수량을 데이터에 기반해 예측하기

제품 입고 과정에서 낭비되는 자원을 최소화하면 적기에 제품을 판매하고 더 많은 고객들에게 더 빠르게 배송 가능

배경

  • 매일 각지의 수많은 업체들이 트럭에 다양한 종류의 제품을 적재해 쿠팡 풀필먼트 센터로 제품을 반입
  • 각 풀필먼트 센터에는 트럭을 세워두고 물건을 하역하는 도크(dock)가 존재
  • 센터마다 시간대별로 사용 가능한 도크의 최대 개수는 정해져 있음
  • 제품 하역 작업 시 한 대의 트럭이 하나의 도크를 정해진 시간 동안 사용, 이 시간을 슬롯(slot)

# 도크(dock) # 슬롯(slot)

 

정해진 개수의 슬롯들로 여러 업체들이 납품하는 제품들이 효율적으로 입고되려면,
입고에 필요한 슬롯 개수가 사전에 정확히 예측되어야 함

 

사전에 예측한 필요 슬롯 개수가 실제 필요 슬롯보다 적을 경우 사전에 예측한 필요 슬롯 개수가 실제 필요 슬롯보다 많은 경우
입고 과정에서 지연이 발생 한정된 자원인 슬롯을 불필요하게 낭비

목표

  • 업체 특성과 풀필먼트 센터로 입고되는 제품의 특성을 바탕
  • 입고 예약 신청을 하는 업체들에게 적정한 필요 슬롯 개수를 예측해 제공하는 시스템을 개발하기 시작함
  • 낭비되는 슬롯의 개수를 줄이고, 슬롯이 부족해 입고가 지연되는 문제를 최소화하는 것

트럭 수량 예측 모델 학습하기

사전 준비

  • 그동안 축적해온 물류 데이터 및 입고 신청 정보로부터 트럭 대수에 영향을 미치는 특징들(feature) 도출
  • 각 물류 입고에 실제 사용된 트럭 대수 데이터를 결합해 학습 데이터를 구성
  • 적정 트럭 입차 수량을 예측하는 머신 러닝(ML) 모델을 학습
  • 학습된 모델을 입고 예약 시스템과 연결해 업체가 입고 신청을 하면 시스템으로 바로 적정 트럭 대수를 확인할 수 있게끔 설계

# 트럭 대수 특징들 # 수량 예측(Regression) # ML

특징 추출

Coupang에 축적된 대량의 물류 데이터들로 부터 트럭 수량 예측 모델에 적합한 특징들을 찾기

EDA(Exploratory Data Analysis) 탐색적 데이터 분석

  • 도메인 전문가들의 조언이 필요
  • 물류 담당자들과 심층 인터뷰를 진행
  • 물류 입고 과정에서 나타나는 의미 있는 패턴들을 다양하게 파악
  • 트럭 수량 예측에 유용하게 활용할 수 있는 다수의 특징들 발견
  • 이렇게 도출된 특징들을 피처 엔지니어링(Feature Engineering)으로 가공
  • 최종적인 특징 셋(Feature Set) 확정

모델(LightGBM)

Datasets - 수집기간 : 약 2년, 크기 : 약 80만 건의 학습 데이터

적지 않은 데이터 세트, 대부분이 범주형(Categorical) 특징

 

위와 같은 특징의 데이터를 빠르게 학습 가능하고 튜닝이 가능한 모델 선정

LightGBM

  • 트리 기반 부스팅 모델
  • 많은 기계 학습 문제에서 성능을 입증한 알고리즘
  • 다른 트리 기반 알고리즘
    • 트리를 수평적으로 확장하는 level-wise tree growth 방식
  • LightGBM 알고리즘
    • 트리를 수직적으로 확장하는 leaf-wise tree growth 방식
  • 다른 알고리즘보다 빠르다는 것이 특징
    • level-wise tree growth 방식은 각 트리 깊이가 모두 확장할 때까지 기다려야 함
    • leaf-wise tree growth 방식은 기다리지 않고 가장 손실이 높은 리프 노드를 분할해 나가면서 수직으로 확장
  • 다른 알고리즘은 범주형 특징에 원핫 인코딩(one-hot Encoding) 과정이 필요함
  • LightGBM은 별도의 원핫 인코딩(one-hot Encoding)을 하지 않아도 됨
    • Fisher 알고리즘 : 데이터의 클래스를 최적으로 분할하는 학습을 수행해 나감
더보기

Fisher 알고리즘 [on grouping for maximum homogeneity(최대 균일성을 위한 군집화)]

  1. 초기 단계: 모든 데이터 포인트는 각각 자신의 클러스터로 할당됩니다.
  2. 유사성 계산: 각 클러스터 쌍의 유사성을 계산합니다. 유사성은 일반적으로 클러스터의 중심 간 거리, 클러스터 간의 평균 거리, 또는 클러스터의 유사성 점수 등으로 측정됩니다.
  3. 가장 유사한 클러스터 결합: 가장 유사한 두 클러스터를 결합하여 새로운 클러스터를 생성합니다.
  4. 클러스터 갱신: 새로운 클러스터를 갱신합니다.
  5. 종료 조건: 더 이상 클러스터가 결합되지 않거나, 원하는 클러스터의 수에 도달할 때까지 2-4 단계를 반복합니다

# LightGBM # Tree 기반 모델 # Boosting 모델 # 빠르게 학습 가능한 모델

모델 튜닝 (Hyperparameter 탐색)

베이지안 최적화 (Bayesian Optimization) [link]

  • 목적 함수($f$)의 함수 값 $f(x)$를 최대로 만드는 입력 값 $x$의 전역 최적해(global optimization)
    $x^*$를 찾기 위한 방법
  • 목적 함수가 명시적이지 않고 함수 값 $f(x)$의 계산 비용이 클 때 최적의 해를 효과적으로 찾아낼 수 있음
  • 머신러닝(ML)에서 최적의 하이퍼 파라미터 조합을 효율적으로 찾아내는 방법 중 하나로 많이 사용

과정

  1. 미리 지정된 Hyperparameter의 탐색 범위 내에서 n개의 값들을 랜덤하게 선택하여 모델을 학습
    학습된 모델의 함수 값을 계산
  2. 입력 값과 함수 값 쌍으로 집합을 구성, 이를 바탕으로 Gaussian Process 등의 방법을 사용하여 미지의 목적 함수 $f$를 확률적인 방법으로 추정
  3. 현재까지 목적 함수에 대해 추정한 결과를 바탕으로, $x^*$를 찾을 수 있을 것으로 예상되는 다음 입력 값 후보를 선택하여 모델 학습
    학습된 모델의 함수 값을 계산하여 입력 값과 함수 값 쌍의 집합에 추가
  4. 위 2, 3 과정을 정해진 횟수만큼 반복, 추정 함수를 갱신
    추정 함수의 값을 최대로 만드는 최적 하이퍼 파라미터 $x^*$를 선택

해당 과정을 한 달 주기로 새로운 데이터들을 추가 반영, 반복되면서 모델을 업데이트

# 베이지안 최적화 # Hyperparameter

과소 예측과 과대 예측 사이의 Trade-off

  • 머신 러닝 예측 모델에서는 필연적으로 오차를 동반

ex) 실제 적정 슬롯 개수보다 적은 개수를 예측 - 과소 예측

ex) 실제 적정 슬롯 개수보다 많은 개수를 예측 - 과대 예측

  • 같은 수준의 오차율 내에서
예측 모델이 적정 트럭 개수를 가급적 적게 예측하는 경향 예측 모델이 적정 트럭 개수를 가급적 많게 예측하느 경향
과대 예측은 줄어들지만 과소 예측이 늘어남 과소 예측은 줄어들지만 과대 예측이 늘어남
  • 기본적인 목표 - 과대 예측을 줄여 불필요하게 예약되는 슬롯들을 최소화하는 것
  • 실제 : 과대 예측을 지나치게 최소화하는 방향으로 모델의 예측 슬롯 개수를 결정할 경우
    • 업체 입장 : 너무 적은 슬롯들이 배정된다고 느끼게 됨
  • 최종 결정 - 과소 예측 비율을 유지, 과도 예측을 최대한 줄이는 것이 모두에게 이로운 방식

모델 적용 결과

구분 모델 전 모델 후
과소 예측 8.71% 2.53%
과대 예측 44.45% 5.04%
  • 모델 활용 결과, 크게 개선된 것을 확인할 수 있음
  • 실제 슬롯이 부족해 업체가 입고일을 변경하는 사례가 67.9% 감소
  • 업체는 원하는 일정으로 제품을 풀필먼트 센터로 입고 가능
  • 쿠팡은 불필요하게 낭비되는 비용을 줄이고 필요한 수량의 물품들을 원하는 일정에 납품 가능

정리

  • 쿠팡에서 물류 최적화를 위해 다양한 데이터를 수집하여 머신러닝을 통해 트럭 수를 예측하는 과정을 살펴볼 수 있었다.
  • LightGBM의 경우 대량의 데이터가 있을 때 빠르게 학습이 가능하며, LightGBM의 경우 Categorical 데이터에 대해 one-hot encoding이 필요하지 않다는 것에 대해 알 수 있었다.
  • Hyperparameter 튜닝시 베이지안 최적화를 통해 Hyperparameter를 찾는 방법에 대해 배울 수 있었다.