Kubeflow Pipelines 빌드 경험이 있는 개발자의 경우 다음과 같이 Vertex AI Pipelines와 Kubeflow Pipelines가 어떻게 다른지 이해해야 합니다.
데이터 전달(입력/출력)
- Kubeflow Pipelines SDK v1과 Kubeflow Pipelines SDK v2에서 입력 및 출력을 통한 데이터 전달이 서로 다릅니다. Kubeflow Pipelines SDK v2에는 매개변수와 아티팩트가 분리되어 있으며, 서로 전달될 수 없습니다. 자세한 내용은 Kubeflow Pipelines 파이프라인 기본사항 및 Kubeflow Pipelines 데이터 유형을 참고하세요.
도메인 특정 언어(DSL) 버전 사용
Vertex AI Pipelines는 TFX v0.30.0 이상 또는 Kubeflow Pipelines SDK v2 도메인별 언어(DSL)를 사용하여 빌드된 파이프라인을 실행할 수 있습니다.
Kubeflow Pipelines SDK v2 DSL은 Kubeflow Pipelines SDK v1.6 이상에서 사용할 수 있습니다.
Kubeflow Pipelines는 Kubeflow Pipelines SDK를 사용하여 빌드된 파이프라인을 실행할 수 있습니다. 또한 Kubeflow Pipelines v1.6 이상은 Kubeflow Pipelines SDK v2 DSL을 사용하여 빌드된 파이프라인을 실행할 수 있습니다.
스토리지
Kubeflow Pipelines 및 Vertex AI Pipelines는 스토리지를 서로 다른 방식으로 처리합니다. Kubeflow Pipelines에서는 영구 볼륨 클레임과 같은 Kubernetes 리소스를 활용할 수 있습니다. Vertex AI Pipelines에서는 데이터가 Cloud Storage에 저장되며 Cloud Storage FUSE를 사용하여 구성요소에 마운트됩니다.
Vertex AI Pipelines에서는 Google Cloud 서비스를 사용하여 리소스를 제공할 수 있습니다. 예를 들어 Cloud Storage FUSE를 사용하여 파이프라인 단계에서 마운트된 볼륨으로 Cloud Storage 버킷에 액세스할 수 있습니다. Cloud Storage URI가
gs://example-bucket/example-pipeline
이면 파이프라인 구성요소의 컨테이너가 Cloud Storage FUSE를 사용하여/gcs/example-bucket/example-pipeline
경로로 URI에 액세스할 수 있습니다.Vertex AI Pipelines를 사용하여 파이프라인을 실행할 때는
@pipeline
주석에 또는 파이프라인 실행을 만들었을 때 파이프라인 루트가 저장되어 있어야 합니다.Kubeflow Pipelines에서 파이프라인 루트 지정은 선택사항입니다. 파이프라인 실행의 아티팩트는 기본적으로 MinIO를 사용하여 저장됩니다.
Vertex AI Pipelines에서 지원되지 않는 기능
다음 Kubeflow Pipelines 기능은 현재 Vertex AI Pipelines에서 지원되지 않습니다.
캐시 만료: Kubeflow Pipelines에서는 Kubeflow Pipelines SDK v1 DSL을 사용하여 캐시된 구성요소 실행이 지정된 기간 후 만료되도록 지정할 수 있습니다.
현재는 Kubeflow Pipelines SDK v2 DSL을 사용하여 지정된 기간 후 구성요소 실행이 만료되도록 지정할 수 없습니다.
Vertex AI Pipelines에서
create_run_from_job_spec
을 사용하여 파이프라인을 실행하는 경우enable_caching
인수를 사용하여 이 파이프라인 실행에서 캐싱을 사용하지 않도록 지정할 수 있습니다.재귀: Kubeflow Pipelines에서 재귀적으로 호출되는 파이프라인 구성요소를 지정할 수 있습니다.
현재까지 Vertex AI Pipelines는 재귀적으로 호출되는 파이프라인 구성요소를 지원하지 않습니다.