주요 컨텐츠로 이동

AI 모델 구축 역량 강화: Ray와 Databricks를 사용한 데이터 및 태스크 병렬 처리

Ray와 Databricks Spark를 결합하여 Pilot Company가 예측 모델을 더 빠르고 효율적으로 구축할 수 있었던 방법

Supercharging AI Model Building: Data and Task Parallelism with Ray and Databricks

Published: November 6, 2025

데이터 리더1분 이내 소요

Summary

  • Spark의 데이터 병렬 처리와 Ray의 태스크 병렬 처리를 결합하여 machine learning(ML) 학습 및 튜닝을 획기적으로 가속화하고 compute 비용과 사이클 타임을 절감하는 방법을 알아보세요.
  • Databricks 기반 Ray 덕분에 8배 더 빠르게 튜닝된 스토어 모델의 실제 리테일 판매 예측 사례를 살펴보세요.
  • Databricks lakehouse 아키텍처, Unity Catalog 및 MLflow가 어떻게 리테일 및 엔터프라이즈 AI 팀을 위한 확장 가능한 엔드투엔드 파이프라인을 지원하는지 확인해 보세요.

최적의 인프라, 최대의 효과: 리테일 AI 분야에서 병렬 처리가 중요한 이유

정확한 판매 예측은 여행 및 소매 부문을 포함한 모든 산업에서 고객 만족도를 향상시킵니다. Pilot Company는 900개 이상의 지점을 운영하고 있으며, 고객에게 서비스를 제공하기 위해 빠르고 신뢰할 수 있는 예측에 의존하는 비즈니스 운영을 하고 있습니다. 활용도가 낮은 compute 및 긴 모델 주기와 같은 레거시 병목 현상은 오래된 예측으로 이어질 수 있으며, 이는 고객 경험에 부정적인 영향을 미칠 수 있습니다.

Pilot Company는 인프라 비용 증대 없이 빈번하고 세분화된 예측을 지원하는 AI 파이프라인이 필요했습니다. 기존의 배치 또는 수동 재학습 방법으로는 속도를 따라잡을 수 없었습니다.

이러한 문제를 해결하기 위해 Pilot Company는 다음을 활용했습니다.

  • Databricks Spark 클러스터(Runtime 16.4): 추출, 변환, 로드(ETL), 빅데이터 준비 및 파티셔닝용
  • 통합되고 거버넌스가 적용된 스토리지와 원활한 액세스를 위한 Lakehouse 아키텍처
  • 보안이 유지되는 팀 Data Sharing을 위한 Databricks Unity Catalog
  • 실험 추적 및 재현성을 위한 MLflow 관리

Spark의 데이터 병렬 처리 위에 작업 병렬 처리를 위한 Ray를 추가함으로써 Pilot Company는 엔드투엔드 모델 빌딩을 간소화할 수 있습니다. 이제 새 데이터가 사용 가능해지면 모델이 즉시 재학습되어 인프라 효율성이 가시적인 비즈니스 이점으로 이어집니다.

병렬 처리 활용: 데이터 준비부터 모델 튜닝까지

소매 판매에 대한 높은 정확도의 예측 모델을 구축하는 데는 여러 단계가 포함됩니다.

  1. 데이터 수집 및 준비: 대규모 다중 소스 판매 데이터 수집 및 정제.
  2. 피처 엔지니어링: 모델 성능을 개선하는 새로운 예측 변수를 변환하고 추출합니다.
  3. 모델 학습: 최적의 적합도를 위해 parameter를 조정하고 손실 함수를 최소화합니다.
  4. 모델 검증 및 튜닝: 정확도를 평가하고 하이퍼파라미터를 조정하며 최상의 모델을 선택합니다.
  5. 배포 및 평가: 라이브로 전환하기 전 최종 효과를 점검합니다.
    1. Spark는 데이터 병렬 처리를 사용하여 1단계와 2단계와 같은 빅데이터 작업에 탁월한 성능을 보입니다. 대규모 데이터세트는 파티션으로 분할되어 동시에 처리되고 clusters 전반에서 효율적으로 관리됩니다.
    2. 3-6단계 (훈련, 튜닝, 평가)는 작업 병렬 처리의 이점을 활용합니다. 여기서 과제는 compute 집약적이고 오래 실행되는 프로세스의 활용도를 극대화하는 것이며, 바로 이 지점에서 Ray가 사용됩니다.

Spark를 사용한 데이터 병렬 처리

Spark에서는 데이터가 파티션으로 나뉩니다. 각 실행기는 RDD 또는 DataFrames에서 고차 함수와 람다 함수(예: map, filter)를 사용하여 이러한 작업을 병렬로 처리합니다. 이를 통해 ETL, 배치 프로세스 및 피처 엔지니어링을 원활하게 확장하여 데이터 준비 및 변환 시간을 대폭 단축할 수 있습니다.

Ray를 사용한 태스크 병렬 처리 — Databricks 기반

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으로 바로 전환할 수 있습니다.

실제 환경 벤치마크: 소매 영업 예측

시나리오

  • 목표: 소매 판매를 위한 1,400개 이상의 개별 시계열 예측 모델(제품-매장 위치당 1개) 튜닝.
  • 태스크: Optuna 및 풍부한 다차원 검색 공간을 사용한 하이퍼파라미터 최적화.

기준선: Spark만 사용(클러스터 1)

  • worker 노드 6개, 각 8개 코어, 61GB RAM.
  • 모델이 worker 노드에서 순차적으로 실행되며, 한 번에 6개만 처리할 수 있습니다.
  • 총 실행 시간: 약 2시간 47분.
  • CPU 사용률: 20~25%에 불과.

가속화: Ray-on-Spark(Cluster 2)

  • 동일한 하드웨어 스택, Ray clusters 추가(Ray worker당 CPU 4개).
  • Ray에서 관리하는 52개의 동시 작업(6x8+4).
  • 총 실행 시간: 28분 12초에 불과 — 거의 8배 개선!
  • CPU 사용률: 90–95% (최대 잠재력에 훨씬 더 근접).

비즈니스 영향:

이러한 병렬 처리 방식은 소매 운영 예측을 가속화했을 뿐만 아니라, Pilot Company의 공급망, 상품 기획, 마케팅팀이 모든 단계에서 고객의 중요성을 보여준다는 목표를 지원하기 위해 인사이트를 활용하는 방식을 혁신할 것입니다. 예측 모델의 훈련 및 튜닝에 필요한 시간을 몇 시간에서 몇 분으로 단축함으로써 모델을 훨씬 더 자주 재훈련할 수 있습니다. 이렇게 높아진 빈도는 예측이 실시간 판매 동향, 계절성, 변화하는 소비자 선호도를 반영할 수 있도록 하여, 속도가 느린 배치 기반 접근 방식보다 '현실'을 훨씬 더 잘 포착합니다.

결과적으로 재고 계획이 더욱 정확해져 매장에서 필요한 물품을 정확하게 비축할 수 있게 됩니다. 카테고리 관리자는 실행 가능한 인사이트를 빠르게 확보하여 수요 예측과 조달 결정을 더 긴밀하게 연계할 수 있습니다.

가장 중요한 점은 마케팅 및 상품 기획팀이 데이터 기반 프로모션 캠페인을 통해 신속하게 대응할 수 있게 된다는 것입니다. 가장 적절한 시점에 프로모션을 출시하여 모든 순간에 고객이 중요하다는 것을 보여줄 수 있습니다. 최신 매장 수준 데이터를 기반으로 모델이 지속적으로 개선되는 이러한 폐쇄형 피드백 루프는 비즈니스가 빠르게 변화하는 소매 환경에서 민첩성과 고객 중심성을 유지하도록 해줍니다.

기술 심층 분석: 작동 방식

  • Spark 는 판매 데이터를 분할하고 전처리하여 모델이 사용할 피처를 준비합니다.
  • Ray 는 하이퍼파라미터 튜닝과 모델 학습을 오케스트레이션하고 병렬화합니다. 각 Ray worker 노드는 여러 모델을 처리하거나, 필요 시 분산 학습을 위해 대규모 데이터세트를 분할합니다.
  • Databricks의 Arrow 기반 메모리 통합 덕분에 데이터가 Spark와 Ray 간에 원활하게 이동 하여 느린 디스크 쓰기 및 스토리지 병목 현상을 방지합니다.

간단한 코드 예시:

  • Optuna에서 검색 공간을 정의합니다.
  • 병렬 분산 모델 훈련 및 하이퍼파라미터 검색을 위해 Ray의 tune 라이브러리를 사용합니다.
  • Logs를 기록하고 모니터링하여 하드웨어가 비즈니스 가치를 위해 완전히 활용되도록 합니다.

Spark, Ray… 또는 둘 다 사용해야 하는 경우?

  • Spark: ETL, 대규모 데이터 처리, 스트리밍/배치 워크플로 및 피처 엔지니어링에 이상적입니다.
  • Ray: 하이퍼파라미터 튜닝, 딥러닝, 강화 학습 및 고성능 compute 작업에 가장 적합합니다.
  • 결합 사용: Spark와 Ray를 함께 사용하여 엔드투엔드 AI 파이프라인을 구축하세요. Spark로 준비/피처 엔지니어링, Ray로 학습/튜닝/실험 — 이 모든 과정을 원활하게 수행할 수 있습니다.

모델 훈련의 혁신: 향후 방향

Spark를 사용한 데이터 병렬 처리와 Ray를 사용한 태스크 병렬 처리의 조합은, 특히 통합된 Databricks 스택에서 실행될 때, AI/ML 팀이 기존의 병목 현상을 해결할 수 있도록 해줍니다. 실행 시간은 급감하고 compute 사용률은 급증하며 엔터프라이즈 배포의 비용 효율성이 훨씬 더 높아집니다.

Databricks Spark 클러스터에 Ray를 추가하면 대규모 ML 작업의 모델 구축 시간을 단축하여, 조직이 새로운 속도와 정확성으로 예측, 계획 및 경쟁할 수 있도록 지원합니다.

Databricks 데이터 인텔리전스 플랫폼으로 가능성을 새롭게 정의하세요. 지금 자세히 알아보기

 

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

게시물을 놓치지 마세요

관심 있는 카테고리를 구독하고 최신 게시물을 받은편지함으로 받아보세요

다음은 무엇인가요?

Network dynamics in the age of AI

데이터 리더

April 29, 2025/1분 이내 소요

AI 시대의 네트워크 동적성

Getting to production: The secrets to secure, scalable and cost-effective enterprise AI

데이터 리더

May 27, 2025/1분 이내 소요

생산으로의 이동: 안전하고 확장 가능하며 비용 효율적인 기업 AI의 비밀