데이터 준비 개요

학습 데이터를 개발하는 방법에는 여러 가지가 있습니다.

다양한 요인에 따라 어느 것을 선택할 것인지 달라집니다.

마운트된 파일 시스템으로서의 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에 다시 쓸 수도 있습니다.

자세히 알아보기