다양한 요인에 따라 어느 것을 선택할 것인지 달라집니다.
마운트된 파일 시스템으로서의 Cloud Storage(Cloud Storage FUSE)
다음과 같은 이유일 때는 마운트된 파일 시스템(Cloud Storage FUSE)으로 Cloud Storage를 사용하는 것이 좋습니다.
- 학습 데이터가 이미지, 텍스트, 동영상과 같이 구조화되지 않은 경우 Cloud Storage는 이러한 유형의 대규모 개별 파일을 저장하는 데 적합합니다.
- 학습 데이터가 TFRecord와 같은 형식으로 구조화된 경우: 이러한 ML 전용 형식에 Cloud Storage가 일반적으로 사용됩니다.
- 매우 큰 파일을 사용하는 경우: Cloud Storage FUSE는 전체 파일을 복제본에 다운로드하도록 요구하는 대신 데이터를 학습 작업에 스트리밍합니다. 이렇게 하면 대규모 데이터 세트의 데이터 로드 및 작업 시작 시간이 단축될 수 있습니다.
- 분산 학습을 실행하는 경우: Cloud Storage FUSE는 대용량 파일 순차 읽기에 높은 처리량을 제공하므로 여러 작업자가 병렬로 데이터에 액세스해야 하는 분산 학습 시나리오에 유용합니다.
- 학습 코드에서 명시적 API 호출을 할 필요 없이 Cloud Storage 데이터에 로컬 파일 시스템인 것처럼 액세스하는 것이 편리한 경우
- 확장 가능한 스토리지가 기본적으로 필요하고 수많은 작은 파일에 대한 임의 액세스의 지연 시간이 가장 짧은 것은 중요하지 않은 경우
Vertex AI 기반 Ray 관련
- Vertex AI의 Ray가 액세스할 수 있는 Cloud Storage 버킷에 데이터를 저장할 수 있습니다.
- Ray는 Cloud Storage에서 직접 데이터를 읽을 수 있습니다. 예를 들어 Ray에서 Spark를 실행할 때 Cloud Storage에서 파일을 읽을 수 있습니다.
- Vertex AI는 Cloud Storage FUSE를 사용하여 Ray에서 실행되는 학습 작업 내에 Cloud Storage 버킷을 로컬 파일 시스템으로 마운트합니다. 이렇게 하면 Ray 애플리케이션이 표준 파일 I/O 작업을 사용하여 로컬 디스크에 있는 것처럼 데이터에 액세스할 수 있습니다.
- 최적의 성능을 위해 Ray 클러스터를 실행하는 리전과 동일한 리전의 Cloud Storage 버킷을 사용하는 것이 좋습니다.
자세히 알아보기
네트워크 파일 시스템(NFS) 공유
- 로컬에 저장된 것처럼 원격 파일에 매우 높은 처리량과 짧은 지연 시간으로 액세스해야 하는 경우. 이는 학습 중에 특정 유형의 데이터나 복잡한 파일 상호작용에 중요할 수 있습니다.
- Vertex AI의 Ray 클러스터와 같은 컴퓨팅 클러스터의 모든 노드에서 원격 파일을 쉽게 사용할 수 있어야 하는 경우
- 애플리케이션이 Cloud Storage FUSE보다 더 강력한 POSIX 규정 준수를 갖춘 표준 파일 시스템 인터페이스의 이점을 누리는 경우
- 사용하려는 기존 NFS 인프라가 Virtual Private Cloud 내에 있는 경우
- 여러 작업 또는 클러스터 간에 파일을 공유하고 일관되고 지연 시간이 짧은 액세스를 제공해야 하며 파일 시스템 수준에서 권한을 관리하는 것이 좋은 경우
Vertex AI 기반 Ray 관련
- Vertex AI의 Ray 클러스터에 NFS 공유를 마운트하여 원격 파일을 로컬 파일처럼 액세스할 수 있습니다.
- 이는 공유 파일 시스템에 대한 높은 처리량과 짧은 지연 시간 액세스에 유용합니다.
- Vertex AI SDK for Python을 사용하여 Ray 클러스터를 만들 때 서버, 경로, 마운트 지점을 지정하여 NFS 마운트를 설정할 수 있습니다. 마운트되면 Ray 코드는 표준 파일 작업을 사용하여 이러한 NFS 볼륨을 읽고 쓸 수 있습니다.
자세히 알아보기
관리형 데이터 세트
- 중앙 집중식 데이터 관리 및 거버넌스: 관리형 데이터 세트는 Vertex AI 내에서 데이터 세트를 정리하고 관리할 수 있는 중앙 위치를 제공합니다. 이를 통해 다양한 프로젝트와 실험에서 데이터 애셋을 추적하고 관리할 수 있습니다.
- 데이터 라벨 지정: 관리형 데이터 세트 내에서 직접 라벨 지정 작업을 만들고 주석 세트를 관리할 수 있습니다.
- 데이터 계보 추적: 관리형 데이터 세트는 데이터의 계보를 해당 데이터로 학습된 모델에 자동으로 추적합니다. 이는 특정 모델에 사용된 데이터 소스를 이해하고 재현성과 거버넌스를 보장하는 데 중요합니다.
- 커스텀 모델과 AutoML 모델 비교: 관리형 데이터 세트를 사용하면 동일한 데이터를 사용하여 커스텀 모델과 AutoML 모델을 모두 학습시킬 수 있습니다. 이를 통해 동일한 데이터 세트에서 모델의 성능을 직접 비교하여 문제에 가장 적합한 접근 방식을 선택할 수 있습니다.
- 데이터 통계 및 시각화 생성: Vertex AI는 관리 데이터 세트 내 데이터의 통계와 시각화를 자동으로 생성할 수 있습니다. 이를 통해 탐색적 데이터 분석을 수행하고 데이터의 특성을 파악할 수 있습니다.
- 자동 데이터 분할: 학습 파이프라인에서 관리형 데이터 세트를 사용할 때 Vertex AI는 지정된 비율, 필터, 사전 정의된 분할 또는 타임스탬프를 기반으로 데이터를 학습, 검증, 테스트 세트로 자동 분할할 수 있습니다. 이렇게 하면 데이터 준비 프로세스가 간소화됩니다.
- 데이터 세트 버전 활용: 관리 데이터 세트를 사용하면 버전 관리가 가능하므로 시간에 따른 데이터 변경사항을 추적하고 필요한 경우 이전 버전으로 되돌릴 수 있습니다.
Vertex AI 기반 Ray 관련
- 분산 학습을 위해 Ray를 사용하는 Vertex AI 학습 파이프라인에서 관리형 데이터 세트를 사용하는 경우 관리형 데이터 세트의 데이터가 학습 컨테이너에서 사용할 수 있게 되며, Ray 애플리케이션은 이 데이터에 액세스할 수 있습니다(데이터 세트가 이러한 소스에 연결된 경우 마운트된 Cloud Storage 또는 BigQuery를 통해). 환경 변수
AIP_TRAINING_DATA_URI
,AIP_VALIDATION_DATA_URI
,AIP_TEST_DATA_URI
는 데이터를 가리킵니다.
자세히 알아보기
BigQuery
- Vertex AI 구성요소 내의 데이터에 연결하는 경우: 많은 Vertex AI 도구와 서비스가 BigQuery와 직접 통합됩니다. JupyterLab 내에서 BigQuery의 데이터를 쿼리할 수 있습니다. 이를 통해 다른 스토리지 시스템으로 데이터를 이동하지 않고도 탐색, 시각화, 모델 개발을 위해 BigQuery 데이터와 직접 상호작용할 수 있습니다.
- 학습 파이프라인 구축: Vertex AI에서 학습 파이프라인을 구축할 때 BigQuery의 데이터를 직접 사용할 수 있습니다. 예를 들어 파이프라인은 BigQuery에서 데이터를 가져와 전처리한 후 모델을 학습시킬 수 있습니다.
- 지속적 모델 학습 파이프라인: 지속적 모델 학습을 설정하려면 BigQuery 테이블에 도착하는 새 데이터를 기반으로 파이프라인 실행을 트리거하면 됩니다. 이를 통해 모델 재학습을 자동화할 수 있습니다. 새 작업이 특정 BigQuery 테이블에 삽입될 때 파이프라인을 시작하도록 Eventarc 트리거를 구성할 수 있습니다.
- 모델 모니터링: BigQuery를 사용하여 배포된 모델의 특성 기울기 및 드리프트를 모니터링할 수 있습니다. 편향 감지를 위해 학습 데이터 세트의 BigQuery URI를 지정할 수 있습니다. 또한 BigQuery는 온라인 추론 엔드포인트의 로그를 저장할 수 있으며, 이 로그는 지속적인 모니터링을 위한 데이터 소스로 사용할 수 있습니다. 이를 위해 BigQuery 테이블에 타임스탬프 열이 있는 것이 좋습니다.
- BigQuery ML 통합: SQL을 사용하여 머신러닝 모델을 빌드하기 위해 BigQuery ML을 활용할 때 BigQuery 데이터 세트를 사용할 수 있습니다. Vertex AI Workbench를 사용하면 노트북 환경 내에서 BigQuery 데이터를 대화형으로 탐색 분석하고 BigQuery ML을 사용할 수 있습니다.
- 데이터 탐색 및 준비: 학습 전에 BigQuery를 사용하여 데이터를 탐색하고 시각화할 수 있습니다. 학습에 데이터를 사용하기 전에 BigQuery에서 직접 SQL 쿼리를 사용하여 데이터 변환을 실행할 수도 있습니다.
- 공개 데이터 세트 액세스: BigQuery는 시카고 택시 운행 데이터 세트와 같은 다양한 공개 데이터 세트를 호스팅하며, 이러한 데이터 세트는 Vertex AI Workbench에서 실험 및 학습에 바로 사용할 수 있습니다.
Vertex AI 기반 Ray 관련
- Vertex AI의 Ray에는 BigQuery에서 직접 데이터를 읽는 기능이 있습니다. Ray 작업 내에서 Vertex AI SDK for Python을 사용하여 BigQuery 쿼리를 실행하고 Ray 애플리케이션에서 사용할 결과를 구체화할 수 있습니다.
- BigQuery에서 읽을 때는 최대 쿼리 응답 크기(10GB)에 유의하세요.
- Vertex AI SDK for Python을 사용하여 Ray 애플리케이션의 데이터를 BigQuery에 다시 쓸 수도 있습니다.