O treinamento de modelos de IA tem aumentado como uma das possíveis aplicações da IA na ciência de dados. Mais especificamente, o aprendizado de máquina pode ser feito usando o Snowflake Cortex AI.
Neste guia, abordaremos áreas sobre o que é a IA do Snowflake Cortex e o que ela pode fazer. Além disso, forneceremos um tutorial simples sobre como você pode começar a usar o aprendizado de máquina e a IA usando Python e um pouco de SQL. Se você é novo no Snowflake, confira nosso Curso de introdução ao Snowflake para você se familiarizar com o assunto.
O que é a IA do Snowflake Cortex?
O Snowflake Cortex AI é um recurso avançado integrado ao Snowflake AI Data Cloud, projetado para facilitar as operações de aprendizado de máquina (ML) diretamente no ambiente do Snowflake.
Ele permite a integração perfeita dos modelos Python ML com os dados do Snowflake, possibilitando que as organizações obtenham insights, previsões e análises avançadas de grandes conjuntos de dados, aproveitando a infraestrutura de nuvem.
Vejamos agora os benefícios de usar essas ferramentas em conjunto.
Vantagens de combinar o Snowflake Cortex AI com o Python
Alguns dos principais benefícios do uso do Snowflake Cortex AI são:
Integração com Python: Ele permite que você execute modelos Python ML diretamente no ambiente de computação do Snowflake.
Modelo de hospedagem: Os modelos podem ser hospedados e servidos para inferência.
Não há movimentação de dados: Como os modelos são executados no ambiente do Snowflake, não há necessidade de mover grandes conjuntos de dados para servidores externos.
Casos de uso e aplicativos
Em primeiro lugar, o Snowflake Cortex AI é perfeito para empresas que buscam aprimorar seus recursos de ciência de dados sem um investimento significativo em recursos. Com seu ambiente sem código, até mesmo usuários não técnicos podem desenvolver e implementar facilmente modelos de ML.
Isso é especialmente útil para empresas menores ou startups que talvez não tenham o orçamento para contratar uma equipe de cientistas de dados ou investir em LLMs caros.
Em segundo lugar, ao integrar o Python ao ambiente de computação da Snowflake, os usuários podem aproveitar a vasta biblioteca de ferramentas e algoritmos de aprendizado de máquina do Python disponíveis. Isso significa que eles podem criar modelos mais avançados e precisos sem precisar aprender novas linguagens de programação.
Por fim, as empresas que já adotaram o ambiente Snowflake colherão todos os benefícios do Cortex AI, pois ele se integra perfeitamente ao data warehouse existente, eliminando a necessidade de infraestrutura adicional ou migração de dados.
Com o Snowflake Cortex AI, as empresas podem implementar o aprendizado de máquina de forma fácil e eficiente em seus processos de negócios.
Primeiros passos com o Snowflake Cortex AI
Neste tutorial, você verá o processo de configuração de um pipeline de aprendizado de máquina usando Python e Snowflake Cortex AI.
Pré-requisitos
Antes de começar a trabalhar no ML com o Snowflake Cortex AI, verifique se você atende aos seguintes requisitos:
Configuração de uma conta Snowflake
Primeiro, você precisará de uma instância do Snowflake em que seus dados sejam armazenados e processados. Você pode se inscrever no site da Snowflake.
No formulário de inscrição, preencha todos os detalhes da sua conta e lembre-se de fazer as seguintes seleções na segunda página. Selecione a edição Standard para este tutorial e o Amazon Web Services para fins de simplicidade e reprodutibilidade. Para o servidor, escolha US West (Oregon) para obter a melhor seleção de funções de LLM disponíveis.
Depois que você tiver selecionado essas opções, clique em Get Started para receber o e-mail de ativação. Vá até seu e-mail para ativar sua conta e sua conta Snowflake estará pronta para ser usada.
Requisitos de software
Em seguida, você também precisará atender a alguns outros requisitos do software.
Aqui está uma lista simples de coisas que você deve ter:
Ambiente Python: Python 3.x com os pacotes necessários instalados.
Snowflake: O Snowflake precisa ser instalado a partir do terminal para que você conecte seu ambiente Python à sua conta do Snowflake.
Código VS: Você pode usar um ambiente de desenvolvimento integrado (IDE) que seja adequado para Python. Outras alternativas incluem o DataLab, o Google Colab ou o Jupyter Notebooks.
Antes de você iniciar qualquer análise, instale todos os pacotes relevantes para que seu ambiente de codificação esteja pronto.
Para instalar os pacotes necessários, você pode usar o pip:
Depois de inserir as informações da sua conta, salve o arquivo e crie um arquivo Python ou Jupyter Notebook na mesma pasta.
Conectando-se ao Snowflake
Agora que você já tem tudo pronto, vamos conectar seu ambiente Python ao Snowflake.
Para começar, abra o arquivo Python e importe todas as bibliotecas necessárias. Aqui está o código para você fazer isso:
import os
from dotenv import load_dotenv
from snowflake.snowpark import Session
from snowflake.cortex import Summarize, Complete, ExtractAnswer, Sentiment, Translate, EmbedText768Tecnologia
Em seguida, você terá de carregar as variáveis salvas no arquivo.env que salvou anteriormente. Isso fornecerá à Snowflake as credenciais da sua conta para que você possa fazer login e usar as funções da empresa.
Depois de se conectar usando as variáveis, você precisará configurar uma sessão do Snowflake. Esse é o objeto que tratará de todas as suas solicitações.
# Creates a Snowflake session
snowflake_session = Session.builder.configs(connection_params).create()Tecnologia
Funções LLM do Cortex AI do Snowflake
As funções de LLM no Cortex AI permitem que os usuários aproveitem o potencial dos LLMs sem a necessidade de desenvolver seus próprios modelos de IA.
Essas funções ajudam a fornecer ao usuário médio de análise uma análise baseada em IA por meio de algumas tarefas básicas.
Aqui estão as funções que o Snowflake Cortex tem:
1. SUMMARIZE
A função summarize é usada para gerar um resumo dos dados com base na entrada fornecida.
Ele usa LLMs para identificar informações importantes e apresentá-las em um formato condensado.
Por exemplo, se você tiver um documento de texto longo e quiser ter uma visão geral rápida de seu conteúdo, poderá usar a função resumir para obter um breve resumo que capture os pontos importantes. Isso economiza tempo e permite uma análise mais rápida de grandes quantidades de dados.
O idioma de entrada está atualmente limitado ao inglês no momento da redação deste artigo.
A função de tradução é usada para converter texto de um idioma para outro.
Ele faz uso de algoritmos de aprendizado de máquina e modelos estatísticos para traduzir o texto com precisão.
Isso pode ser útil quando você trabalha com dados ou documentos em diferentes idiomas, pois facilita a comunicação e a compreensão.
Por exemplo, se você tiver um relatório escrito em espanhol e precisar apresentá-lo a um público de língua inglesa, poderá usar a função de tradução para converter rapidamente o texto. Isso elimina a necessidade de tradução manual e economiza tempo.
A função completa é uma função completa que pode ser usada para realizar tarefas específicas. Isso é feito por meio do uso de prompts de frases que orientam o modelo de IA a fornecer as informações necessárias para executar uma tarefa.
Veja o código abaixo para referência:
# Defines the Complete LLM Functiondefcomplete(user_text):
completion = Complete(
model="snowflake-arctic",
prompt=f"Provide 3 relevant keywords from the following text: {user_text}",
session=snowflake_session,)return completionTecnologia
4. EXTRACT_ANSWER
A função extrair resposta fornece uma resposta com base na pergunta fornecida ao modelo. A entrada deve estar em inglês em um formato de cadeia de caracteres ou JSON.
Veja o código abaixo para referência:
# Defines the Extract Answer LLM Functiondefextract_answer(user_text):
answer = ExtractAnswer(
from_text=user_text,
question="What are some reasons why young adult South Koreans love coffee?",
session=snowflake_session,)return answerTecnologia
5. SENTIMENTO
A função de sentimento fornece um número quantitativo com base no sentimento do texto fornecido. Ele gera um valor que varia de -1 a 1. Os valores com -1 são os mais negativos, 1 os mais positivos e os valores em torno de 0 são neutros.
As funções de texto incorporado incluem a função EMBED_TEXT_768 e a função EMBED_TEXT_1024. Eles criam incorporação de vetores de 768 e 1024 dimensões, respectivamente.
Consulte o código abaixo para obter referência sobre as funções do site EMBED_TEXT_768:
# Defines the Embed Text LLM Functiondefembed_text(user_text):
embed_text = EmbedText768(text=user_text, model='snowflake-arctic-embed-m', session=snowflake_session)return embed_textTecnologia
Agora, vamos reuni-las em uma função principal e executá-la em um texto de amostra para que você veja os resultados.
Usei um texto simples e curto para inserir no modelo, conforme mostrado abaixo:
Para facilitar a cópia e a colagem, aqui está o texto:
user_text = """
Young adults in South Korea are embracing coffee as a blend of energy, comfort, and culture.
Coffee isn't just about staying awake during demanding studies or work; it’s a cherished part of daily routines.
With South Korea's bustling café culture, coffee shops have become popular spaces for socializing, studying,
or just taking a break from the fast-paced city life.
The diversity of flavors and trendy cafés also offers a unique,
stylish experience that fits right into the evolving lifestyle of young adults,
who seek both connection and personal moments in the midst of it all.
"""Tecnologia
Agora, vamos executar o código. Isso deve levar apenas alguns segundos.
Aqui estão os resultados:
Como você pode ver, a IA nos forneceu todos os resultados necessários com base no texto que fornecemos. Ele nos forneceu um resumo, traduziu meu texto para o coreano, apresentou três palavras-chave com base no meu texto e forneceu algumas respostas com base nas minhas perguntas.
Funções de aprendizado de máquina de IA do Snowflake Cortex
O Cortex AI também tem funções de ML que podem ser executadas usando apenas SQL. Aqui estão as várias funções que ele oferece.
1. Detecção de anomalias
A detecção de anomalias é essencial para identificar padrões incomuns que não se encaixam no comportamento esperado de seus dados. O Snowflake simplifica a detecção de anomalias, fornecendo funções integradas de aprendizado de máquina com base em uma máquina de aumento de gradiente (GBM) que permite que você identifique rapidamente as exceções em seus conjuntos de dados.
A detecção de anomalias é particularmente útil para tarefas como:
Detecção de fraudes em dados de transações.
Identificação de comportamento incomum do usuário.
Monitoramento de dados de séries temporais para detectar anomalias no desempenho do sistema.
Para realizar a detecção de anomalias, você pode usar a classe ANOMALY_DETECTION (SNOWFLAKE.ML) do Snowflake. Esse comando cria um objeto de modelo de detecção de anomalias. Esta etapa ajusta seu modelo aos dados de treinamento.
Essa é a etapa de previsão real em que os valores discrepantes serão detectados usando o método.
Aqui está um exemplo de como a detecção de anomalias pode ser feita usando um conjunto de dados.
Primeiro, você pode criar um banco de dados acessando Data (Dados) na guia esquerda e, em seguida, Add Data (Adicionar dados), seguido de Load data into a Table (Carregar dados em uma tabela).
Na janela que aparece, clique em + Database (Banco de dados) e dê um nome ao seu banco de dados. Clique em Criar e, na janela pop-up principal, clique em Cancelar.
Isso criará um banco de dados vazio com o qual você poderá trabalhar.
Para iniciar a detecção de anomalias, vá para uma nova planilha SQL, selecione o novo banco de dados como a fonte de dados e cole o código a seguir para criar uma tabela:
CREATE OR REPLACE TABLE historical_sales_data (
store_id NUMBER, item VARCHAR, date TIMESTAMP_NTZ, sales FLOAT, label BOOLEAN,
temperature NUMBER, humidity FLOAT, holiday VARCHAR);
Seu código deve ser inserido em uma planilha SQL semelhante a esta:
Em seguida, você verá os seguintes comandos para criar uma tabela chamada new_sales_data.
// Creating a new table and adding training dataCREATEORREPLACETABLE new_sales_data (
store_id NUMBER, item VARCHAR,date TIMESTAMP_NTZ, sales FLOAT,
temperature NUMBER, humidity FLOAT, holiday VARCHAR);INSERTINTO new_sales_data VALUES(1,'jacket', to_timestamp_ntz('2020-01-16'),6.0,52,0.3,null),(1,'jacket', to_timestamp_ntz('2020-01-17'),20.0,53,0.3,null),(2,'umbrella', to_timestamp_ntz('2020-01-16'),3.0,52,0.3,null),(2,'umbrella', to_timestamp_ntz('2020-01-17'),70.0,53,0.3,null);Tecnologia
Agora, crie o modelo de detecção de anomalias:
// Creating anomaly detection model objectCREATEORREPLACEVIEW view_with_training_data
ASSELECTdate, sales FROM historical_sales_data
WHERE store_id=1AND item='jacket';CREATEORREPLACE SNOWFLAKE.ML.ANOMALY_DETECTION basic_model(
INPUT_DATA =>TABLE(view_with_training_data),
TIMESTAMP_COLNAME =>'date',
TARGET_COLNAME =>'sales',
LABEL_COLNAME =>'');Tecnologia
Isso deve gerar um resultado informando que um modelo foi criado, conforme mostrado abaixo.
Em seguida, vamos usar o modelo de objeto para fazer algumas detecções.
// Perform anomaly detectionCREATEORREPLACEVIEW view_with_data_to_analyze
ASSELECTdate, sales FROM new_sales_data
WHERE store_id=1and item='jacket';CALL basic_model!DETECT_ANOMALIES(
INPUT_DATA =>TABLE(view_with_data_to_analyze),
TIMESTAMP_COLNAME =>'date',
TARGET_COLNAME =>'sales');Tecnologia
Aqui está o resultado da detecção:
2. Classificação
Classificação envolve a categorização de dados em classes predefinidas. Com o Snowflake, você pode classificar os dados diretamente de dentro do Snowflake, eliminando a necessidade de exportar dados para ambientes externos de ML.
Para começar, crie um conjunto de dados de amostra usando o código a seguir:
Para fins de dados de treinamento, vamos criar uma nova exibição.
// Creating view for training dataCREATEORREPLACEview binary_classification_view ASSELECT user_interest_score, user_rating, label
FROM training_purchase_data;SELECT*FROM binary_classification_view ORDERBY RANDOM(42)LIMIT5;Tecnologia
Essa exibição deve gerar os seguintes resultados:
Em seguida, vamos treinar o modelo com base em nossos dados de treinamento:
// Training a binary classification modelCREATEORREPLACE SNOWFLAKE.ML.CLASSIFICATION model_binary(
INPUT_DATA => SYSTEM$REFERENCE('view','binary_classification_view'),
TARGET_COLNAME =>'label');Tecnologia
Para realizar a classificação, use o método PREDICT:
// Performing prediction using PREDICT methodSELECT model_binary!PREDICT(INPUT_DATA => {*})AS prediction FROM prediction_purchase_data;Tecnologia
Aqui está o resultado da previsão:
Para formatá-lo bem, use esta instrução SQL:
// Formatting SQL predictionsSELECT*, model_binary!PREDICT(INPUT_DATA => {*})AS predictions FROM prediction_purchase_data;Tecnologia
Você deve chegar a esse formato de saída simples para as previsões:
3. Principais percepções
O Top Insights é uma ferramenta de monitoramento que procura flutuações em suas métricas ao longo do tempo por meio de uma análise de série temporal. Usando um modelo de árvore de decisão, o Top Insights pode identificar os fatores mais importantes que contribuem para o aumento ou a redução de uma determinada métrica.
Vamos dar uma olhada em um exemplo de análise de série temporal usando essa função.
Em primeiro lugar, vamos criar um conjunto de dados:
Isso deve fornecer a você os seguintes resultados:
4. Previsão
A previsão é crucial quando você precisa prever valores futuros com base em dados históricos. Seja na previsão de vendas, no consumo de energia ou no tráfego da Web, as funções integradas do Snowflake tornam essas tarefas muito mais simples.
Para o nosso exemplo, vamos fazer uma previsão em uma única série:
Em seguida, vamos separar os dados de treinamento do conjunto de dados.
// Creating a view for training dataCREATEORREPLACEVIEW v1 ASSELECTdate, sales
FROM sales_data WHERE store_id=1AND item='jacket';SELECT*FROM v1;Tecnologia
Antes de iniciar a previsão, você precisará treinar o modelo com base nos dados de treinamento que selecionou.
Veja como você pode fazer isso:
// Training a forecasting modelCREATE SNOWFLAKE.ML.FORECAST model1(
INPUT_DATA =>TABLE(v1),
TIMESTAMP_COLNAME =>'date',
TARGET_COLNAME =>'sales');Tecnologia
Por fim, para a previsão, você pode chamar o método FORECAST para realizar a etapa de previsão.
// Performing the forecast by calling the FORECAST methodcall model1!FORECAST(FORECASTING_PERIODS =>5);Tecnologia
Esse é o resultado de nossa previsão.
Monitoramento de modelos de ML no Snowflake
Você pode monitorar o desempenho do modelo criando painéis no Snowflake usando integrações de terceiros (como o Tableau) ou consultando os registros do Snowflake. Algumas métricas úteis, como exatidão, precisão e recuperação, podem ser usadas para rastrear modelos.
Conclusão
O Snowflake Cortex AI simplifica o aprendizado de máquina, permitindo a integração perfeita de modelos da plataforma Snowflake. Este tutorial orientou você no uso das funções do Snowflake Cortex AI e do Snowflake Cortex ML.
Essa solução aproveita a escalabilidade do Snowflake e a flexibilidade do Python, tornando-a ideal para organizações que desejam implementar o aprendizado de máquina sem mover os dados para fora da nuvem.
Perguntas frequentes sobre aprendizado de máquina com Python e Snowflake Cortex
O Python é bom para aprendizado de máquina e IA?⌄
O Python é bom para aprendizado de máquina e IA por suas bibliotecas avançadas, como PyTorch, TensorFlow e Keras. As funções de IA e ML do Snowflake também podem ser acessadas por meio do Python.
Como usar o Python para IA e aprendizado de máquina?⌄
O Python pode ser usado para IA e aprendizado de máquina por meio de bibliotecas integradas ou das funções LLM e ML do Snowflake.
Como usar as funções baseadas em ML do Snowflake Cortex?⌄
As funções baseadas no Snowflake Cortex ML podem ser usadas chamando os respectivos métodos de cada função usando SQL.
O que são modelos de IA Snowflake?⌄
Os modelos de IA do Snowflake são modelos de linguagem grandes que alimentam o Snowflake Cortex e suas respectivas funções.
Quais são alguns exemplos de aprendizado de máquina do Snowflake?⌄
As funções de aprendizado de máquina do Snowflake podem ser aplicadas a vários aplicativos, como detecção de anomalias, previsão, obtenção de insights importantes e classificação.
Sou Austin, blogueiro e escritor de tecnologia com anos de experiência como cientista de dados e analista de dados na área de saúde. Iniciando minha jornada tecnológica com formação em biologia, agora ajudo outras pessoas a fazer a mesma transição por meio do meu blog de tecnologia. Minha paixão por tecnologia me levou a contribuir por escrito para dezenas de empresas de SaaS, inspirando outras pessoas e compartilhando minhas experiências.
Online ML: Aprende de forma adaptativa a partir de pontos de dados em tempo real, fornecendo previsões oportunas e precisas em ambientes ricos em dados.
Mergulhe na IA explicável (XAI) e saiba como criar confiança em sistemas de IA com LIME e SHAP para interpretabilidade de modelos. Entenda a importância da transparência e da justiça nas decisões baseadas em IA.
Aprenda a arte do machine learning e você se tornará um especialista em previsão, reconhecimento de padrões e os primórdios da aprendizagem profunda e por reforço.
O treinamento de modelos de IA tem aumentado como uma das possíveis aplicações da IA na ciência de dados. Mais especificamente, o aprendizado de máquina pode ser feito usando o Snowflake Cortex AI.
Neste guia, abordaremos áreas sobre o que é a IA do Snowflake Cortex e o que ela pode fazer. Além disso, forneceremos um tutorial simples sobre como você pode começar a usar o aprendizado de máquina e a IA usando Python e um pouco de SQL. Se você é novo no Snowflake, confira nosso Curso de introdução ao Snowflake para você se familiarizar com o assunto.
O que é a IA do Snowflake Cortex?
O Snowflake Cortex AI é um recurso avançado integrado ao Snowflake AI Data Cloud, projetado para facilitar as operações de aprendizado de máquina (ML) diretamente no ambiente do Snowflake.
Ele permite a integração perfeita dos modelos Python ML com os dados do Snowflake, possibilitando que as organizações obtenham insights, previsões e análises avançadas de grandes conjuntos de dados, aproveitando a infraestrutura de nuvem.
Fonte: IA do Cortex Snowflake
Principais recursos do Snowflake Cortex AI:
O Snowflake Cortex é composto por duas partes principais: funções de ML e funções de ML.
Para as funções do LLM, você tem:
Veremos cada função em detalhes mais adiante.
Para as funções de ML, você tem:
Você quer saber onde aprender o Snowflake e suas funções? Nosso tutorial de floco de neve para iniciantes Tutorial de floco de neve para iniciantes e Guia de certificação do Snowflake ajudarão você.
Por que usar o Snowflake Cortex AI com Python?
Vejamos agora os benefícios de usar essas ferramentas em conjunto.
Vantagens de combinar o Snowflake Cortex AI com o Python
Alguns dos principais benefícios do uso do Snowflake Cortex AI são:
Casos de uso e aplicativos
Em primeiro lugar, o Snowflake Cortex AI é perfeito para empresas que buscam aprimorar seus recursos de ciência de dados sem um investimento significativo em recursos. Com seu ambiente sem código, até mesmo usuários não técnicos podem desenvolver e implementar facilmente modelos de ML.
Isso é especialmente útil para empresas menores ou startups que talvez não tenham o orçamento para contratar uma equipe de cientistas de dados ou investir em LLMs caros.
Em segundo lugar, ao integrar o Python ao ambiente de computação da Snowflake, os usuários podem aproveitar a vasta biblioteca de ferramentas e algoritmos de aprendizado de máquina do Python disponíveis. Isso significa que eles podem criar modelos mais avançados e precisos sem precisar aprender novas linguagens de programação.
Por fim, as empresas que já adotaram o ambiente Snowflake colherão todos os benefícios do Cortex AI, pois ele se integra perfeitamente ao data warehouse existente, eliminando a necessidade de infraestrutura adicional ou migração de dados.
Com o Snowflake Cortex AI, as empresas podem implementar o aprendizado de máquina de forma fácil e eficiente em seus processos de negócios.
Primeiros passos com o Snowflake Cortex AI
Neste tutorial, você verá o processo de configuração de um pipeline de aprendizado de máquina usando Python e Snowflake Cortex AI.
Pré-requisitos
Antes de começar a trabalhar no ML com o Snowflake Cortex AI, verifique se você atende aos seguintes requisitos:
Configuração de uma conta Snowflake
Primeiro, você precisará de uma instância do Snowflake em que seus dados sejam armazenados e processados. Você pode se inscrever no site da Snowflake.
No formulário de inscrição, preencha todos os detalhes da sua conta e lembre-se de fazer as seguintes seleções na segunda página. Selecione a edição Standard para este tutorial e o Amazon Web Services para fins de simplicidade e reprodutibilidade. Para o servidor, escolha US West (Oregon) para obter a melhor seleção de funções de LLM disponíveis.
Depois que você tiver selecionado essas opções, clique em Get Started para receber o e-mail de ativação. Vá até seu e-mail para ativar sua conta e sua conta Snowflake estará pronta para ser usada.
Requisitos de software
Em seguida, você também precisará atender a alguns outros requisitos do software.
Aqui está uma lista simples de coisas que você deve ter:
Antes de você iniciar qualquer análise, instale todos os pacotes relevantes para que seu ambiente de codificação esteja pronto.
Para instalar os pacotes necessários, você pode usar o pip:
Depois de instalar as bibliotecas, você precisará configurar a pasta de trabalho e os arquivos para começar.
Criei uma pasta chamada Cortex AI Tutorial e incluí um novo arquivo
.envcom as seguintes informações:Depois de inserir as informações da sua conta, salve o arquivo e crie um arquivo Python ou Jupyter Notebook na mesma pasta.
Conectando-se ao Snowflake
Agora que você já tem tudo pronto, vamos conectar seu ambiente Python ao Snowflake.
Para começar, abra o arquivo Python e importe todas as bibliotecas necessárias. Aqui está o código para você fazer isso:
Em seguida, você terá de carregar as variáveis salvas no arquivo.env que salvou anteriormente. Isso fornecerá à Snowflake as credenciais da sua conta para que você possa fazer login e usar as funções da empresa.
Depois de se conectar usando as variáveis, você precisará configurar uma sessão do Snowflake. Esse é o objeto que tratará de todas as suas solicitações.
Funções LLM do Cortex AI do Snowflake
As funções de LLM no Cortex AI permitem que os usuários aproveitem o potencial dos LLMs sem a necessidade de desenvolver seus próprios modelos de IA.
Essas funções ajudam a fornecer ao usuário médio de análise uma análise baseada em IA por meio de algumas tarefas básicas.
Aqui estão as funções que o Snowflake Cortex tem:
1. SUMMARIZE
A função summarize é usada para gerar um resumo dos dados com base na entrada fornecida.
Ele usa LLMs para identificar informações importantes e apresentá-las em um formato condensado.
Por exemplo, se você tiver um documento de texto longo e quiser ter uma visão geral rápida de seu conteúdo, poderá usar a função resumir para obter um breve resumo que capture os pontos importantes. Isso economiza tempo e permite uma análise mais rápida de grandes quantidades de dados.
O idioma de entrada está atualmente limitado ao inglês no momento da redação deste artigo.
Veja o código abaixo para referência:
2. TRADUZIR
A função de tradução é usada para converter texto de um idioma para outro.
Ele faz uso de algoritmos de aprendizado de máquina e modelos estatísticos para traduzir o texto com precisão.
Isso pode ser útil quando você trabalha com dados ou documentos em diferentes idiomas, pois facilita a comunicação e a compreensão.
Por exemplo, se você tiver um relatório escrito em espanhol e precisar apresentá-lo a um público de língua inglesa, poderá usar a função de tradução para converter rapidamente o texto. Isso elimina a necessidade de tradução manual e economiza tempo.
Veja o código abaixo para referência:
3. COMPLETO
A função completa é uma função completa que pode ser usada para realizar tarefas específicas. Isso é feito por meio do uso de prompts de frases que orientam o modelo de IA a fornecer as informações necessárias para executar uma tarefa.
Veja o código abaixo para referência:
4. EXTRACT_ANSWER
A função extrair resposta fornece uma resposta com base na pergunta fornecida ao modelo. A entrada deve estar em inglês em um formato de cadeia de caracteres ou JSON.
Veja o código abaixo para referência:
5. SENTIMENTO
A função de sentimento fornece um número quantitativo com base no sentimento do texto fornecido. Ele gera um valor que varia de -1 a 1. Os valores com -1 são os mais negativos, 1 os mais positivos e os valores em torno de 0 são neutros.
Veja o código abaixo para referência:
6. EMBED_TEXT
As funções de texto incorporado incluem a função
EMBED_TEXT_768e a funçãoEMBED_TEXT_1024. Eles criam incorporação de vetores de 768 e 1024 dimensões, respectivamente.Consulte o código abaixo para obter referência sobre as funções do site
EMBED_TEXT_768:Agora, vamos reuni-las em uma função principal e executá-la em um texto de amostra para que você veja os resultados.
Usei um texto simples e curto para inserir no modelo, conforme mostrado abaixo:
Para facilitar a cópia e a colagem, aqui está o texto:
Agora, vamos executar o código. Isso deve levar apenas alguns segundos.
Aqui estão os resultados:
Como você pode ver, a IA nos forneceu todos os resultados necessários com base no texto que fornecemos. Ele nos forneceu um resumo, traduziu meu texto para o coreano, apresentou três palavras-chave com base no meu texto e forneceu algumas respostas com base nas minhas perguntas.
Funções de aprendizado de máquina de IA do Snowflake Cortex
O Cortex AI também tem funções de ML que podem ser executadas usando apenas SQL. Aqui estão as várias funções que ele oferece.
1. Detecção de anomalias
A detecção de anomalias é essencial para identificar padrões incomuns que não se encaixam no comportamento esperado de seus dados. O Snowflake simplifica a detecção de anomalias, fornecendo funções integradas de aprendizado de máquina com base em uma máquina de aumento de gradiente (GBM) que permite que você identifique rapidamente as exceções em seus conjuntos de dados.
A detecção de anomalias é particularmente útil para tarefas como:
Para realizar a detecção de anomalias, você pode usar a classe ANOMALY_DETECTION (SNOWFLAKE.ML) do Snowflake. Esse comando cria um objeto de modelo de detecção de anomalias. Esta etapa ajusta seu modelo aos dados de treinamento.
Veja como você pode usá-lo:
Depois de criar o objeto, você pode usar o método <model_name>!DETECT_ANOMALIES para executar a detecção de anomalias,
Essa é a etapa de previsão real em que os valores discrepantes serão detectados usando o método.
Aqui está um exemplo de como a detecção de anomalias pode ser feita usando um conjunto de dados.
Primeiro, você pode criar um banco de dados acessando Data (Dados) na guia esquerda e, em seguida, Add Data (Adicionar dados), seguido de Load data into a Table (Carregar dados em uma tabela).
Na janela que aparece, clique em + Database (Banco de dados) e dê um nome ao seu banco de dados. Clique em Criar e, na janela pop-up principal, clique em Cancelar.
Isso criará um banco de dados vazio com o qual você poderá trabalhar.
Os exemplos abaixo foram adaptados da Documentação do Snowflake.
Para iniciar a detecção de anomalias, vá para uma nova planilha SQL, selecione o novo banco de dados como a fonte de dados e cole o código a seguir para criar uma tabela:
CREATE OR REPLACE TABLE historical_sales_data (
store_id NUMBER, item VARCHAR, date TIMESTAMP_NTZ, sales FLOAT, label BOOLEAN,
temperature NUMBER, humidity FLOAT, holiday VARCHAR);
Seu código deve ser inserido em uma planilha SQL semelhante a esta:
Em seguida, você verá os seguintes comandos para criar uma tabela chamada
new_sales_data.Agora, crie o modelo de detecção de anomalias:
Isso deve gerar um resultado informando que um modelo foi criado, conforme mostrado abaixo.
Em seguida, vamos usar o modelo de objeto para fazer algumas detecções.
Aqui está o resultado da detecção:
2. Classificação
Classificação envolve a categorização de dados em classes predefinidas. Com o Snowflake, você pode classificar os dados diretamente de dentro do Snowflake, eliminando a necessidade de exportar dados para ambientes externos de ML.
Para começar, crie um conjunto de dados de amostra usando o código a seguir:
Para fins de dados de treinamento, vamos criar uma nova exibição.
Essa exibição deve gerar os seguintes resultados:
Em seguida, vamos treinar o modelo com base em nossos dados de treinamento:
Para realizar a classificação, use o método
PREDICT:Aqui está o resultado da previsão:
Para formatá-lo bem, use esta instrução SQL:
Você deve chegar a esse formato de saída simples para as previsões:
3. Principais percepções
O Top Insights é uma ferramenta de monitoramento que procura flutuações em suas métricas ao longo do tempo por meio de uma análise de série temporal. Usando um modelo de árvore de decisão, o Top Insights pode identificar os fatores mais importantes que contribuem para o aumento ou a redução de uma determinada métrica.
Vamos dar uma olhada em um exemplo de análise de série temporal usando essa função.
Em primeiro lugar, vamos criar um conjunto de dados:
Em seguida, precisamos criar o objeto de modelo para a previsão. Isso é necessário para que você possa acessar o método
GET_DRIVERS.Por fim, para a previsão, chame o método GET_DRIVERS.
Isso deve fornecer a você os seguintes resultados:
4. Previsão
A previsão é crucial quando você precisa prever valores futuros com base em dados históricos. Seja na previsão de vendas, no consumo de energia ou no tráfego da Web, as funções integradas do Snowflake tornam essas tarefas muito mais simples.
Para o nosso exemplo, vamos fazer uma previsão em uma única série:
Em seguida, vamos separar os dados de treinamento do conjunto de dados.
Antes de iniciar a previsão, você precisará treinar o modelo com base nos dados de treinamento que selecionou.
Veja como você pode fazer isso:
Por fim, para a previsão, você pode chamar o método FORECAST para realizar a etapa de previsão.
Esse é o resultado de nossa previsão.
Monitoramento de modelos de ML no Snowflake
Você pode monitorar o desempenho do modelo criando painéis no Snowflake usando integrações de terceiros (como o Tableau) ou consultando os registros do Snowflake. Algumas métricas úteis, como exatidão, precisão e recuperação, podem ser usadas para rastrear modelos.
Conclusão
O Snowflake Cortex AI simplifica o aprendizado de máquina, permitindo a integração perfeita de modelos da plataforma Snowflake. Este tutorial orientou você no uso das funções do Snowflake Cortex AI e do Snowflake Cortex ML.
Essa solução aproveita a escalabilidade do Snowflake e a flexibilidade do Python, tornando-a ideal para organizações que desejam implementar o aprendizado de máquina sem mover os dados para fora da nuvem.
Você está procurando mais recursos sobre o Snowflake? Você vai gostar do nosso Tutorial para iniciantes sobre flocos de neve e do nosso Guia do Snowpark. Se você estiver procurando por algo mais abrangente, então o Introdução ao Snowflake pode ser o curso certo para você.