Amazon Forecast, CNN 기반 2배 빠른 모델 훈련 하기
Amazon Forecast (이하 Forecast)에서 CNN(Convolutional Neural Networks합성곱 )을 이용해 최대 30% 더 높은 정확도로 예측 모델을 최대 2배 더 빠르게 훈련할 수 있습니다. CNN 알고리즘은 신경망 기반 기계 학습 알고리즘의 하나이며, Amazon.com의 수요 예측 시스템에서 중요한 역할을 하고 있습니다. Amazon.com에서 매일 4억 개 이상의 제품에 대한 수요를 예측을 가능하게 합니다. Amazon.com이 CNN 모델을 사용하여 수요 예측 기술을 구축하는 자세한 내용은 re:MARS 2019 키노트 비디오를 참조하시기 바랍니다. Forecast는 Amazon.com에서 사용되는 동일한 기술을 완전 관리형 서비스로 모든 개발자들이 사용할 수 있게 제공합니다. 누구나 Forecast 콘솔이나 API를 사용하여 머신러닝의 경험이 없더라도 Forecast를 사용할 수 있습니다.
예측forecasting:확률적인 진술은 미래를 예측predicting:구체적인 명시하기 위한 과학입니다. 기업은 과거의 동향을 검토함으로써 제품 수요부터 재고, 인력에 이르기까지 모든 사항에 대한 향후 계획을 수립할 수 있습니다. 예측forecasting의 결과를 감안할 때 정확성은 중요합니다. 예측의 결과값이 너무 높으면 기업은 제품과 직원에 과도하게 투자하여, 이는 결국 낭비된 투자가 됩니다. 예측의 결과값이 너무 낮으면 투자가 부족하여 재고 부족과 고객 경험 저하로 이어집니다. 오늘날 기업은 예측을 위해 단순한 스프레드시트에서 복잡한 재무 계획 소프트웨어에 이르기까지 모든 업무에서 사용하려고 하지만, 높은 정확도는 다음과 같은 두 가지 이유로 인해 실현되기 어렵습니다.
- 기존의 예측은 데이터의 노이즈로 인해 손실된 과거의 중요한 신호를 누락하기도 하고, 매우 많은 양의 과거 데이터를 통합하는 데 어려움을 겪고 있습니다.
- 기존의 예측은 영업, 휴일, 위치 및 마케팅 프로모션 같은 중요한 컨텍스트를 제공하는 관련 있는 독립적인 데이터를 통합하지 못합니다. 전체 기록과 광범위한 컨텍스트가 없으면 대부분의 예측은 미래를 정확하게 예측하지 못합니다.
Amazon에서는 지난 몇 년 동안 모든 유형의 데이터에 대해 정확한 예측을 제공하는 알고리즘은 없다는 사실을 깨닫았습니다. 전통적인 통계 모델은 여름의 자외선 차단 로션과 겨울의 모직 의류와 같이 규칙적인 수요 패턴을 가진 상품에 대한 수요를 예측하는 데 유용했습니다. 하지만, 통계 모델은 빈번한 가격 변동, 지역 및 국가 수요의 차이, 판매 속도가 다른 제품 및 신제품 추가와 같은 더 복잡한 시나리오에 대해 정확한 예측을 제공할 수 없습니다.
정교한 딥러닝 모델은 이러한 사용 사례에서 더 높은 정확도를 제공할 수 있습니다. 예측은 자동으로 데이터를 검사하고 일련의 통계 및 심층 학습 알고리즘에서 최적의 알고리즘을 선택하여 데이터에 대한 보다 정확한 예측 모델을 학습하게 됩니다. CNN 기반 딥러닝 알고리즘이 추가됨에 따라, 현재 지원되는 알고리즘에 비해 최대 30%까지 정확도를 높이고 최대 2배 더 빠르게 모델을 학습할 수 있게 되었습니다. 이 새로운 알고리즘은 사전 주문 정보, 제품 페이지 방문, 가격 변화, 프로모션 급상승과 같은 주요 수요 지표를 보다 정확하게 감지하여 보다 정확한 예측을 구축할 수 있습니다.
인도의 신선식품과 식료품 부문의 시장 선두주자인 ‘More Quality First’는 분석 파트너인 Ganit의 도움으로 새로운 CNN 알고리즘의 베타 테스트에 참여했습니다. ‘More Quality First’의 최고 혁신 책임자(Chief Transformation Officer) Supratim Banerjee는 다음과 같이 말합니다.
“More Quality First는 비즈니스를 지속하고 경쟁 우위를 확보하기 위해 빠르게 혁신해야 합니다. 우리는 고객의 수요를 계속 충족시키면서 재고 과잉으로 인한 낭비를 줄일 수 있는 기회를 모색해 왔습니다. 신선식품 카테고리를 위한 실험에서, 우리는 Amazon Forecast의 새로운 CNN 알고리즘이 우리의 기존 예측 시스템에 비해 1.7배 더 정확하다는 것을 확인했습니다. 이는 우리 비즈니스의 막대한 비용 절감으로 이어집니다.”
CNN 예측변수predictors 학습과 예측값forecasts 생성
CreatePredictor API 또는 Forecast 콘솔에서 CNN을 사용할 수 있습니다. 이 섹션에서는 Forecast로 CNN 예측 변수를 학습하고 예측값을 만드는데 필요한 일련의 단계를 설명합니다.
- Forecast 콘솔에서 데이터셋 그룹을 생성합니다.
- 데이터셋을 업로드합니다.
- 왼쪽의 네비게이션 패널에서 Predictors를 선택합니다.
- ‘Train predictors’버튼을 클릭합니다.
- ‘Algorithm selection’ 항목에서 ‘Manual’을 선택합니다.
- ‘Algorithm’ 선택에서 ‘CNN-QR’ 을 선택합니다.
CreatePredictor API를 통해 CNN-QR을 수동으로 선택하려면 AlgorithmArn은 arn:aws:forecast:::algorithm/CNN-QR을 사용하면 됩니다.
드롭다운 메뉴에서 ‘CNN-QR’을 선택하면 ‘Advanced Configuration’ 섹션이 자동으로 확장됩니다.
- Forecast가 데이터에 최적화되고 정확한 CNN 모델을 학습할 수 있도록 ’Perform hyperparameter optimization (HPO)‘을 선택합니다.
- ‘Predictors’ 페이지에서 세부사항을 입력한 후 ‘Train predictor’를 선택합니다.
예측변수가 학습된 후에는 ‘Predictors’ 페이지에서 예측변수를 선택하여 예측변수의 세부 정보를 확인할 수 있습니다. 예측변수의 세부 정보 페이지에서 모형에 대한 정확도 메트릭과 최적화된 하이퍼파라미터를 볼 수 있게 됩니다.
- 이제 모델이 학습되었음으로 왼쪽 네비게이션 메뉴에서 ‘Forecasts’를 선택합니다.
- ‘Create a forecast’ 를 선택합니다.
- 학습된 예측변수를 이용하여 예측을 생성합니다.
부족 예측under-forecasting과 초과 예측over-forecasting의 비용 균형을 맞추기 위해 모든 분위수quantile에서 예측을 생성할 수 있습니다.
Forecast 기반 정확한 모델 선택하기
이번 출시와 함께 Forecast는 이제 독자적인 하나의 CNN 모델, 독자적인 RNN 모델과 네 개의 다른 통계 모델 인 Prophet, NPTS (Amazon 독자 모델), ARIMA 및 ETS를 지원합니다. 새로운 CNN 모델은 AutoML의 일부입니다. Amazon Forecast가 데이터셋에 가장 최적화되고 정확한 모델을 찾는 AutoML을 이용해 시계열 예측 실험을 시작하는 것을 추천합니다.
- ‘Train predictor’ 페이지에서 ‘Algorithm selection’ 항목의 ‘Automatic (AutuoML)’ 을 선택합니다.
- AutoML 을 이용해 예측변수를 학습한 후 예측변수를 선택해 선택된 알고리즘에 대한 좀더 자세한 내용을 확인합니다.
- 예측변수predictor 세부 페이지에서 ‘Algorithm metrics’ 섹션의 드롭다운 메뉴에서 다른 알고리즘을 선택해 비교를 위한 정확도 수치를 확인합니다.
모범 사례
CNN을 실험하고 Forecast를 기반으로 수요 예측 솔루션 구축을 시작하기 위해서는 다음 팁과 모범 사례를 고려하십시오.
- 실험을 위해서는 예측 정확도를 높이고자 하는 비즈니스에 가장 중요한 아이템에 대한 ID를 식별하는 것부터 시작합니다. 기존 예측 방법론의 정확도를 기준으로 비교 측정합니다.
- 대상 시계열time series에만 예측을 사용하고 wQuantileLoss 정확도 메트릭을 평가합니다. 데이터에 가장 최적화되고 정확한 모델을 찾으려면 Forecast에서 AutoML을 선택하는 것이 좋습니다. 자세한 내용은 예측 변수 정확도 평가를 참조하시기 바랍니다.
- AutoML은 학습 시간이 아닌 정확성을 위해 최적화되므로 모델을 최적화하는 데 시간이 더 오래 걸릴 수 있습니다. 학습 시간이 문제가 될 경우 수동으로 CNN-QR을 선택하고 정확성과 학습 시간을 평가하는 것이 좋습니다. 정확도가 약간 저하되지만 학습 시간은 상당히 단축될 수 있습니다.
- 기준선baseline에 대한 정확도가 증가한 것을 확인한 후에는, 부족과 초과 예측 비용의 균형을 맞추는 올바른 예측 정량성을 찾기 위해 실험하는 것이 좋습니다.
- 보다 정확한 예측의 이점을 얻을 수 있도록 시스템 내에서 지속적인 워크로드로 모델을 배포하는 것이 좋습니다. 관련 시계열 및 아이템 메타데이터를 추가하여 실험을 계속하여 정확도를 더욱 높일 수 있습니다.
- 관련 시계열 또는 아이템 메타데이터를 점진적으로 추가하여 모델을 학습하여 추가 정보가 정확도를 향상시키는지 여부를 평가합니다. 관련 시계열과 아이템 메타데이터의 다양한 조합은 다른 결과를 제공할 수 있습니다.
마무리
새로운 CNN 알고리즘은 Amazon Forecast가 공개적으로 제공되는 모든 리전에서 사용할 수 있습니다. 리전별 서비스 가용성에 대한 자세한 내용은 리전 테이블를 참조하시기 바랍니다. CNN 알고리즘에 대한 자세한 내용은 CNN-QR 알고리즘 설명서를 참조하세요 .
– Namita Das, Sr. Product Manager for Amazon Forecast
– Danielle Robinson, Applied Scientist on the Amazon Forecast
– Aaron Spieler, Working student in the Amazon Forecast
– Gunjan Garg, Sr. Software Development Engineer in the AWS Vertical AI
– Chinmay Bapat, Software Development Engineer in the Amazon Forecast
이 글은 AWS Machine Learning 블로그의 Amazon Forecast can now use Convolutional Neural Networks (CNNs) to train forecasting models up to 2X faster with up to 30% higher accuracy의 한국어 번역으로 AWSKRUG의 김정민님이 번역해 주셨습니다.