이 페이지에서는 Spanner Vertex AI 통합에 대해 간략히 설명합니다. Spanner Vertex AI 통합은 GoogleSQL 및 PostgreSQL 데이터베이스에서 모두 작동합니다.
Spanner Vertex AI 통합을 사용하면 GoogleSQL 및 PostgreSQL 인터페이스를 통해 Vertex AI에서 호스팅되는 분류기 및 회귀 ML 모델에 액세스할 수 있습니다. 이를 통해 ML 예측 제공 기능을 DQL/DML 쿼리를 사용하여 수행되는 일반적인 Spanner 데이터 액세스 작업과 원활하게 통합할 수 있습니다.
Spanner Vertex AI 통합의 이점
Spanner Vertex AI 통합을 사용하여 ML 예측을 생성하면 Spanner 데이터 액세스와 Vertex AI 예측 엔드포인트에 대한 액세스가 개별적으로 수행되는 방법에 비해 여러 가지 이점이 있습니다.
- 성과:
- 지연 시간 개선: Vertex AI 서비스와 통신하는 Spanner Vertex AI 통합은 Spanner의 클라이언트를 실행하는 컴퓨팅 노드와 Vertex AI 서비스 간의 추가적인 왕복을 없애줍니다.
- 처리량/동시 처리 향상: Spanner Vertex AI 통합은 Spanner의 분산형 쿼리 처리 인프라를 기반으로 실행되므로, 동시 로드가 높은 쿼리 실행을 지원합니다.
- 사용자 환경:
- 간단하고 일관되며 친숙한 단일 SQL 인터페이스를 사용하여 Spanner 확장 수준에서 데이터 변환 및 ML 제공 시나리오를 모두 용이하게 하면 ML 진입 장벽이 낮아지고 훨씬 더 원활한 사용자 경험을 제공할 수 있습니다.
- 비용:
- Spanner Vertex AI 통합은 Spanner 컴퓨팅 용량을 사용하여 ML 계산 및 SQL 쿼리 실행 결과를 병합합니다. 따라서 이에 대한 추가 컴퓨팅(예: Compute Engine 또는 Google Kubernetes Engine에서)을 프로비저닝할 필요가 없습니다.
Spanner Vertex AI 통합은 어떻게 작동하나요?
Spanner Vertex AI 통합은 ML 모델을 호스팅하지 않는 대신 Vertex AI 서비스 인프라를 사용합니다. Spanner Vertex AI 통합과 함께 사용하기 위해 Vertex AI를 사용하여 모델을 학습시킬 필요는 없지만 Vertex AI 엔드포인트에 배포해야 합니다.
Spanner에 저장된 데이터로 모델을 학습시키려면 다음을 사용하면 됩니다.
BigQuery ML과 함께 BigQuery 통합 쿼리를 사용합니다.
Dataflow를 사용하여 Spanner에서 CSV 형식으로 데이터를 내보내고 CSV 데이터 소스를 Vertex AI로 가져옵니다.
Spanner Vertex AI 통합은 ML 모델을 사용하기 위한 다음 함수를 확장합니다.
Spanner 데이터에서 SQL을 사용하여 모델을 호출하여 ML 예측을 생성합니다. Vertex AI Model Garden의 모델 또는 Vertex AI 엔드포인트에 배포된 모델을 사용할 수 있습니다.
LLM이 텍스트 프롬프트를 숫자로 변환하도록 텍스트 임베딩을 생성합니다. 임베딩에 대해 자세히 알아보려면 텍스트 임베딩 가져오기를 참조하세요.
Spanner Vertex AI 통합 함수 사용
Spanner Vertex AI 통합의 모델을 사용하여 ML 예측 함수를 통해 SQL 코드에서 예측 또는 텍스트 임베딩을 생성할 수 있습니다. 이러한 함수는 다음과 같습니다.
GoogleSQL
GoogleSQL에 다음과 같은 ML 예측 함수를 사용할 수 있습니다.
ML.PREDICT
함수와 함께 사용하기 전에 CREATE MODEL
DDL 문을 사용하여 모델을 등록해야 합니다.
SAFE.ML.PREDICT
를 사용하여 예측 오류 대신 null
을 반환할 수도 있습니다. 이는 일부 실패한 예측이 허용되는 대규모 쿼리를 실행하는 경우에 유용합니다.
PostgreSQL
PostgreSQL에 다음과 같은 ML 예측 함수를 사용할 수 있습니다.
함수를 사용하려면 Vertex AI Model Garden에서 모델을 선택하거나 Vertex AI에 배포한 모델을 사용하면 됩니다.
Vertex AI의 엔드포인트에 모델을 배포하는 방법에 대한 자세한 내용은 엔드포인트에 모델 배포를 참조하세요.
이러한 함수를 사용하여 ML 예측을 생성하는 방법에 관한 자세한 내용은 SQL을 사용하여 ML 예측 생성을 참조하세요.
이러한 함수를 사용하여 텍스트 임베딩을 생성하는 방법에 관한 자세한 내용은 텍스트 임베딩 가져오기를 참조하세요.
가격 책정
Spanner Vertex AI 통합과 함께 Spanner를 사용할 때 Spanner에서 추가 요금이 청구되지 않습니다. 그러나 이 기능과 관련하여 다른 요금이 발생할 가능성이 있습니다.
Vertex AI 온라인 예측에 대한 표준 요율을 지불합니다. 총 요금은 사용하는 모델 유형에 따라 다릅니다. 일부 모델 유형은 사용하는 머신 유형 및 노드 수에 따라 고정된 시간당 요금이 적용됩니다. 일부 모델 유형에는 통화당 요금이 있습니다. 후자는 명시적인 예측 할당량을 설정한 전용 프로젝트에 배포하는 것이 좋습니다.
Spanner와 Vertex AI 간의 데이터 전송에 표준 요금이 청구됩니다. 총 청구 금액은 쿼리를 실행하는 서버를 호스팅하는 리전과 호출된 엔드포인트를 호스팅하는 리전에 따라 다릅니다. 요금을 최소화하려면 Spanner 인스턴스와 동일한 리전에 Vertex AI 엔드포인트를 배포합니다. 다중 리전 인스턴스 구성 또는 여러 Vertex AI 엔드포인트를 사용하는 경우 동일한 대륙에 엔드포인트를 배포합니다.
SLA
Vertex AI 온라인 예측 가용성이 낮아서 Spanner Vertex AI 통합을 사용하는 동안 Spanner의 고가용성을 유지하도록 Spanner ML 모델을 올바르게 구성해야 합니다.
- Spanner ML 모델은 백엔드에서 여러 Vertex AI 엔드포인트를 사용하여 장애 조치를 사용 설정해야 합니다.
- Vertex AI 엔드포인트는 Vertex AI SLA를 준수해야 합니다.
- Vertex AI 엔드포인트는 수신 트래픽을 처리하기에 충분한 용량을 프로비저닝해야 합니다.
- 지역별 서비스 중단을 방지하려면 Vertex AI 엔드포인트가 Spanner 데이터베이스와 가까운 별도의 리전을 사용해야 합니다.
- Vertex AI 엔드포인트는 프로젝트별 예측 할당량 문제를 방지하기 위해 별도의 프로젝트를 사용해야 합니다.
중복 Vertex AI 엔드포인트 수는 SLA 및 Spanner 쿼리의 행 수에 따라 다릅니다.
Spanner SLA | Vertex AI SLA | 행 1개 | 행 10개 | 행 100개 | 행 1000개 |
---|---|---|---|---|---|
99.99% | 99.9% | 2 | 2 | 2 | 3 |
99.99% | 99.5% | 2 | 3 | 3 | 4 |
99.999% | 99.9% | 2 | 2 | 3 | 3 |
99.999% | 99.5% | 3 | 3 | 4 | 4 |
Vertex AI 엔드포인트는 정확히 동일한 모델을 호스팅하지 않아도 됩니다. 첫 번째 엔드포인트로 복잡하고 컴퓨팅 집약적인 기본 모델을 포함하도록 Spanner ML 모델을 구성하는 것이 좋습니다. 후속 장애 조치 엔드포인트는 컴퓨팅 집약도가 낮은 간소화된 모델을 가리켜서 확장성을 높이고 트래픽 급증에 대처할 수 있습니다.
규정 준수
Assured Workloads는 Vertex AI Prediction API를 지원하지 않습니다. 리소스 사용량 제한 제약조건을 사용 설정하면 Vertex AI API가 사용 중지되고 그에 따라 Spanner Vertex AI 통합 기능도 사용 중지됩니다.
또한 프로덕션 데이터베이스에서 규정 준수가 적절히 구성되지 않은 비프로덕션 프로젝트의 Vertex AI 엔드포인트에 연결할 수 없도록 VPC 서비스 제어 경계를 만드는 것이 좋습니다.