ML 워크플로의 Dataflow ML

복잡한 머신러닝 워크플로를 조정하려면 데이터 사전 및 사후 처리 단계를 포함하는 프레임워크를 만들면 됩니다. 모델을 학습시키거나 데이터 사후 처리를 통해 모델 출력을 변환하려면 데이터를 사전 처리해야 할 수 있습니다.

ML 워크플로에는 함께 파이프라인을 구성하는 여러 단계가 포함된 경우가 많습니다. 머신러닝 파이프라인을 빌드하려면 다음 방법 중 하나를 사용하면 됩니다.

  • TensorFlow Extended(TFX) 또는 Kubeflow Pipelines(KFP)와 같은 Apache Beam 및 Dataflow Runner와 내장된 통합 기능을 갖춘 조정 프레임워크를 사용합니다. 이 옵션은 가장 덜 복잡합니다.
  • Dataflow 템플릿에 커스텀 구성요소를 빌드한 후 ML 파이프라인에서 템플릿을 호출합니다. 호출에는 Apache Beam 코드가 포함됩니다.
  • ML 파이프라인에 사용할 커스텀 구성요소를 빌드하고 구성요소에 직접 Python 코드를 입력합니다. 커스텀 Apache Beam 파이프라인을 정의하고 커스텀 구성요소 내에서 Dataflow Runner를 사용합니다. 이 옵션은 가장 복잡하며 파이프라인 종속 항목을 관리해야 합니다.

머신러닝 파이프라인을 만든 후에는 조정자를 사용하여 구성요소를 연결하여 엔드 투 엔드 머신러닝 워크플로를 만들 수 있습니다. 구성요소를 조정하려면 Vertex AI Pipelines과 같은 관리형 서비스를 사용하면 됩니다.

워크플로 조정 사용 사례는 다음 섹션에서 설명합니다.

TFXKubeflow Pipelines(KFP) 모두 Apache Beam 구성요소를 사용합니다.

Vertex AI Pipelines와 함께 Dataflow를 사용하고 싶습니다

Vertex AI Pipelines는 서버리스 방식으로 ML 워크플로를 조정하여 ML 시스템을 자동화, 모니터링, 제어하는 데 도움이 됩니다. Vertex AI Pipelines를 사용하여 TFX 또는 KFP로 정의된 워크플로 방향성 비순환 그래프(DAG)를 조정하고 Vertex ML Metadata를 사용하여 ML 아티팩트를 자동으로 추적할 수 있습니다. TFX 및 KFP와 Dataflow를 통합하는 방법은 다음 섹션의 정보를 참조하세요.

Kubeflow Pipelines로 Dataflow를 사용하고 싶습니다.

Kubeflow는 Kubernetes에서 ML 워크플로 배포를 간단하고 이식 및 확장할 수 있도록 지원하는 툴킷입니다. Kubeflow Pipelines는 Kubeflow Pipelines SDK를 사용하여 빌드된 재사용 가능한 엔드 투 엔드 ML 워크플로입니다.

Kubeflow Pipelines 서비스는 엔드 투 엔드 조정을 제공하고 실험 및 재사용을 용이하게 하는 것을 목표로 합니다. KFP를 사용하면 조정 기법을 실험하고 테스트를 관리할 수 있으며, 매번 처음부터 다시 시작하지 않고도 구성요소와 파이프라인을 재사용하여 여러 엔드 투 엔드 솔루션을 만들 수 있습니다.

KFP에서 Dataflow를 사용하는 경우 DataflowPythonJobOP 연산자 또는 DataflowFlexTemplateJobOp 연산자를 사용할 수 있습니다. 완전히 맞춤설정된 구성요소를 빌드할 수도 있습니다. DataflowPythonJobOP 연산자를 사용하는 것이 좋습니다.

완전히 커스텀 구성요소를 빌드하려면 Vertex AI 문서의 Dataflow 구성요소 페이지를 참조하세요.

TFX에 Dataflow를 사용하고 싶습니다

TFX 파이프라인 구성요소는 TFX 라이브러리에 빌드되고 데이터 처리 라이브러리는 Apache Beam을 직접 사용합니다. 예를 들어 TensorFlow Transform은 사용자의 호출을 Apache Beam으로 변환합니다. 따라서 추가 구성 작업을 수행할 필요 없이 TFX 파이프라인에서 Apache Beam 및 Dataflow를 사용할 수 있습니다. Dataflow에서 TFX를 사용하려면 TFX 파이프라인을 빌드할 때 Dataflow 실행기를 사용하세요. 자세한 내용은 다음 리소스를 참조하세요.