Vertex AI에서 BigQuery ML 모델 관리

Vertex AI Model Registry에 BigQuery ML 모델을 등록하면 모델을 내보낼 필요 없이 Vertex AI 모델과 함께 관리할 수 있습니다. 모델을 Model Registry와 함께 등록하면 서빙 컨테이너가 없어도 단일 인터페이스를 사용하여 온라인 예측용 모델을 버전 관리, 평가, 배포할 수 있습니다. Vertex AI에 익숙하지 않고 BigQuery ML과 통합하는 방법에 대해 자세히 알아보려면 BigQuery 사용자를 위한 Vertex AI를 참조하세요.

Vertex AI 예측에 대한 자세한 내용은 Vertex AI 예측 수행 개요를 참조하세요.

Vertex AI 모델 레지스트리에서 BigQuery ML 모델을 관리하는 방법을 알아보려면 Vertex AI 모델 레지스트리 소개를 참조하세요.

시작하기 전에

Enable the Vertex AI API.

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the API

필수 권한

BigQuery ML 모델을 Model Registry에 등록하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Vertex AI 관리자 (roles/aiplatform.admin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

모델 등록

BigQuery ML 모델을 만들 때 다음과 같은 방법으로 모델을 Model Registry에 등록할 수 있습니다.

  • Google Cloud 콘솔의 탐색기 창에서 모델을 선택한 다음 레지스트리 탭에서 등록을 클릭합니다. (미리보기)
  • CREATE MODEL을 사용합니다. CREATE MODEL 문에서 다음 옵션을 사용하여 모델을 모델 레지스트리에 등록할 수 있습니다.

    • MODEL_REGISTRY: 모델을 Model Registry에 등록합니다.
    • VERTEX_AI_MODEL_ID: 모델 레지스트리의 모델에 사용할 모델 ID를 지정합니다. 모델 ID는 BigQuery ML 모델과 연결되며 Model Registry에서 확인할 수 있습니다. 각 BigQuery ML 모델은 Model Registry에서 하나의 모델 ID에만 등록할 수 있습니다.
    • VERTEX_AI_MODEL_VERSION_ALIASES: 하나 이상의 모델 버전 별칭을 지정합니다. 이러한 별칭을 사용하여 배포를 간소화하고 모델을 관리하고 모델에서 Vertex Explainable AI를 사용 설정할 수 있습니다.

    모델을 만들 때 MODEL_REGISTRY 옵션을 설정하면 모델이 Model Registry에 등록되고 BigQuery ML에서 학습을 완료하면 자동으로 표시됩니다. Google Cloud 콘솔의 Model Registry 페이지에 있는 소스 열을 사용하여 모델의 소스 위치를 확인할 수 있습니다.

BigQuery ML 모델이 등록되면 모델에서 다음 Model Registry 기능을 사용할 수 있습니다.

BigQuery ML을 사용하여 생성된 모든 모델은 Model Registry 등록 여부에 관계없이 BigQuery 사용자 인터페이스에 계속 표시됩니다.

다음 예에서는 k-평균 모델을 만들고 등록하는 방법을 보여줍니다.

CREATE OR REPLACE MODEL `mydataset.my_kmeans_model`
  MODEL_TYPE = 'KMEANS',
  MODEL_REGISTRY = 'VERTEX_AI',
  VERTEX_AI_MODEL_ID = 'customer_clustering';

Model Registry에 기존 BigQuery ML 모델 등록

모델을 만들 때 Vertex AI에 등록하지 않은 경우 나중에 SQL, bq 명령줄 도구 또는 BigQuery API를 사용하여 등록할 수 있습니다.

다음 예는 기존 모델을 등록하는 방법을 보여줍니다.

콘솔

  1. BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 왼쪽 창에서 탐색기를 클릭합니다.

    탐색기 창의 강조 표시된 버튼

    왼쪽 창이 표시되지 않으면 왼쪽 창 펼치기를 클릭하여 창을 엽니다.

  3. 탐색기 창에서 데이터 세트를 클릭한 다음 모델이 포함된 데이터 세트를 클릭합니다.

  4. 모델 탭을 클릭한 다음 등록할 모델을 클릭합니다.

  5. 모델 세부정보 창에서 레지스트리 탭을 선택합니다.

  6. 등록을 클릭합니다.

  7. Vertex Model Registry에 모델 등록 창에서 다음 중 하나를 실행합니다.

    • 새 모델로 등록을 선택합니다. 모델 이름에 모델 이름을 입력합니다.

    • 기존 모델의 새 버전으로 등록을 선택합니다.

      1. 모델 이름에 모델 이름을 입력합니다.
      2. (선택사항) 버전 별칭을 사용하려면 버전 별칭을 선택한 다음 버전 별칭 이름을 입력합니다.
  8. 등록을 클릭합니다.

SQL

ALTER MODEL을 사용합니다.

ALTER MODEL IF EXISTS mymodel SET OPTIONS (vertex_ai_model_id='my_vertex_ai_model_id');

bq

--model 플래그와 함께 bq update 명령어를 사용합니다.

  bq update --model --vertex_ai_model_id 'my_vertex_ai_model_id' myproject:mydataset.mymodel

API

models.patch 메서드를 사용합니다. vertexAiModelId 필드가 채워진 trainingRuns 객체가 포함된 Model 객체를 전달합니다.

{
  "trainingRuns": [
    {
      "vertexAiModelId": my_vertex_ai_model_id
    }
}

여러 버전의 BigQuery ML 모델 등록

지정된 모델 ID로 등록한 첫 번째 BigQuery ML 모델이 Model Registry에 해당 모델의 버전 1로 표시됩니다. BigQuery ML 모델을 만들거나 변경할 때 동일한 Vertex AI 모델 ID를 지정하여 등록된 모델의 다른 버전으로 추가 BigQuery ML 모델을 등록할 수 있습니다.

예를 들어 BigQuery ML에서 model1를 만들고 Model Registry에 regression_model로 등록할 수 있습니다. model1는 Model Registry에서 regression_model의 버전 1로 표시됩니다. 그런 다음 BigQuery ML에서 model2를 만들고 Model Registry에 regression_model로 등록하면 model2가 Model Registry에 regression_model의 버전 2로 표시됩니다.

BigQuery ML 모델을 만들거나 교체할 때 이미 Model Registry의 모델과 연결된 BigQuery ML 모델 이름을 사용하는 경우 기존 Model Registry 모델 버전이 삭제되고 새 모델로 교체됩니다. 이전 예시를 바탕으로 BigQuery ML에서 MODEL_REGISTRYVERTEX_AI_MODEL_ID 옵션과 함께 CREATE OR REPLACE MODEL 문을 사용하여 model2를 만들거나 교체하면 Model Registry의 regression_model 버전 2가 교체되고 Model Registry에 regression_model 모델의 버전 1과 버전 3이 표시됩니다.

등록된 BigQuery ML 모델의 모델 ID 변경

BigQuery ML 모델이 Model Registry에 등록되면 VERTEX_AI_MODEL_ID 값을 변경할 수 없습니다. 새 VERTEX_AI_MODEL_ID에 모델을 등록하려면 다음 옵션 중 하나를 사용합니다.

  • 모델을 삭제하고 VERTEX_AI_MODEL_ID 옵션의 새 값을 지정하여 다시 만듭니다. 이 접근 방식은 재학습 비용이 발생합니다.

  • 모델을 복사한 다음 ALTER MODEL 문을 사용하여 새 모델을 새 VERTEX_AI_MODEL_ID 값으로 등록합니다.

위치 고려사항

멀티 리전 BigQuery ML 모델을 Model Registry에 등록하면 Vertex AI에서 모델이 리전 모델로 변환됩니다. BigQuery ML US 멀티 리전 모델은 Vertex AI(us-central1)에 동기화되고 BigQuery ML 멀티 리전 EU 모델은 Vertex AI(europe-west4)에 동기화됩니다. 단일 리전 모델의 경우 변경사항이 없습니다.

모델 위치를 업데이트하는 방법은 위치 선택을 참조하세요.

Vertex AI에 모델 배포

다양한 방법을 사용하여 Vertex AI의 엔드포인트에 모델을 배포할 수 있습니다. 자세한 내용은 엔드포인트에 모델 배포를 참조하세요.

Model Registry에서 BigQuery ML 모델 삭제

Model Registry에서 BigQuery ML 모델을 삭제하려면 BigQuery ML에서 모델을 삭제합니다. 모델이 Model Registry에서 자동으로 삭제됩니다.

BigQuery ML 모델을 삭제하는 방법에는 여러 가지가 있습니다. 자세한 내용은 모델 삭제를 참조하세요.

Model Registry에 등록되고 엔드포인트에 배포된 BigQuery ML의 모델을 삭제하려면 먼저 Model Registry를 사용하여 모델 배포를 취소해야 합니다. 그런 다음 BigQuery ML로 돌아가서 모델을 삭제할 수 있습니다. 모델 배포를 취소하는 방법은 엔드포인트 삭제를 참조하세요.

제한사항