일괄 처리 유추 및 예측을 위한 모델 배포

이 문서에서는 오프라인(일괄 처리 및 스트리밍) 유추를 위해 MLflow 모델을 배포하는 방법을 설명합니다. Databricks는 MLflow를 사용하여 일괄 처리 또는 스트리밍 유추를 위한 기계 학습 모델을 배포하는 것이 좋습니다. MLflow 모델 작업에 대한 일반 정보는 MLflow 모델 기록, 로드, 등록 및 배포를 참조하세요.

Azure Databricks에서 제공하는 실시간 모델에 대한 자세한 내용은 Azure Databricks에서 제공하는 모델을 참조 하세요.

모델 유추에 MLflow 사용

MLflow를 사용하면 일괄 처리 또는 스트리밍 유추에 대한 코드를 생성할 수 있습니다.

위의 옵션 중 하나에서 생성된 코드를 사용자 지정할 수도 있습니다. 예제는 다음 Notebook을 참조하세요.

  • 모델 유추 예제에서는 scikit-learn으로 학습되고 이전에 MLflow에 기록된 모델을 사용하여 모델을 로드하고, 이를 사용하여 다양한 형식의 데이터를 예측하는 방법을 보여 줍니다. Notebook은 모델을 pandas DataFrame에 scikit-learn 모델로 적용하는 방법과, Spark DataFrame에 PySpark UDF로 모델을 적용하는 방법을 보여 줍니다.
  • MLflow 모델 레지스트리 예제에서는 모델 레지스트리를 사용하여 모델을 빌드, 관리 및 배포하는 방법을 보여 줍니다. 해당 페이지에서 오프라인(일괄 처리) 예측의 예를 식별하기 위해 .predict를 검색할 수 있습니다.

Azure Databricks 작업 만들기

일괄 처리 또는 스트리밍 예측을 작업으로 실행하려면 예측을 수행하는 데 사용되는 코드를 포함하는 Notebook 또는 JAR을 만듭니다. 그런 다음, Azure Databricks 작업으로 Notebook 또는 JAR을 실행합니다. 작업은 즉시 또는 일정에 따라 실행할 수 있습니다.

스트리밍 유추

MLflow 모델 레지스트리에서 MLflow PySpark 유추 UDF를 Delta Live Tables와 통합하는 Notebook을 자동으로 생성할 수 있습니다.

Apache Spark 구조적 스트리밍 API를 사용하도록 생성된 유추 Notebook을 수정할 수도 있습니다. Apache Spark MLlib 파이프라인 및 구조적 스트리밍 예제를 참조하세요.

딥 러닝 모델을 사용하여 유추

Azure Databricks의 딥 러닝 모델 유추에 대한 내용과 예제는 다음 문서를 참조하세요.

MLlib 및 XGBoost4J 모델을 사용한 유추

MLLib 및 XGBoost4J 모델을 사용하는 확장성 있는 모델 유추의 경우 네이티브 transform 메서드를 사용하여 Spark DataFrames에서 직접 유추합니다. MLlib 예제 Notebook에는 유추 단계가 포함됩니다.

모델 유추 사용자 지정 및 최적화

MLflow API를 사용하여 Spark DataFrames에서 유추를 실행하는 경우 모델을 Spark UDF로 로드하고 분산 컴퓨팅을 사용하여 대규모로 적용할 수 있습니다.

모델을 사용자 지정하여 사전 처리 또는 사후 처리를 추가하고 대형 모델에 대한 계산 성능을 최적화할 수 있습니다. 모델을 사용자 지정하기 위한 좋은 옵션은 사용자 지정 논리를 사용하여 모델을 래핑할 수 있는 MLflow pyfunc API입니다.

추가 사용자 지정을 수행해야 하는 경우 Pandas UDF 또는 pandas Iterator UDF에서 기계 학습 모델을 수동으로 래핑할 수 있습니다. 딥 러닝 예제를 참조하세요.

소규모 데이터 세트의 경우 라이브러리에서 제공하는 네이티브 모델 유추 루틴을 사용합니다.