top of page

GPU와 Rapids의 조합으로 머신 러닝 기반의 수요 예측에 도전 중인 Walmart

월마트, 이름만 대면 다 아는 소매, 유통 업계 대표 브랜드입니다. 어느 업종이나 1등 기업은 업계를 선도하는 혁신 활동을 많이 합니다. 월마트도 마찬가지인데요, 관련해 최근 GPU 기반 인프라에서 머신 러닝 모델을 트레이닝하여 수요 예측을 해본 결과 기존에 사용하던 시스템보다 정확도가 1.7% 높았다고 NVIDIA GTC 2019 생사에서 사례를 발표했습니다. 머신 러닝의 특성을 고려할 때 정확도 격차는 더 많이 벌어질 전망인데요, 관련해 월마트의 경험을 간단히 정리해 봤습니다.


출처: 월마트 뉴스룸


월마트 같은 세계적인 기업은 어떤 수요 예측 시스템을 쓸까요? 월마트는 JDA 소프트웨어가 개발한 시스템을 사용해 수요 예측을 합니다. 월마트는 이 시스템에 만족하지 않았다고 합니다. 미국 내 4,700개 매장에서 판매하는 10만 개의 상품에 대한 수요 예측을 더 정교하게 할 방법에 늘 관심이 많았습니다. 소매, 유통 업체에게 수요 예측의 중요성은 강조할 필요가 없죠. 정확한 수요 예측은 기업의 비용의 낮추고 물류, 판매 등 업무 전반의 효율을 높입니다.

월마트는 지금까지 JDA 소프트웨어가 개발한 시스템을 이용해 52주간의 과거 판매 데이터를 수집하고 분석해 다가오는 주의 수요 예측을 해왔습니다. 이 작업을 주 단위로 해왔는데요, 나름 정교하게 예측을 했음에도 재고 부족으로 매장 선반에 고객이 찾는 물건이 없는 경우도 종종 발생했다고 합니다.

이를 해결하기 위해 월마트는 수요 예측 시스템을 아파치 스파크 기반으로 아키텍처 측면에서 변화를 가하는 것이었습니다. 그러나 스파크 클러스터 환경을 구축해 머신 러닝 기반 수요 예측 알고리즘을 적용하고, 더 많은 데이터를 적용하는 과정에서 예기치 못한 충돌과 성능 저하 이슈에 봉착했습니다. 디버깅에 많은 시간과 노력을 기울였지만 문제를 해결할 수 없었습니다.

이 문제의 해결책을 찾던 월마트의 눈에 들어온 것은 NVIDIA였습니다. CUDA에 알고리즘을 최적화하는 동시에 Rapids를 적용하면 뭔가 답을 찾을 것 같다는 느낌이 왔던 것이죠. 바로 작업에 나선 월마트는 스파크 환경에서 썼던 코드를 R과 C++를 사용해 CUDA에 최적화하여 재작성했습니다. 그리고 이를 NVIDIA P100 GPU가 장착된 수퍼마이크로 서버로 구성된 클러스터에서 돌려 보았습니다. 결과는 놀라웠습니다. 스파크 환경보다 모델 트레이닝 속도가 25배나 빨라졌습니다.

결과에 만족한 월마트는 GPU 기반 서버를 추가로 도입했다고 합니다.

월마트는 현재 주력으로 사용하는 JDA 소프트웨어 기반 수요 예측 시스템과 함께 GPU 기반 머신 러닝 알고리즘을 돌리는 수요 예측 시스템을 사용하고 있습니다. 지금은 JDA 소프트웨어 사용 비중이 높지만, 앞으로는 머신 러닝 기반 시스템을 더 많이 쓰지 않을까 싶네요.

월마트가 축적한 노하우는 GPU, CUDA 그리고 오픈 소스 기반 머신 러닝 가속 라이브러리인 Rapids를 잘 활용한 것입니다. 관련해 유통과 소매 업계를 위한 수요 예측에 GPU 기반 머신 러닝을 적용하는 것에 관심이 있다면 유클릭이 운영하는 uDNA 사이트를 통해 문의 바랍니다. 참고로 Rapids 관련 찾아가는 기술 세미나도 지원합니다.

조회수 221회댓글 0개
bottom of page