Introdução à IA e ao ML no BigQuery
Com o BigQuery ML, é possível criar e executar modelos de machine learning (ML) usando consultas do GoogleSQL. Os modelos do BigQuery ML são armazenados em conjuntos de dados do BigQuery, de forma semelhante a tabelas e visualizações. O BigQuery ML também permite acessar modelos da Vertex AI e APIs de IA do Cloud para realizar tarefas de inteligência artificial (IA), como geração de texto ou tradução automática. Gemini para o Google Cloud também oferece assistência com tecnologia de IA para tarefas do BigQuery. Para conferir uma lista de recursos com tecnologia de IA no BigQuery, consulte Visão geral do Gemini no BigQuery.
Normalmente, executar ML ou IA em grandes conjuntos de dados requer programação detalhada e conhecimento de frameworks de ML. Esses pré-requisitos restringem o desenvolvimento de soluções a um grupo muito pequeno de pessoas dentro da empresa. Além disso, excluem desse grupo seleto os analistas de dados que, mesmo tendo capacidade de compreender os dados, têm conhecimento limitado de ML e de programação. No entanto, com o BigQuery ML, os usuários de SQL podem usar ferramentas e habilidades SQL para criar e avaliar modelos e gerar resultados com base nos LLMs e nas APIs do Cloud AI.
É possível trabalhar com a capacidade do BigQuery ML usando o seguinte:
- Console do Google Cloud
- a ferramenta de linha de comando bq;
- a API REST do BigQuery;
- Notebooks do Colab Enterprise integrados no BigQuery
- Ferramentas externas, como um notebook Jupyter ou uma plataforma de Business Intelligence
Vantagens do BigQuery ML
O BigQuery ML oferece várias vantagens em relação a outras abordagens no uso de ML ou IA com um data warehouse baseado em nuvem:
- O BigQuery ML facilita o acesso ao ML e à IA ao capacitar os analistas de dados, que são os principais usuários do armazenamento de dados, a criar e executar modelos com o uso de ferramentas e planilhas de inteligência empresarial. A análise preditiva pode orientar a tomada de decisões de negócios em toda a organização.
- Não é preciso programar uma solução de ML ou IA usando Python ou Java. Você treina modelos e acessa recursos de IA usando o SQL, uma linguagem familiar dos analistas de dados.
O BigQuery ML acelera o processo de desenvolvimento e inovação do modelo, eliminando a necessidade de migrar dados do local de armazenamento de dados. Em vez disso, o BigQuery ML traz ML para os dados, o que oferece as seguintes vantagens:
- Reduz a complexidade porque são necessárias menos ferramentas.
- Maior velocidade para a produção porque não é necessário mover e formatar grandes quantidades de dados para frameworks de ML baseados em Python para treinar um modelo no BigQuery.
Para mais informações, assista ao vídeo Como acelerar o desenvolvimento de machine learning com o BigQuery ML.
IA generativa e modelos pré-treinados
É possível usar modelos remotos para acessar modelos da Vertex AI e APIs do Cloud AI do BigQuery ML e realizar as seguintes tarefas:
- Geração de texto usando modelos de texto ou multimodais da Vertex AI.
- Incorporação de texto ou multimodal usando modelos de embedding da Vertex AI.
- Processamento de linguagem natural por meio da API Cloud Natural Language.
- Tradução automática usando a API Cloud Translation.
- Processamento de documentos usando a API Document AI.
- Transcrição de áudio usando a API Speech-to-Text.
- Visão computacional usando a API Cloud Vision.
Modelos compatíveis
Um modelo no BigQuery ML representa o que um sistema de ML aprendeu com os dados de treinamento. Nas seções a seguir, descrevemos os tipos de modelos compatíveis com o BigQuery ML.
Modelos treinados internamente
Os modelos a seguir são integrados ao BigQuery ML:
- A análise de contribuição (pré-lançamento) serve para determinar o efeito de uma ou mais dimensões no valor de uma determinada métrica. Por exemplo, conferir o efeito da localização e da data de vendas na receita da loja. Para mais informações, consulte Visão geral da análise de contribuição.
- A regressão linear é usada para prever o valor de uma métrica numérica para novos dados usando um modelo treinado com dados remotos semelhantes. Os rótulos têm valor real, o que significa que não podem ser infinito positivo ou negativo ou um NaN (não é um número).
- A regressão logística é para a classificação de dois ou mais valores possíveis, por exemplo, se uma entrada é
low-value
,medium-value
ouhigh-value
. Os rótulos podem ter até 50 valores exclusivos. - Cluster K-means para segmentação de dados. Por exemplo, este modelo identifica segmentos de clientes. K-means é uma técnica de aprendizado não supervisionada, portanto, o treinamento do modelo não requer rótulos ou dados de divisão para treinamento ou avaliação.
- Fatoração de matrizes para criar sistemas de recomendação de produtos. É possível criar recomendações de produtos com base no histórico de comportamento do cliente, transações e classificações do produto e usá-las para experiências personalizadas do cliente.
- A análise de componentes principais (PCA, na sigla em inglês) é o processo de calcular os componentes principais e usá-los para realizar uma alteração de base nos dados. Ela é comumente usada para redução de dimensionalidade, projetando cada ponto de dados apenas nos primeiros componentes principais para receber dados de menor dimensão, preservando o máximo possível da variação dos dados.
- Série temporal para realizar previsões de série temporal. É possível usar esse recurso para criar milhões de modelos de série temporal e usá-los para previsão. O modelo lida automaticamente com anomalias, sazonalidade e feriados.
É possível executar uma simulação nas
instruções CREATE MODEL
para modelos treinados internamente para ter uma estimativa de
quantos dados eles vão processar se forem executados.
Modelos treinados externamente
Os modelos a seguir são externos ao BigQuery ML e treinados na Vertex AI:
- A rede neural profunda (DNN) é para criação de redes neurais profundas baseadas no TensorFlow para modelos de regressão e classificação.
- Amplitude e profundidade é útil para problemas genéricos de regressão e classificação em larga escala com entradas esparsas (recursos categóricos com um grande número de valores de recursos possíveis), como sistemas de recomendação, pesquisa e problemas de classificação.
- O Autoencoder é usado para criar modelos baseados no TensorFlow com suporte a representações de dados esparsos. Você pode usar os modelos no BigQuery ML para tarefas como detecção de anomalias não supervisionadas e redução da dimensionalidade não linear.
- A árvore otimizada é para criar modelos de classificação e regressão baseados no XGBoost.
- A floresta aleatória é usada para construir várias árvores de decisão de método de aprendizado para classificação, regressão e outras tarefas no momento do treinamento.
- O AutoML é um serviço supervisionado de ML que cria e implanta modelos de classificação e regressão em dados tabulares em alta velocidade e escala.
Não é possível executar uma simulação nas
instruções CREATE MODEL
de modelos treinados externamente para ter uma estimativa de
quantos dados eles vão processar se forem executados.
Modelos remotos
É possível criar
modelos remotos
no BigQuery que usam modelos implantados na Vertex AI.
Para fazer referência ao modelo implantado, especifique o endpoint HTTPS na instrução CREATE MODEL
do modelo remoto.
As instruções CREATE MODEL
para modelos remotos não processam bytes e não geram cobranças do BigQuery.
Modelos importados
O BigQuery ML permite importar modelos personalizados treinados fora do BigQuery e, em seguida, realizar previsões no BigQuery. É possível importar os seguintes modelos para o BigQuery pelo Cloud Storage:
- O Open Neural Network Exchange (ONNX) é um formato padrão aberto para representar modelos de ML. Com o ONNX, é possível disponibilizar no BigQuery ML os modelos treinados com frameworks de ML conhecidos, como PyTorch e scikit-learn.
- O TensorFlow é uma biblioteca de software de código aberto para ML e inteligência artificial. É possível usar o TensorFlow em uma variedade de tarefas, mas ele tem um foco específico no treinamento e na inferência de redes neurais profundas. É possível carregar modelos do TensorFlow treinados anteriormente no BigQuery como modelos do BigQuery ML e, em seguida, realizar a previsão no BigQuery ML.
- O TensorFlow Lite é uma versão leve do TensorFlow para implantação em dispositivos móveis, microcontroladores e outros dispositivos de borda. O TensorFlow otimiza modelos para reduzir o tamanho e a inferência mais rápida.
- O XGBoost é uma biblioteca otimizada de otimização de gradiente distribuído projetada para ser altamente eficiente, flexível e portátil. Ele implementa algoritmos de ML no framework Gradient Boosting.
As instruções CREATE MODEL
para modelos importados não processam bytes e não geram cobranças do BigQuery.
No BigQuery ML, é possível usar um modelo com dados de vários conjuntos de dados do BigQuery para treinamento e predição.
Guia de seleção de modelos
Faça o download da árvore de decisões de seleção do modelo.
BigQuery ML e Vertex AI
O BigQuery ML se integra à Vertex AI, que é a plataforma completa para IA e ML no Google Cloud. É possível registrar seus modelos do BigQuery ML no Model Registry para implantar esses modelos em endpoints para previsão on-line. Para ver mais informações, consulte os seguintes tópicos:
- Para saber mais sobre como usar os modelos do BigQuery ML com a Vertex AI, consulte Gerenciar modelos do BigQuery ML com a Vertex AI
- Se você não estiver familiarizado com a Vertex AI e quiser saber mais sobre como ela se integra ao BigQuery ML, consulte Vertex AI para usuários do BigQuery.
- Assista ao vídeo Como simplificar modelos de IA com a Vertex AI e o BigQuery ML.
BigQuery ML e Colab Enterprise
Agora é possível usar os notebooks do Colab Enterprise para realizar fluxos de trabalho de ML no BigQuery. Com os notebooks, você usa SQL, Python e outras bibliotecas e linguagens conhecidas para realizar tarefas de ML. Para mais informações, consulte Criar notebooks.
Regiões aceitas
O BigQuery ML é compatível com as mesmas regiões que o BigQuery. Para mais informações, consulte Locais do BigQuery ML.
Preços
Você vai receber cobranças pelos recursos de computação usados para treinar modelos e executar consultas neles. O tipo de modelo que você cria afeta onde o modelo é treinado e o preço aplicado a essa operação. As consultas em modelos são sempre executadas no BigQuery e usam Preços de computação do BigQuery. Como os modelos remotos fazem chamadas para modelos da Vertex AI, as consultas a modelos remotos também geram cobranças da Vertex AI.
Você vai receber cobranças pelo armazenamento usado pelos modelos treinados, de acordo com os preços de armazenamento do BigQuery.
Para mais informações, consulte Preços do BigQuery ML.
Cotas
Além dos limites específicos do BigQuery ML, as consultas que usam as funções do BigQuery ML e as instruções CREATE MODEL
estão sujeitas às cotas e aos limites dos jobs de consulta do BigQuery.
Limitações
- O BigQuery ML não está disponível na edição Standard.
- O BigQuery ML não aciona slots de escalonamento automático. É necessário definir uma quantidade de referência de slots para usar o BigQuery ML com uma edição do BigQuery. Essa limitação se aplica somente a modelos treinados externamente, não a modelos treinados internamente. Para mais informações sobre os tipos de modelos, consulte Modelos compatíveis.
A seguir
- Para começar a usar o BigQuery ML, consulte Criar modelos de machine learning no BigQuery ML.
- Para saber mais sobre machine learning e o BigQuery ML, consulte os seguintes
recursos:
- Curso Applying Machine Learning to your Data with Google Cloud no Coursera
- Programa de treinamento Análises inteligentes e gerenciamento de dados
- Curso intensivo de machine learning
- Glossário de machine learning
- Para saber mais sobre MLOps com o Model Registry, consulte Gerenciar modelos do BigQuery ML na Vertex AI.