데이터 소스 준비

Vertex AI Feature Store를 사용하여 온라인으로 특성을 서빙하려면 먼저 다음과 같이 BigQuery에서 특성 데이터 소스를 설정해야 합니다.

  1. 특성 데이터를 사용하여 BigQuery 테이블이나 뷰를 만듭니다. 특성 데이터를 BigQuery 테이블이나 뷰에 로드하려면 데이터를 사용하여 BigQuery 데이터 세트를 만들고 BigQuery 테이블을 만든 후 특성 데이터를 데이터 세트에서 테이블로 로드하면 됩니다.

  2. BigQuery 테이블 또는 뷰에 특성 데이터를 로드한 후에는 온라인 서빙을 위해 이 데이터 소스를 Vertex AI Feature Store에 제공해야 합니다. 온라인 스토어 및 특성 뷰 인스턴스와 같은 두 가지 방법으로 데이터 소스를 온라인 서빙 리소스에 연결할 수 있습니다.

    • 특성 그룹과 특성을 만들어 데이터 소스 등록: 온라인 스토어의 특성 뷰 인스턴스와 특성 그룹 및 특성을 연결할 수 있습니다. 다음 두 가지 방법 중 하나로 데이터 형식을 지정할 수 있습니다.

      • 특성 타임스탬프 열을 포함하여 데이터 형식을 시계열로 지정합니다. Vertex AI Feature Store는 이 열의 특성 타임스탬프를 기준으로 각 고유 엔티티 ID에 최신 특성 값만 서빙합니다.

      • 특성 타임스탬프 열을 포함하지 않고 데이터 형식을 지정합니다. Vertex AI Feature Store는 타임스탬프를 관리하고 각 고유 엔티티 ID의 최신 특성 값만 제공합니다.

      특성 그룹을 만드는 방법은 특성 그룹 만들기를 참조하세요. 특성 그룹 내에서 특성을 만드는 방법은 특성 만들기를 참조하세요.

    • 특성 그룹과 특성을 만들지 않고 데이터 소스에서 직접 특성 제공: 특성 뷰에서 데이터 소스 URI를 지정할 수 있습니다. 이 시나리오에서는 데이터의 형식을 시계열로 지정하거나 BigQuery 소스에 이전 데이터를 포함할 수 없습니다. 각 행에는 고유 ID에 해당하는 최신 특성 값이 포함되어야 합니다. 여러 행에 동일한 항목 ID가 여러 번 나타나는 것은 지원되지 않습니다.

Vertex AI Feature Store를 사용하면 BigQuery에서 특성 데이터를 유지하고 BigQuery 데이터 소스에서 특성을 서빙할 수 있으므로 오프라인 스토어로 특성을 가져오거나 복사할 필요가 없습니다.

데이터 소스 준비 가이드라인

BigQuery에서 데이터 소스를 준비하는 동안 다음 가이드라인을 따라 스키마와 제약조건을 이해합니다.

  1. 데이터 소스에 다음 열을 포함합니다.

    • 엔티티 ID 열: 데이터 소스에 string 또는 int 값이 있는 엔티티 ID 열이 하나 이상 있어야 합니다. 이 열의 기본 이름은 entity_id입니다. 원하는 경우 이 열에 다른 이름을 사용할 수 있습니다. 이 열에 있는 각 값의 크기는 4KB 미만이어야 합니다.

      여러 열의 특성을 사용하여 엔티티 ID를 구성하여 특성 레코드를 지정할 수도 있습니다. 이 시나리오에서는 데이터 소스에 여러 엔티티 ID 열을 포함할 수 있습니다. 각 엔티티 ID 열의 이름은 고유해야 합니다. 특성 그룹을 만들어 데이터 소스를 등록하는 경우 각 특성 그룹의 엔티티 ID 열을 설정합니다. 또는 데이터 소스를 특성 뷰와 직접 연결하는 경우 특성 뷰를 구성하여 엔티티 ID 열을 지정합니다.

      데이터 소스에 여러 ID 열을 포함할 수 있습니다. 이러한 시나리오에서는 각 엔티티 ID 열의 이름이 고유해야 합니다. 특성 레코드의 각 열 값을 사용하여 엔티티 ID를 구성하도록 특성 그룹 또는 특성 뷰를 구성할 수 있습니다.

    • 특성 타임스탬프 열: 선택사항. 특성 그룹과 특성을 사용하여 데이터 소스를 등록하고 데이터의 형식을 시계열로 지정해야 하는 경우 특성 타임스탬프 열을 포함합니다. 타임스탬프 열에는 timestamp 유형 값이 포함됩니다. 타임스탬프 열의 기본 이름은 feature_timestamp입니다. 다른 열 이름을 사용하려면 time_series 파라미터를 사용하여 특성 그룹의 타임스탬프 열을 설정하세요.

      데이터 형식을 시계열로 지정하기 위해 타임스탬프 열을 지정하지 않으면 Vertex AI Feature Store가 특성의 타임스탬프를 관리하고 최신 특성 값을 제공합니다.

      BigQuery 데이터 소스를 특성 뷰와 직접 연결하는 경우에는 feature_timestamp 열이 필요하지 않습니다. 이 시나리오에서는 데이터 소스에 최신 특성 값만 포함해야 하며 Vertex AI Feature Store는 타임스탬프를 조회하지 않습니다.

    • 열 임베딩 및 필터링: 선택사항. 최적화된 온라인 서빙을 위해 만든 온라인 스토어에서 임베딩 관리를 사용하려면 데이터 소스에 다음 열이 포함되어야 합니다.

      • float 유형의 배열이 포함된 embedding

      • 선택사항: string 또는 string 배열 유형의 필터링 열 한 개 이상

      • 선택사항: int 유형의 크라우딩 열

  2. 데이터 소스의 각 행은 엔티티 ID와 연결된 특성 값의 전체 레코드입니다. 특성 값이 열 중 하나에서 누락되면 null 값으로 간주됩니다.

  3. BigQuery 테이블이나 뷰의 각 열은 특성을 나타냅니다. 각 특성 값을 별도의 열에 제공합니다. 데이터 소스를 특성 그룹 및 특성과 연결하는 경우 각 열을 별도의 특성과 연결합니다.

  4. 특성 값에 지원되는 데이터 유형에는 bool, int, float, string, timestamp, 이러한 데이터 유형의 배열, 바이트가 포함됩니다. 데이터 동기화 중에 timestamp 유형의 특성 값이 int64로 변환됩니다.

  5. 데이터 소스는 온라인 스토어 인스턴스와 동일한 리전 또는 온라인 스토어의 리전이 포함되거나 겹치는 멀티 리전에 있어야 합니다. 예를 들어 온라인 스토어가 us-central에 있으면 BigQuery 소스가 us-central 또는 US에 있을 수 있습니다.

  6. 최신 특성 값만 제공하도록 온라인 서빙 전에 특성 뷰의 데이터를 동기화합니다. 예약된 데이터 동기화를 사용하는 경우 특성 뷰에서 데이터를 수동으로 동기화해야 할 수 있습니다. 하지만 최적화된 온라인 서빙과 함께 연속 데이터 동기화를 사용하는 경우에는 데이터를 수동으로 동기화할 필요가 없습니다.

다음 단계