BigQuery의 AI 및 ML 소개
BigQuery ML을 사용하면 GoogleSQL 쿼리를 사용하여 머신러닝(ML) 모델을 만들고 실행할 수 있습니다. BigQuery ML 모델은 테이블 및 보기와 마찬가지로 BigQuery 데이터 세트에 저장됩니다. 또한 BigQuery ML을 사용하면 Vertex AI 모델 및 Cloud AI API에 액세스하여 텍스트 생성 또는 기계 번역과 같은 인공지능 (AI) 작업을 수행할 수 있습니다. 또한 Google Cloud용 Gemini는 BigQuery 태스크에 AI 기반 지원을 제공합니다. BigQuery의 AI 기반 기능 목록을 확인하려면 BigQuery의 Gemini 개요를 참조하세요.
일반적으로 대규모 데이터 세트에서 ML 또는 AI를 수행하려면 ML 프레임워크에 대한 광범위한 프로그래밍과 지식이 필요합니다. 이러한 요구사항 때문에 각 회사 내 극소수 직원만 솔루션 개발을 담당할 수 있으며, 데이터를 이해하지만 머신러닝과 프로그래밍 전문 지식이 별로 없는 데이터 분석가는 개발에 참여하지 못합니다. 하지만 BigQuery ML을 사용하면 SQL 실무자는 기존 SQL 도구와 기술을 사용하여 모델을 빌드 및 평가하고 LLM 및 Cloud AI API에서 결과를 생성할 수 있습니다.
다음을 사용하여 BigQuery ML 기능을 활용할 수 있습니다.
- Google Cloud 콘솔
- bq 명령줄 도구
- BigQuery REST API
- BigQuery의 통합 Colab Enterprise 노트북
- Jupyter 노트북 또는 비즈니스 인텔리전스 플랫폼과 같은 외부 도구
BigQuery ML의 장점
BigQuery ML은 클라우드 기반 데이터 웨어하우스에서 ML 또는 AI를 사용하는 다른 접근 방법에 비해 여러 가지 이점을 제공합니다.
- BigQuery ML은 기본 데이터 웨어하우스 사용자인 데이터 분석가가 기존 비즈니스 인텔리전스 도구 및 스프레드시트를 사용하여 모델을 빌드하고 실행할 수 있게 하여 ML 및 AI 사용을 대중화합니다. 예측 분석은 조직 전반에서 비즈니스 의사 결정의 길잡이 역할을 할 수 있습니다.
- Python 또는 Java를 사용하여 ML 또는 AI 솔루션을 프로그래밍할 필요가 없습니다. 데이터 분석가에게 익숙한 언어인 SQL을 사용하여 모델을 학습시키고 AI 리소스에 액세스합니다.
BigQuery ML을 사용하면 데이터 웨어하우스에서 데이터를 이동할 필요가 없으므로 모델 개발 및 혁신 속도가 향상됩니다. 대신 BigQuery ML은 데이터에 ML을 제공하며, 다음과 같은 이점을 제공합니다.
- 도구 수가 적어 복잡성이 줄어듭니다.
- Python 기반 ML 프레임워크의 경우 BigQuery에서 모델을 학습시키는 데 대규모 데이터를 이동하고 형식을 지정할 필요가 없으므로 프로덕션 속도가 빨라집니다.
자세한 내용은 BigQuery ML을 사용하여 머신러닝 개발을 가속화하는 방법 동영상을 참조하세요.
생성형 AI 및 선행 학습된 모델
원격 모델을 사용하여 BigQuery ML에서 Vertex AI 모델 및 Cloud AI API에 액세스하여 다음 작업을 수행할 수 있습니다.
- Vertex AI 텍스트 또는 멀티모달 모델을 사용한 텍스트 생성
- Vertex AI 임베딩 모델을 사용한 텍스트 또는 멀티모달 임베딩
- Cloud Natural Language API를 사용한 자연어 처리
- Cloud Translation API를 사용한 기계 번역
- Document AI API를 사용한 문서 처리
- Speech-to-Text API를 사용한 오디오 스크립트 작성
- Cloud Vision API를 사용한 컴퓨터 비전
지원되는 모델
BigQuery ML의 모델은 ML 시스템이 학습 데이터에서 학습한 내용을 나타냅니다. 다음 섹션에서는 BigQuery ML에서 지원하는 모델 유형을 설명합니다.
내부 학습 모델
다음 모델은 BigQuery ML에서 기본 제공됩니다.
- 기여 분석(미리보기)은 하나 이상의 측정기준이 특정 측정항목의 값에 미치는 영향을 확인하는 것입니다. 예를 들어 매장 위치와 판매 날짜가 매장 수익에 미치는 영향을 확인할 수 있습니다. 자세한 내용은 기여 분석 개요를 참조하세요.
- 선형 회귀는 유사한 원격 데이터에서 학습된 모델을 사용하여 새 데이터의 숫자 측정항목 값을 예측하는 것입니다. 라벨은 실수치입니다. 즉, 양수 무한대 또는 음의 무한대 또는 NaN (숫자가 아님)이 될 수 없습니다.
- 로지스틱 회귀는 입력이
low-value
,medium-value
,high-value
중 무엇인지와 같이 2개 이상의 가능한 값을 분류하는 데 사용됩니다. 라벨은 최대 50개의 고유값을 가질 수 있습니다. - K-평균 클러스터링은 데이터 세분화에 사용됩니다. 예를 들어 이 모델은 고객 세그먼트를 식별합니다. k-평균은 비지도 학습 기법이므로 모델 학습에는 라벨이 필요 없으며 데이터를 학습 데이터와 평가 데이터로 분할할 필요도 없습니다.
- 행렬 분해는 제품 추천 시스템을 만드는 데 사용됩니다. 이전 고객 동작, 트랜잭션, 제품 평가를 사용해서 제품 추천을 만들고 맞춤설정된 고객 환경을 위해 이러한 추천을 사용합니다.
- 주요 구성요소 분석(PCA)은 주요 구성요소를 계산하고 이를 사용하여 데이터에 기초하여 변경을 수행하는 프로세스입니다. 일반적으로 각 데이터 포인트를 처음 몇 개의 주요 구성요소에만 투영하여 저차원 데이터를 얻고 데이터 변형을 가능한 한 많이 보존하는 차원 축소에 사용됩니다.
- 시계열은 시계열 예측 수행에 사용됩니다. 이 기능을 사용하여 수백만 개의 시계열 모델을 만들고 이를 예측에 사용할 수 있습니다. 이 모델은 이상치, 계절성, 공휴일을 자동으로 처리합니다.
내부 학습된 모델의 CREATE MODEL
문에 대해 테스트 실행을 수행하여 실행 시 처리할 데이터 양을 추정할 수 있습니다.
외부 학습 모델
다음 모델은 BigQuery ML 외부에 있으며 Vertex AI에서 학습됩니다.
- 심층신경망(DNN)은 분류 및 회귀 모델의 TensorFlow 기반 심층신경망을 만드는 데 사용됩니다.
- 와이드 앤 딥은 추천자 시스템, 검색, 순위 문제와 같이 희소 입력이 있는 일반적인 대규모 회귀 및 분류 문제(많은 특성 값을 가질 수 있는 범주형 특성)에 유용합니다.
- Autoencoder는 희소 데이터 표현을 지원하는 TensorFlow 기반 모델을 만드는 데 사용됩니다. 비지도 이상 감지 및 비선형 차원 축소와 같은 작업에 BigQuery ML의 모델을 사용할 수 있습니다.
- 부스티드 트리는 XGBoost를 기반으로 하는 분류 및 회귀 모델을 만드는 데 사용됩니다.
- 랜덤 포레스트는 학습 시 분류, 회귀, 기타 태스크를 위한 학습 방법 결정 트리를 여러 개 생성합니다.
- AutoML은 테이블 형식 데이터에서 분류 및 회귀 모델을 빠르게 대규모로 빌드하고 배포하는 지도 ML 서비스입니다.
외부 학습된 모델의 CREATE MODEL
문에 대해 테스트 실행을 수행하여 실행 시 처리할 데이터 양을 추정할 수 없습니다.
원격 모델
Vertex AI에 배포된 모델을 사용하는 원격 모델을 BigQuery에서 만들 수 있습니다.
원격 모델의 CREATE MODEL
문에 모델의 HTTPS 엔드포인트를 지정하여 배포된 모델을 참조합니다.
원격 모델의 CREATE MODEL
문은 바이트를 처리하지 않으며 BigQuery 비용이 발생하지 않습니다.
가져온 모델
BigQuery ML을 사용하면 BigQuery 외부에서 학습된 커스텀 모델을 가져온 후 BigQuery 내에서 예측을 수행할 수 있습니다. 다음 모델을 Cloud Storage에서 BigQuery로 가져올 수 있습니다.
- Open Neural Network Exchange(ONNX)는 ML 모델을 나타내는 개방형 표준 형식입니다. ONNX를 사용하면 BigQuery ML에서 PyTorch 및 scikit-learn과 같이 널리 사용되는 ML 프레임워크로 학습된 모델을 사용할 수 있습니다.
- TensorFlow는 ML 및 인공지능을 위한 무료 오픈소스 소프트웨어 라이브러리입니다. 다양한 작업에 TensorFlow를 사용할 수 있지만 특히 심층신경망의 학습 및 추론에 중점을 둡니다. 이전에 학습된 TensorFlow 모델을 BigQuery에 BigQuery ML 모델로 로드한 후 BigQuery ML에서 예측을 수행할 수 있습니다.
- TensorFlow Lite는 휴대기기, 마이크로컨트롤러, 기타 에지 기기에 배포를 위한 TensorFlow의 경량 버전입니다. TensorFlow에서 모델 크기를 줄이고 추론을 더 빠르게 수행하도록 기존 TensorFlow 모델을 최적화합니다.
- XGBoost는 매우 효율적이고 유연하며 이동성이 뛰어나도록 설계된 최적화된 분산 경사 부스팅 라이브러리입니다. 이는 경사 부스팅 프레임워크에서 ML 알고리즘을 구현합니다.
가져온 모델의 CREATE MODEL
문은 바이트를 처리하지 않으며 BigQuery 요금이 청구되지 않습니다.
BigQuery ML에서는 학습 및 예측을 위해 여러 BigQuery 데이터 세트의 데이터가 포함된 모델을 사용할 수 있습니다.
모델 선택 가이드
BigQuery ML 및 Vertex AI
BigQuery ML은 Google Cloud의 AI 및 ML용 엔드 투 엔드 플랫폼인 Vertex AI와 통합됩니다. BigQuery ML 모델을 Model Registry에 등록하여 온라인 예측을 위해 이러한 모델을 엔드포인트에 배포할 수 있습니다. 자세한 내용은 다음을 참조하세요.
- Vertex AI에서 BigQuery ML 모델을 사용하는 방법에 대한 자세한 내용은 Vertex AI를 사용하여 BigQuery ML 모델 관리를 참조하세요.
- Vertex AI에 익숙하지 않고 BigQuery ML과 통합하는 방법에 대해 자세히 알아보려면 BigQuery 사용자를 위한 Vertex AI를 참조하세요.
- Vertex AI 및 BigQuery ML을 사용하여 AI 모델을 간소화하는 방법 동영상을 시청하세요.
BigQuery ML 및 Colab Enterprise
이제 Colab Enterprise 노트북을 사용하여 BigQuery에서 ML 워크플로를 수행할 수 있습니다. 노트북을 사용하면 SQL, Python, 기타 인기 라이브러리 및 언어를 사용하여 ML 작업을 수행할 수 있습니다. 자세한 내용은 노트북 만들기를 참조하세요.
지원되는 리전
BigQuery ML은 BigQuery와 동일한 리전에서 지원됩니다. 자세한 내용은 BigQuery ML 위치를 참조하세요.
가격 책정
모델을 학습하고 모델에 대해 쿼리를 실행하는 데 사용하는 컴퓨팅 리소스에 대한 요금이 청구됩니다. 생성하는 모델 유형은 모델이 학습되는 위치와 해당 작업에 적용되는 가격에 영향을 미칩니다. 모델에 대한 쿼리는 항상 BigQuery에서 실행되며 BigQuery 컴퓨팅 가격 책정을 사용합니다. 원격 모델은 Vertex AI 모델을 호출하므로 원격 모델에 대한 쿼리에도 Vertex AI 요금이 청구됩니다.
학습된 모델에서 사용하는 스토리지에 대해 BigQuery 스토리지 가격 책정에 따라 요금이 청구됩니다.
자세한 내용은 BigQuery ML 가격 책정을 참고하세요.
할당량
BigQuery ML 관련 제한 외에도 BigQuery ML 함수와 CREATE MODEL
문을 사용하는 쿼리에는 BigQuery 쿼리 작업의 할당량과 한도가 적용됩니다.
제한사항
- BigQuery ML은 Standard 버전에서 제공되지 않습니다.
- BigQuery ML은 자동 확장 슬롯을 트리거하지 않습니다. BigQuery 버전에서 BigQuery ML을 사용하려면 기준 슬롯 수를 설정해야 합니다. 이 제한은 내부에서 학습된 모델이 아닌 외부에서 학습된 모델에만 적용됩니다. 모델 유형에 대한 자세한 내용은 지원되는 모델을 참조하세요.
다음 단계
- BigQuery ML을 시작하려면 BigQuery ML에서 머신러닝 모델 만들기를 참조하세요.
- 머신러닝과 BigQuery ML에 대한 자세한 내용은 다음 리소스를 참조하세요.
- Coursera의 Google Cloud를 사용하여 데이터에 머신러닝 적용 과정
- 스마트 분석 및 데이터 관리 학습 프로그램
- 머신러닝 단기집중과정
- 머신러닝 용어집
- Model Registry를 사용하는 MLOps에 대한 자세한 내용은 Vertex AI에서 BigQuery ML 모델 관리를 참조하세요.