이 문서에서는 모듈을 사용하여 pyspark.ml.connect
분산 학습을 수행하여 Spark ML 모델을 학습시키고 모델 유추를 실행하는 방법을 보여 주는 예제를 제공합니다.
pyspark.ml.connect
이란 무엇인가요?
Spark 3.5는 Spark 연결 모드 및 Databricks Connect를 지원하도록 설계된 pyspark.ml.connect
을 소개합니다.
Databricks Connect에 대한 자세한 정보를 알아봅니다.
pyspark.ml.connect
모듈은 분류, 기능 변환기, ML 파이프라인 및 교차 유효성 검사를 비롯한 일반적인 학습 알고리즘 및 유틸리티로 구성됩니다. 이 모듈은 레거시 pyspark.ml
모듈과 비슷한 인터페이스를 제공하지만 현재 pyspark.ml.connect
모듈에는 pyspark.ml
알고리즘의 하위 집합만 포함되어 있습니다 . 지원되는 알고리즘은 다음과 같습니다.
- 분류 알고리즘:
pyspark.ml.connect.classification.LogisticRegression
- 기능 변환기:
pyspark.ml.connect.feature.MaxAbsScaler
및pyspark.ml.connect.feature.StandardScaler
- 평가자:
pyspark.ml.connect.RegressionEvaluator
,pyspark.ml.connect.BinaryClassificationEvaluator
및MulticlassClassificationEvaluator
- 파이프라인:
pyspark.ml.connect.pipeline.Pipeline
- 모델 튜닝:
pyspark.ml.connect.tuning.CrossValidator
요구 사항
Databricks Runtime 17.0 이상에서 Spark 연결의 Spark ML은 표준 액세스 모드 가 있는 컴퓨팅 리소스에서 기본적으로 사용하도록 설정되며 몇 가지 제한 사항이 있습니다. 표준 컴퓨팅의 Databricks Runtime 17.0에 대한 제한 사항을 참조하세요. 단일 노드의 메모리에 맞지 않는 데이터에 대해 Spark 수준 배포가 필요하거나 분산 하이퍼 매개 변수 튜닝을 수행해야 하는 경우 표준 컴퓨팅에서 Spark ML을 사용합니다.
Databricks Runtime 14.0 ML 이상( 전용 액세스 모드를 사용하는 컴퓨팅 리소스의 Databricks Runtime 17.0 포함)의 경우 Spark ML을 사용하기 위한 추가 요구 사항이 있습니다.
- 클러스터에서 Databricks Connect를 설정합니다. Databricks Connect에 대한 컴퓨팅 구성을 참조하세요.
- Databricks Runtime 14.0 ML 이상이 설치되었습니다.
- 전용 액세스 모드를 사용하여 리소스를 계산합니다.
예제 노트
다음 Notebook에서는 Databricks Connect에서 분산 ML을 사용하는 방법을 보여 줍니다.
Databricks Connect의 분산 ML
노트북 가져오시오
pyspark.ml.connect
의 API에 대한 참조 정보의 경우 Databricks는 Apache Spark API 참조를 권장합니다.
표준 컴퓨팅의 Databricks Runtime 17.0에 대한 제한 사항
- Python만 해당: 표준 컴퓨팅의 Spark ML은 Python만 지원합니다. R 및 Scala는 지원되지 않습니다.
-
라이브러리 지원: 오직
pyspark.ml
패키지만 지원됩니다. 패키지는pyspark.mllib
지원되지 않습니다. - 모델 크기 제약 조건: 최대 모델 크기는 1GB이므로 매우 큰 모델을 학습하는 것은 불가능할 수 있습니다. 모델 크기가 1GB를 초과할 경우 트리 모델 학습이 일찍 중지됩니다.
- 메모리 제약 조건: 데이터가 클러스터 전체에 분산될 수 있지만 학습된 모델 자체는 드라이버 노드에 캐시되며 다른 사용자 간에 공유됩니다. 세션당 최대 모델 캐시 크기는 10GB이고 세션당 최대 메모리 내 모델 캐시 크기는 Spark 드라이버 JVM 메모리의 25%입니다.
- 세션 시간 제한: 표준 컴퓨팅의 캐시된 모델은 비활성 상태인 15분 후에 자동으로 시간 초과되고 모델 요약이 손실됩니다. 모델 손실을 방지하려면 학습이 완료된 후 15분 이내에 디스크에 저장하거나 자주 사용하면서 세션을 활성 상태로 유지합니다.
- 리소스 경합: 표준 컴퓨팅 환경에서 리소스는 작업 영역 내의 사용자 및 작업 간에 공유됩니다. 여러 대규모 작업을 동시에 실행하면 실행기 슬롯에 대한 성능 또는 경쟁이 느려질 수 있습니다.
- GPU 지원 없음: 표준 컴퓨팅 환경은 GPU 가속을 지원하지 않습니다. GPU 가속 기계 학습 워크로드의 경우 전용 GPU 클러스터를 사용하는 것이 좋습니다.
-
제한된 SparkML 모델: 다음 SparkML 모델은 지원되지 않습니다.
DistributedLDAModel
FPGrowthModel