복잡한 머신러닝 워크플로를 조정하려면 데이터 사전 및 사후 처리 단계를 포함하는 프레임워크를 만들면 됩니다. 모델을 학습시키거나 데이터 사후 처리를 통해 모델 출력을 변환하려면 데이터를 사전 처리해야 할 수 있습니다.
ML 워크플로에는 함께 파이프라인을 구성하는 여러 단계가 포함된 경우가 많습니다. 머신러닝 파이프라인을 빌드하려면 다음 방법 중 하나를 사용하면 됩니다.
- TensorFlow Extended(TFX) 또는 Kubeflow Pipelines(KFP)와 같은 Apache Beam 및 Dataflow Runner와 내장된 통합 기능을 갖춘 조정 프레임워크를 사용합니다. 이 옵션은 가장 덜 복잡합니다.
- Dataflow 템플릿에 커스텀 구성요소를 빌드한 후 ML 파이프라인에서 템플릿을 호출합니다. 호출에는 Apache Beam 코드가 포함됩니다.
- ML 파이프라인에 사용할 커스텀 구성요소를 빌드하고 구성요소에 직접 Python 코드를 입력합니다. 커스텀 Apache Beam 파이프라인을 정의하고 커스텀 구성요소 내에서 Dataflow Runner를 사용합니다. 이 옵션은 가장 복잡하며 파이프라인 종속 항목을 관리해야 합니다.
머신러닝 파이프라인을 만든 후에는 조정자를 사용하여 구성요소를 연결하여 엔드 투 엔드 머신러닝 워크플로를 만들 수 있습니다. 구성요소를 조정하려면 Vertex AI Pipelines과 같은 관리형 서비스를 사용하면 됩니다.
ML 가속기 사용
대규모 모델을 사용한 추론과 같이 컴퓨팅 집약적인 데이터 처리가 포함된 머신러닝 워크플로의 경우 Dataflow 작업자와 함께 가속기를 사용할 수 있습니다. Dataflow는 GPU와 TPU를 모두 사용할 수 있도록 지원합니다.
GPU
Dataflow 작업에서 NVIDIA GPU를 사용하여 처리를 가속화할 수 있습니다. Dataflow는 T4, L4, A100, H100, V100을 비롯한 다양한 NVIDIA GPU 유형을 지원합니다. GPU를 사용하려면 필요한 GPU 드라이버와 라이브러리가 설치된 맞춤 컨테이너 이미지로 파이프라인을 구성해야 합니다.
Dataflow에서 GPU를 사용하는 방법에 대한 상세 정보는 GPU에 대한 Dataflow 지원을 참고하세요.
TPU
Dataflow는 대규모 AI 모델에 최적화된 Google의 맞춤 설계 AI 가속기인 Cloud TPU도 지원합니다. TPU는 PyTorch, JAX, TensorFlow와 같은 프레임워크에서 추론 워크로드를 가속화하는 데 적합합니다. Dataflow는 각 작업자가 하나 이상의 TPU 기기를 관리하는 단일 호스트 TPU 구성을 지원합니다.
자세한 내용은 TPU용 Dataflow 지원을 참고하세요.
워크플로 조정
워크플로 조정 사용 사례는 다음 섹션에서 설명합니다.
TFX와 Kubeflow 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 워크플로 배포를 간편하게 수행하고 이식 및 확장할 수 있도록 지원하는 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 실행기를 사용하세요. 자세한 내용은 다음 리소스를 참고하세요.