Apache Spark 머신러닝 파이프라인 만들기

Google Cloud에서 설정이 필요 없는 런타임으로 Spark ML 파이프라인을 만들어 분산 머신러닝 여정을 가속화하세요.

분산 머신러닝이란 무엇인가요?

분산 머신러닝을 사용하면 데이터 과학자와 ML 엔지니어가 단일 머신의 메모리 및 컴퓨팅 한계를 넘어 머신러닝(ML) 모델 학습을 확장할 수 있습니다. 워커 노드 클러스터 전반에서 데이터 파티션을 분산하고 워크로드를 병렬화하면 대규모 데이터 세트에서 복잡한 모델을 훨씬 더 빠르게 학습시킬 수 있습니다.

Apache Spark를 사용해야 하는 이유

Apache Spark는 분산 데이터 처리의 업계 표준입니다. 기본 머신러닝 라이브러리인 MLlib는 분류, 회귀, 클러스터링, 협업 필터링을 위한 분산 알고리즘을 제공하여 단일 통합 환경 내에서 데이터 수집부터 모델 배포까지 진행할 수 있도록 지원합니다.

Spark ML 파이프라인이란 무엇인가요?

Spark ML 파이프라인은 여러 머신러닝 워크플로를 하나의 일관된 파이프라인으로 결합하는 데 도움이 되도록 설계된 고수준 API입니다. 이를 통해 구조화된 선언적 워크플로 내에서 다양한 데이터 변환(예: 특성 추출 및 확장)과 머신러닝 알고리즘(예: 모델 학습)을 함께 연결할 수 있습니다.


파이프라인을 사용하면 모델 학습과 예측 모두에서 동일한 데이터 전처리 단계 시퀀스가 일관되게 적용되므로 데이터 유출을 방지하고 재현 가능한 결과를 보장하는 데 매우 중요합니다. Spark ML 파이프라인의 주요 구성요소는 변환기와 추정기입니다.

Spark ML 여정에 Google Cloud를 선택해야 하는 이유

하드웨어 가속을 적용하기 위해 ML 워크로드를 확장하면 복잡한 Spark GPU 종속 항목을 관리해야 하는 문제가 발생하는 경우가 많습니다. VM 인스턴스를 프로비저닝하고, 올바른 NVIDIA 드라이버를 설치하고, CUDA 및 cuDNN 버전이 PyTorch 또는 TensorFlow 라이브러리와 일치하는지 확인하는 작업은 개발자의 생산성을 며칠 동안 중단시킬 수 있습니다.


Google Cloud는 사전 패키징된 머신러닝 런타임을 제공하는 Managed Service for Apache Spark를 통해 이 문제를 해결합니다. 안정적인 Ubuntu 기반 이미지(버전 2.3부터)를 기반으로 빌드된 이러한 런타임은 워크로드에 필요한 정확한 GPU 드라이버(CUDA, cuDNN, NCCL) 및 업계 표준 ML 프레임워크(PyTorch, XGBoost, 토크나이저, 변환기)와 함께 사전 설치 및 사전 구성되어 제공됩니다. 이러한 설정 없는 환경 덕분에 팀은 인프라 구성이 아닌 코드 작성에 집중할 수 있습니다.

자주 묻는 질문(FAQ)

Spark MLlib에서 변환기는 하나의 DataFrame을 다른 DataFrame으로 변환하는 알고리즘입니다(예: 텍스트를 숫자 벡터로 변환). 추정기는 DataFrame에 맞춰 변환기를 생성할 수 있는 알고리즘입니다(예: 학습 데이터에 로지스틱 회귀 알고리즘을 맞춰 학습된 모델 생성).

Spark ML 파이프라인을 사용하면 데이터 준비 로직이 모델과 엄격하게 결합됩니다. 이렇게 하면 테스트 또는 추론 데이터가 학습 데이터와 동일하게 처리됩니다.

Managed Service for Apache Spark의 Google Cloud ML 런타임을 사용하면 종속 항목 관리가 오프로드됩니다. 커스텀 Ubuntu 기반 이미지는 Google에서 지속적으로 업데이트하며, 기본적으로 호환되는 올바른 버전의 NVIDIA 드라이버, CUDA 툴킷, 분산 ML 프레임워크가 사전 패키징되어 있습니다.

Spark MLlib 및 Google Cloud 데이터 도구의 구성요소

Spark MLlib와 Google Cloud 데이터 도구의 구성요소를 이해하는 것은 대규모 분산 ML을 실행하는 데 필수적입니다.

구성요소

설명

기본 사용 사례


가격 책정 고려사항

Spark MLlib

일반적인 학습 알고리즘, 특성화 도구, 파이프라인 유틸리티가 포함된 Apache Spark의 확장 가능한 머신러닝 라이브러리입니다.

단일 노드 라이브러리에 의존하지 않고 분산 클러스터 전반에서 대규모 ML 모델 학습을 실행합니다.


비용은 Apache Spark를 실행하는 데 사용되는 기본 Google Cloud 서비스, 주로 Managed Service for Apache Spark를 통해 발생합니다. 가격은 프로비저닝된 Compute Engine 리소스(vCPU, 메모리, GPU, 디스크)와 작업이 실행되는 기간에 따라 달라집니다.


*Managed Service for Apache Spark 가격 책정을 참조하세요.

벡터 어셈블러

Spark MLlib의 핵심 특성 변환기로, 여러 열(연속 숫자, 원-핫 인코딩된 카테고리 등)을 단일 벡터 열로 병합합니다.

원시 테이블 형식 데이터를 Spark MLlib 머신러닝 알고리즘에서 예상하는 특정 밀집 또는 희소 벡터 형식으로 준비합니다.

Spark MLlib 내의 구성요소로서, 이 실행은 Managed Service for Apache Spark에서 Spark 워크로드를 실행하는 데 드는 전체 컴퓨팅 비용에 기여합니다.

Spark ML 파이프라인

DataFrame을 기반으로 빌드된 고수준 API로, 사용자가 여러 특성 추출 단계와 모델을 함께 연결할 수 있도록 지원합니다.

변환기와 추정기를 통합 파이프라인으로 그룹화하여 학습 및 추론 중에 동일한 데이터 처리를 보장합니다.

다른 Spark MLlib 구성요소와 마찬가지로 비용은 Managed Service for Apache Spark의 실행 요금에 포함됩니다.

BigQuery ML


표준 SQL 쿼리를 사용하여 BigQuery에서 머신러닝 모델을 만들고 실행할 수 있는 서비스입니다.

복잡한 반복 분산 작업을 Spark로 이동하기 전에 데이터가 있는 곳에서 직접 모델을 학습시킵니다.


BigQuery ML에는 자체 가격 책정 모델이 있습니다. 다음 항목에 대한 요금이 청구됩니다.

  1. 모델 학습(CREATE MODEL 쿼리 중에 처리된 데이터 기반)
  2. 모델 예측(표준 BigQuery 쿼리 가격 책정)
  3. 모델 스토리지(표준 BigQuery 스토리지 요금으로 청구됨)

구성요소

설명

기본 사용 사례


가격 책정 고려사항

Spark MLlib

일반적인 학습 알고리즘, 특성화 도구, 파이프라인 유틸리티가 포함된 Apache Spark의 확장 가능한 머신러닝 라이브러리입니다.

단일 노드 라이브러리에 의존하지 않고 분산 클러스터 전반에서 대규모 ML 모델 학습을 실행합니다.


비용은 Apache Spark를 실행하는 데 사용되는 기본 Google Cloud 서비스, 주로 Managed Service for Apache Spark를 통해 발생합니다. 가격은 프로비저닝된 Compute Engine 리소스(vCPU, 메모리, GPU, 디스크)와 작업이 실행되는 기간에 따라 달라집니다.


*Managed Service for Apache Spark 가격 책정을 참조하세요.

벡터 어셈블러

Spark MLlib의 핵심 특성 변환기로, 여러 열(연속 숫자, 원-핫 인코딩된 카테고리 등)을 단일 벡터 열로 병합합니다.

원시 테이블 형식 데이터를 Spark MLlib 머신러닝 알고리즘에서 예상하는 특정 밀집 또는 희소 벡터 형식으로 준비합니다.

Spark MLlib 내의 구성요소로서, 이 실행은 Managed Service for Apache Spark에서 Spark 워크로드를 실행하는 데 드는 전체 컴퓨팅 비용에 기여합니다.

Spark ML 파이프라인

DataFrame을 기반으로 빌드된 고수준 API로, 사용자가 여러 특성 추출 단계와 모델을 함께 연결할 수 있도록 지원합니다.

변환기와 추정기를 통합 파이프라인으로 그룹화하여 학습 및 추론 중에 동일한 데이터 처리를 보장합니다.

다른 Spark MLlib 구성요소와 마찬가지로 비용은 Managed Service for Apache Spark의 실행 요금에 포함됩니다.

BigQuery ML


표준 SQL 쿼리를 사용하여 BigQuery에서 머신러닝 모델을 만들고 실행할 수 있는 서비스입니다.

복잡한 반복 분산 작업을 Spark로 이동하기 전에 데이터가 있는 곳에서 직접 모델을 학습시킵니다.


BigQuery ML에는 자체 가격 책정 모델이 있습니다. 다음 항목에 대한 요금이 청구됩니다.

  1. 모델 학습(CREATE MODEL 쿼리 중에 처리된 데이터 기반)
  2. 모델 예측(표준 BigQuery 쿼리 가격 책정)
  3. 모델 스토리지(표준 BigQuery 스토리지 요금으로 청구됨)

작동 방식

Google Cloud의 Managed Service for Apache Spark는 인프라의 복잡성을 추상화하여 서버리스 환경 또는 맞춤설정 가능한 관리형 클러스터를 사용해 대규모 모델 학습을 위한 Spark ML 파이프라인을 실행할 수 있도록 지원합니다.


이 서비스는 까다로운 Spark GPU 종속 항목을 제거하기 위해 기본적으로 호환되는 NVIDIA 드라이버, CUDA 툴킷, 분산 프레임워크가 완벽하게 갖춰진 사전 패키징된 ML 런타임을 활용하여 하드웨어 가속 워크로드를 배포할 수 있는 설정 없는 경로를 제공합니다.

Spark를 사용한 머신러닝 자세히 알아보기

일반적인 사용 사례

복원력 있는 특성 추출 워크플로 빌드

변환기를 사용하여 데이터를 추출하고 확장하는 방법과 추정기를 사용하여 알고리즘을 학습시키는 방법을 알아봅니다.

안내 가이드

  • Spark ML 파이프라인 빌드: Google Cloud에서 Spark를 사용하는 방법에 대한 일반적인 안내는 Managed Service for Apache Spark 문서를 참조하세요.
  • PySpark의 파이프라인 추정기: Managed Service for Apache Spark 문서에 제공된 Python API 샘플을 확인하세요. 이러한 샘플에는 Spark MLlib 구성요소를 사용하기 위한 패턴이 포함되어 있습니다. 클러스터에 GPU 연결 문서와 같은 가이드에서 참조되는 Spark ML 예시도 확인할 수 있습니다.

추가 리소스

설정이 필요 없는 ML 런타임 배포

기본 인프라를 관리할 필요 없이 GPU 가속 Spark 클러스터를 실행하세요. Google Cloud의 ML 런타임은 사전 구성되어 제공되므로 복잡한 Spark GPU 종속 항목을 우회할 수 있습니다.

안내 가이드

  • Managed Service for Apache Spark ML 런타임 개요: TensorFlow, PyTorch, XGBoost를 비롯한 사전 설치된 라이브러리와 GPU 전용 라이브러리를 자세히 설명하는 Managed Service for Apache Spark 런타임 이미지 버전에 대해 자세히 알아보세요.


추가 리소스

  • Google Cloud의 분산형 딥 러닝: ML 확장에 대한 더 광범위한 아키텍처 관점은 머신러닝 구현을 위한 권장사항 문서를 확인하세요. 이 문서에서는 Gemini Enterprise Agent Platform Model Registry와 통합된 Google Cloud의 분산 학습 및 가속기 사용을 포함하여 커스텀 학습 모델을 개발하기 위한 권장사항을 제공합니다.

다음 단계 수행

$300의 무료 크레딧과 20여 개의 항상 무료 제품으로 Google Cloud에서 빌드하세요.

Google Cloud