데이터 클래스

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는 시간 경과에 따라 변경되는 특성을 유지하는 3개의 클래스로 구성된 시계열 데이터 모델을 사용합니다. 세 클래스는 다음 계층 순으로 구성됩니다.

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 메서드 중 하나를 사용하여 항목 데이터 항목을 제공합니다.

EntityType

EntityType 클래스는 사용자가 정의한 의미론적 특성의 모음인 항목 유형 리소스를 나타냅니다. 예를 들어, 음악 서비스의 항목 유형은 musical_artistuser일 수 있습니다. 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_birthlast_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',
)

다음 단계