정확한 판매 예측은 여행 및 소매 부문을 포함한 모든 산업에서 고객 만족도를 향상시킵니다. Pilot Company는 900개 이상의 지점을 운영하고 있으며, 고객에게 서비스를 제공하기 위해 빠르고 신뢰할 수 있는 예측에 의존하는 비즈니스 운영을 하고 있습니다. 활용도가 낮은 compute 및 긴 모델 주기와 같은 레거시 병목 현상은 오래된 예측으로 이 어질 수 있으며, 이는 고객 경험에 부정적인 영향을 미칠 수 있습니다.
Pilot Company는 인프라 비용 증대 없이 빈번하고 세분화된 예측을 지원하는 AI 파이프라인이 필요했습니다. 기존의 배치 또는 수동 재학습 방법으로는 속도를 따라잡을 수 없었습니다.
이러한 문제를 해결하기 위해 Pilot Company는 다음을 활용했습니다.
Spark의 데이터 병렬 처리 위에 작업 병렬 처리를 위한 Ray를 추가함으로써 Pilot Company는 엔드투엔드 모델 빌딩을 간소화할 수 있습니다. 이제 새 데이터가 사용 가능해지면 모델이 즉시 재학습되어 인프라 효율성이 가시적인 비즈니스 이점으로 이어집니다.
소매 판매에 대한 높은 정확도의 예측 모델을 구축하는 데는 여러 단계가 포함됩니다.
Spark에서는 데이터가 파티션으로 나뉩니다. 각 실행기는 RDD 또는 DataFrames에서 고차 함수와 람다 함수(예: map, filter)를 사용하여 이러한 작업을 병렬로 처리합니다. 이를 통해 ETL, 배치 프로세스 및 피처 엔지니어링을 원활하게 확장하여 데이터 준비 및 변환 시간을 대폭 단축할 수 있습니다.
Ray를 사용하면 수천 개의 모델 학습 또는 하이퍼파라미터 튜닝 작업을 동시에 실행하고 작업당 최적의 CPU 또는 GPU 부분을 할당하여 클러스터 활용도를 극대화할 수 있습니다. 예를 들어 Ray는 52코어 clusters에서 1,400개 이상의 시계열 모델을 한 번에 미세 조정하여 compute 공급을 job 수요에 맞출 수 있습니다.
Databricks와의 통합은 Apache Arrow를 통해 인메모리 전송을 가능하게 하여 I/O 병목 현상 없이 Spark의 데이터 환경에서 Ray 기반 ML 태스크로 전환할 수 있습니다.
태스크 병렬 처리는 모델 학습 및 튜닝에서 매우 중요하며, 특히 전체 소매 네트워크의 모든 매장에 있는 모든 품목에 대한 수요 예측과 같이 수천 개의 개별 모델을 최적화할 때 더욱 그렇습니다. Ray는 이 계층에서 워크로드를 오케스트레이션하여 각 모델 학습 또는 하이퍼파라미터 최적화 태스크가 독립적으로 동시에 실행되도록 하는 데 탁월합니다.
Ray를 차별화하는 점은 리소스 효율성입니다. 수천 개의 동시 태스크를 관리할 수 있을 뿐만 아니라, 복잡성에 따라 각 태스크에 특정 개수 또는 CPU 및 GPU 코어의 일부를 할당하는 방식으로 적절한 양의 compute 리소스를 동적으로 할당합니다. 예를 들어 Ray는 여러 Job에 0.25, 0.5 또는 전체 CPU 코어 1개(또는 CPU 1개와 GPU 0.5개 같은 조합)만큼 작은 리소스를 할당하여 전체 clusters 활용도를 극대화할 수 있습니다.
저희 벤치마크에서 이러한 세분화된 병렬 처리를 통해 52코어 clusters에서 1,400개 이상의 시계열 모델을 동시에 학습하고 튜닝할 수 있었으며, 그 결과 총 처리 시간이 (Spark만 사용할 경우) 거의 3시간에서 Databricks의 Ray를 사용하면 30분 미만으로 단축되었습니다. 이는 엔지니어가 더 빠르고 더 많은 작업을 수행할 수 있음을 의미할 뿐만 아니라, 가용 하드웨어를 최대한 활용하여 비즈니스 가치를 창출하도록 보장합니다.
주요 이점: Ray와 Databricks의 통합은 Apache Arrow를 사용한 인메모리 데이터 전송을 지원하므로 ML 워크로드가 번거로운 파일 I/O 없이 Spark의 데이터 준비 환경에서 Ray 기반 Experiment으로 바로 전환할 수 있습니다.
시나리오
기준선: Spark만 사용(클러스터 1)
가속화: Ray-on-Spark(Cluster 2)
비즈니스 영향:
이러한 병렬 처리 방식은 소매 운영 예측을 가속화했을 뿐만 아니라, Pilot Company의 공급망, 상품 기획, 마케팅팀이 모든 단계에서 고객의 중요성을 보여준다는 목표를 지원하기 위해 인사이트를 활용하는 방식을 혁신할 것입니다. 예측 모델의 훈련 및 튜닝에 필요한 시간을 몇 시간에서 몇 분으로 단축함으로써 모델을 훨씬 더 자주 재훈련할 수 있습니다. 이렇게 높아진 빈도는 예측이 실시간 판매 동향, 계절성, 변화하는 소비자 선호도를 반영할 수 있도록 하여, 속도가 느린 배치 기반 접근 방식보다 '현실'을 훨씬 더 잘 포착합니다.
결과적으로 재고 계획이 더욱 정확해져 매장에서 필요한 물품을 정확하게 비축할 수 있게 됩니다. 카테고리 관리자는 실행 가능한 인사이트를 빠르게 확보하여 수요 예측과 조달 결정을 더 긴밀하게 연계할 수 있습니다.
가장 중요한 점은 마케팅 및 상품 기획팀이 데이터 기반 프로모션 캠페인을 통 해 신속하게 대응할 수 있게 된다는 것입니다. 가장 적절한 시점에 프로모션을 출시하여 모든 순간에 고객이 중요하다는 것을 보여줄 수 있습니다. 최신 매장 수준 데이터를 기반으로 모델이 지속적으로 개선되는 이러한 폐쇄형 피드백 루프는 비즈니스가 빠르게 변화하는 소매 환경에서 민첩성과 고객 중심성을 유지하도록 해줍니다.
간단한 코드 예시:
Spark를 사용한 데이터 병렬 처리와 Ray를 사용한 태스크 병렬 처리의 조합은, 특히 통합된 Databricks 스택에서 실행될 때, AI/ML 팀이 기존의 병목 현상을 해결할 수 있도록 해줍니다. 실행 시간은 급감하고 compute 사용률은 급증하며 엔터프라이즈 배포의 비용 효율성이 훨씬 더 높아집니다.
Databricks Spark 클러스터에 Ray를 추가하면 대규모 ML 작업의 모델 구축 시간을 단축하여, 조직이 새로운 속도와 정확성으로 예측, 계획 및 경쟁할 수 있도록 지원합니다.
Databricks 데이터 인텔리전스 플랫폼으로 가능성을 새롭게 정의하세요. 지금 자세히 알아보기
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)
