Multi Task 기반 확률 모델링으로 배달시간플랫폼을 구축한 DoorDash
Overview
Multi Task Model
- Multi Task(MT) Model 사용시 장점
- 신규 서비스 배달시간 예측시, Foundation Layer에 추가적으로 레이어릅 붙이는 식으로 대응이 가능
- 플랫폼 내부에서 고객의 여정에 따라 여러번 배달시간을 업데이트해줘야 하는데, 이 부분에 대해서 빠르게 대응 가능, 기존에 별도 모델 사용할 경우,모델간 시간예측 결과 일관성을 보장하기 어려웠음
- 최대한 많은 Fature를 사용함으로써 예상하지 못할 불확실성을 파악하여 예측할 수 있음
- 배달 대비 포장의 데이터는 적은 편인데, 여기서 야기되는 데이터 불균형을 해결하여 예측정확도를 높일 수 있음(Knowledge Transfer?)
Deep Learning
- Numerical Feature 외에 Categorical Feature를 Embedding을 이용하여 활용할 수 있게 됨
- Feature간 Interaction을 반영할 수 있게 되었음
- DL의 특성인 유연성을 활용하여 다양한 목적으로 모델을 확장 및 응용이 가능해짐
Probabilistic Model
- 확률기반 모델링을 가져감으로써 불확실성에 대해서 함께 고려함으로써 기존의 점추정 형태를 넘어 가능한 값 별 확률을 파악하고자 함
- 아래 그림을 봐도 둘다 20분을 예측하지만 20분에 대한 Density가 다르고 분포 역시 Variance도 다르다.
Evaluation
- Calibration
- 모델의 예측 분포가 실제 결과와 밀접하게 일치하도록 보정하였음
- Accuracy
- 확률기반 모델이기 때문에,Continuous Ranked Probability Score (CRPS)을 활용$$\begin{equation*} \mathrm{CPRS}(F(|X|), x) = \int (F(y|X) - 1{y \geq x})^2 dy \end{equation*}$$
- 위 식에서 볼 수 있듯이 실제 값과 예측값간의 차이를 좁히는 것이 핵심, 아래 그림에서 볼 수 있듯이 실제값의 분포와 예측값 간의 분포를 줄이는 것이 목표가 됨, 이를 통해서 모델에 점수를 매길 수 있게 되었음 → 목표로 활용 가능
실험결과
- 다음 두가지 지표로 측정하였음
- Accuracy: 예측 정확도(예측시간대에 배달이 제때 오는지)
- Consistency: 가드레일 지표로 고객에게 노출한 배달시간의 어느정도 일관성을 갖고 있고, 크게 흔들리지 않은지를 확인