Vertex AI SDK에는 모델을 학습하는 데 사용되는 데이터를 저장하고 읽는 클래스가 포함되어 있습니다. 각 데이터 관련 클래스는 정형 데이터, 비정형 데이터 또는 Vertex AI Feature Store 데이터가 있는 Vertex AI 관리형 데이터 세트를 나타냅니다. 데이터 세트를 만든 후 이를 사용하여 모델을 학습시킵니다.
다음 주제에서는 Vertex AI SDK의 각 데이터 관련 클래스에 대해 간단히 설명합니다. 각 클래스의 주제에는 해당 클래스의 인스턴스를 만드는 방법을 보여주는 코드 예시가 포함되어 있습니다. 데이터 세트를 만든 후 ID를 사용하여 검색할 수 있습니다.
dataset = aiplatform.ImageDataset('projects/my-project/location/my-region/datasets/{DATASET_ID}')
정형 데이터 클래스
다음 클래스는 행과 열로 구성된 정형 데이터로 작업합니다. 정형 데이터는 종종 숫자, 날짜, 값, 문자열을 저장하는 데 사용됩니다.
TabularDataset
이 클래스를 통해 테이블 형식 데이터 세트를 사용합니다. CSV 파일, BigQuery 또는 Pandas DataFrame
을 사용하여 테이블 형식 데이터 세트를 만들 수 있습니다. BigQuery 데이터를 통한 페이징에 관한 자세한 내용은 페이지로 나누기를 사용하여 BigQuery API로 데이터 읽기를 참고하세요.
테이블 형식 데이터에 대한 자세한 내용은 테이블 형식 데이터를 참조하세요.
다음 코드는 CSV 파일을 가져와서 테이블 형식 데이터 세트를 만드는 방법을 보여줍니다.
my_dataset = aiplatform.TabularDataset.create(
display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])
다음 코드는 두 가지 고유 단계로 CSV 파일을 가져와서 테이블 형식 데이터 세트를 만드는 방법을 보여줍니다.
my_dataset = aiplatform.TextDataset.create(
display_name="my-dataset")
my_dataset.import(
gcs_source=['gs://path/to/my/dataset.csv']
import_schema_uri=aiplatform.schema.dataset.ioformat.text.multi_label_classification
)
Pandas DataFrame
을 사용하여 테이블 형식 데이터 세트를 만드는 경우 BigQuery 테이블을 사용하여 Vertex AI의 데이터를 스테이징해야 합니다.
my_dataset = aiplatform.TabularDataset.create_from_dataframe(
df_source=my_pandas_dataframe,
staging_path=f"bq://{bq_dataset_id}.table-unique"
)
TimeSeriesDataset
이 클래스를 사용하여 시계열 데이터 세트를 사용합니다. 시계열은 서로 다른 시간 간격으로 기록된 데이터가 포함된 데이터 세트입니다. 데이터 세트에는 시간과 시간에 종속된 하나 이상의 변수가 포함됩니다. 예측하는 데 시계열 데이터 세트를 사용합니다. 자세한 내용은 예측 개요를 참조하세요.
Cloud Storage 버킷의 CSV 파일 또는 BigQuery 테이블에서 관리형 시계열 데이터 세트를 만들 수 있습니다.
다음 코드는 시계열 데이터 세트가 포함된 CSV 데이터 소스 파일을 가져와서 TimeSeriesDataset
를 만드는 방법을 보여줍니다.
my_dataset = aiplatform.TimeSeriesDataset.create(
display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])
다음 코드는 시계열 데이터 세트가 포함된 BigQuery 테이블 파일을 가져와서 TimeSeriesDataset
를 만드는 방법을 보여줍니다.
my_dataset = aiplatform.TimeSeriesDataset.create(
display_name="my-dataset", bq_source=['bq://path/to/my/bigquerydataset.train'])
비정형 데이터 클래스
다음 클래스는 기존 관계형 데이터베이스에 저장할 수 없는 비정형 데이터로 작업합니다. 오디오, 텍스트, 동영상 파일 또는 NoSQL 데이터베이스로 저장되는 경우가 많습니다.
ImageDataset
이 클래스를 사용해서 관리형 이미지 데이터 세트 작업을 수행합니다. 관리형 이미지 데이터 세트를 만들려면 CSV 형식의 데이터 소스 파일과 YAML 형식의 스키마 파일이 필요합니다. 커스텀 모델의 경우 스키마는 선택사항입니다. CSV 파일 및 스키마는 Cloud Storage 버킷에서 액세스합니다.
다음과 같은 목적으로 이미지 데이터를 사용하세요.
- 단일 라벨 분류. 자세한 내용은 단일 라벨 분류를 위한 이미지 학습 데이터 준비를 참조하세요.
- 멀티 라벨 분류. 자세한 내용은 다중 라벨 분류를 위한 이미지 학습 데이터 준비를 참고하세요.
- 객체 감지. 자세한 내용은 객체 감지용 이미지 학습 데이터 준비를 참조하세요.
다음 코드는 CSV 데이터 소스 파일과 YAML 스키마 파일을 가져와서 이미지 데이터 세트를 만드는 방법을 보여줍니다. 사용하는 스키마 파일은 단일 라벨 분류, 다중 라벨 분류, 객체 감지에 이미지 데이터 세트가 사용되는지 여부에 따라 달라집니다.
my_dataset = aiplatform.ImageDataset.create(
display_name="my-image-dataset",
gcs_source=['gs://path/to/my/image-dataset.csv'],
import_schema_uri=['gs://path/to/my/schema.yaml']
)
TextDataset
이 클래스를 사용해서 관리형 텍스트 데이터 세트 작업을 수행합니다. 텍스트 데이터 세트를 만들려면 CSV 형식의 데이터 소스와 YAML 형식의 스키마가 필요합니다. 커스텀 모델의 경우 스키마는 선택사항입니다. CSV 파일 및 스키마는 Cloud Storage 버킷에서 액세스합니다.
다음과 같은 목적으로 텍스트 데이터를 사용하세요.
- 분류. 자세한 내용은 분류를 위한 텍스트 학습 데이터 준비를 참조하세요.
- 항목 추출. 자세한 내용은 항목 추출용 텍스트 학습 데이터 준비를 참조하세요.
- 감정 분석. 자세한 내용은 감정 분석용 텍스트 학습 데이터 준비를 참조하세요.
다음 코드는 CSV 데이터 소스 파일과 YAML 스키마 파일을 가져와서 텍스트 데이터 세트를 만드는 방법을 보여줍니다. 사용하는 스키마 파일은 분류, 항목 추출, 감정 분석에 텍스트 데이터 세트를 사용하는지 여부에 따라 달라집니다.
my_dataset = aiplatform.TextDataset.create(
display_name="my-image-dataset",
gcs_source=['gs://path/to/my/text-dataset.csv'],
import_schema_uri=['gs://path/to/my/schema.yaml']
)
VideoDataset
이 클래스를 사용해서 관리형 동영상 데이터 세트 작업을 수행합니다. 동영상 데이터 세트를 만들려면 CSV 데이터 소스 파일과 YAML 형식의 스키마가 필요합니다. CSV 파일 및 스키마는 Cloud Storage 버킷에서 액세스합니다.
다음과 같은 목적으로 동영상 데이터를 사용하세요.
- 분류. 자세한 내용은 분류 스키마 파일을 참고하세요.
- 동작 인식. 자세한 내용은 동작 인식 스키마 파일을 참조하세요.
- 객체 추적. 자세한 내용은 객체 추적 스키마 파일을 참조하세요.
다음 코드는 CSV 데이터 소스 파일을 가져와서 동영상 분류 모델을 학습하도록 데이터 세트를 만드는 방법을 보여줍니다. 사용하는 스키마 파일은 작업 분류, 인식, 객체 추적에 동영상 데이터 세트를 사용하는지 여부에 따라 달라집니다.
my_dataset = aiplatform.VideoDataset.create(
gcs_source=['gs://path/to/my/dataset.csv'],
import_schema_uri=['gs://aip.schema.dataset.ioformat.video.classification.yaml']
)
Vertex AI Feature Store 데이터 클래스
Vertex AI Feature Store는 ML 특성을 대규모로 저장, 제공, 관리, 공유하는 데 사용되는 관리형 서비스입니다.
Vertex AI Feature Store는 시간이 지남에 따라 특성을 유지하는 세 가지 클래스로 구성된 시계열 데이터 모델을 사용합니다. 세 클래스는 다음과 같은 계층적 순서로 구성됩니다.
Vertex AI Feature Store 데이터 모델에 대한 자세한 내용은 데이터 모델 및 리소스를 참조하세요. Vertex AI Feature Store 데이터 소스 요구사항에 대해 알아보려면 소스 데이터 요구사항을 참고하세요.
다음 클래스는 Vertex AI Feature Store 데이터에서 사용됩니다.
Featurestore
Featurestore
클래스로 표시되는 피처스토어 리소스는 Vertex AI Feature Store 데이터 모델 계층 구조의 최상위 클래스입니다.
데이터 모델의 다음 수준 리소스는 항목 유형으로, 사용자가 만드는 의미론적으로 관련된 특성의 모음입니다. 다음은 항목 유형과 함께 작동하는 Featurestore
메서드 중 일부입니다.
항목 유형 만들기
Featurestore
를 사용합니다.entity_type_id
가 포함된 create_entity_type
메서드로 항목 유형 리소스를 만듭니다. 항목 유형 리소스는 EntityType
클래스로 표시됩니다. entity_type_id
는 영숫자이며 피처스토어에서 고유해야 합니다. 다음은 항목 유형을 만드는 방법의 예시입니다.
entity_type = aiplatform.featurestore.create_entity_type(
entity_type_id=my_entity_type_name, description=my_entity_type_description
)
항목 유형 제공
다음 세 가지 Featurestore
메서드 중 하나를 사용하여 항목 데이터 항목을 제공합니다.
batch_serve_to_bq
는 BigQuery 테이블에 데이터를 제공합니다.batch_serve_to_df
는 PandasDataFrame
에 데이터를 제공합니다.batch_serve_to_gcs
는 CSV 파일 또는 TensorFlowTFRecord
파일에 데이터를 제공합니다.
EntityType
EntityType
클래스는 사용자가 정의한 의미론적 특성의 모음인 항목 유형 리소스를 나타냅니다. 예를 들어 음악 서비스의 경우 항목 유형 musical_artist
및 user
가 있을 수 있습니다. FeatureStore.create_entity_type
메서드 또는 EntityType.create
메서드를 사용하여 항목 유형을 만들 수 있습니다. 다음 코드에서는 EntityType.create
사용 방법을 보여줍니다.
entity_type = aiplatform.EntityType.create(
entity_type_id=my_entity_type_name, featurestore_name=featurestore_name
)
Feature
Feature
클래스는 항목 유형의 측정 가능한 속성인 특성 리소스를 나타냅니다. 예를 들어 musical_artist
항목 유형에는 뮤지션의 다양한 속성을 추적하는 date_of_birth
및 last_name
과 같은 특성이 있을 수 있습니다. 특성은 항목 유형에 고유해야 하지만 전역적으로 고유할 필요는 없습니다.
Feature
를 만들 때 값 유형을 지정해야 합니다(예: BOOL_ARRAY
, DOUBLE
, DOUBLE_ARRAY
, STRING
). 다음 코드는 특성을 만드는 방법의 예시를 보여줍니다.
my_feature = aiplatform.Feature.create(
feature_id='my_feature_id',
value_type='INT64',
entity_type_name='my_entity_type_id',
featurestore_id='my_featurestore_id',
)
다음 단계
- Vertex AI SDK 자세히 알아보기