Snowpark ML: Machine Learning Toolkit para Snowflake¶
O Snowpark ML é um conjunto de ferramentas, incluindo SDKs e infraestrutura subjacente, para criar e implantar modelos de aprendizado de máquina. Com Snowpark ML, você pode pré-processar dados e treinar, gerenciar e implantar modelos de ML, tudo isso dentro do Snowflake. Você se beneficia do desempenho, escalabilidade, estabilidade e governança comprovados do Snowflake em todas as etapas do fluxo de trabalho de aprendizado de máquina.
O Snowpark ML funciona com o Snowpark Python, permitindo que você use o Snowpark DataFrames para armazenar seus dados de treinamento ou teste e receber seus resultados de previsão.
Você pode usar o Snowpark ML ao escrever aplicativos cliente Snowpark Python em um IDE compatível de sua escolha.
Principais componentes do Snowpark ML¶
Snowpark ML oferece APIs para dar suporte a cada estágio de um processo de desenvolvimento e implementação de aprendizado de máquina do início ao fim, e isso inclui dois componentes: Snowpark ML Development e Snowpark ML Ops.
Snowpark ML Development¶
O Snowpark ML inclui uma coleção de APIs de Python que permitem desenvolver modelos com eficiência dentro do Snowflake.
O pacote de modelagem (
snowflake.ml.modeling
), que fornece APIs para pré-processamento de dados, engenharia de recursos e treinamento de modelo. O pacote também inclui um módulo de pré-processamento com APIs que aproveitam os recursos de computação fornecidos por um Warehouses otimizados para Snowpark para fornecer transformações de dados escalonáveis. Essas APIs são baseados bibliotecas de ML conhecidas, incluindo scikit-learn, xgboost e lightgbm.Um próximo conjunto de conectores de freamework que fornecem provisionamento de dados otimizado, seguro e de alto desempenho para as estruturas Pytorch e Tensorflow em seus formatos nativos de carregador de dados. Para acesso antecipado à documentação, entre em contato com o representante da Snowflake.
Snowpark ML Ops¶
Snowpark ML Ops, um conjunto de recursos futuro, complementa API do Snowpark ML Development fornecendo recursos de gerenciamento de modelo e implantação integrada no Snowflake. Para acesso antecipado à documentação desses recursos, entre em contato com o representante da Snowflake.
O FileSet API fornece uma API compativel com Python fsspec para materializar dados em um estágio interno do Snowflake a partir de uma consulta ou Snowpark DataFrame, juntamente com vários métodos de conveniência para trabalhar com esses dados.
O registro do modelo é uma API de Python para gerenciar modelos no Snowflake e implantá-los nos warehouses do Snowflake como funções vetorizadas definidas pelo usuário (UDFs).
Introdução ao Snowpark ML¶
Todos os recursos Snowpark ML estão disponíveis em uma única biblioteca. Você pode instalá-la a partir de um arquivo que fornecemos por meio de um canal Conda local ou de PyPi. Um canal oficial Conda estará disponível no futuro; no entanto, baixar o pacote diretamente de nós continuará sendo a melhor maneira de obter a versão mais recente.
Configuração do Snowpark Python¶
Snowpark ML funciona com Snowpark Python. Consulte Configuração do seu ambiente de desenvolvimento para o Snowpark Python para obter instruções de instalação e configuração do Snowpark Python.
Instalação do Snowpark ML de um canal Conda local¶
Primeiro, crie um canal Conda local. O Conda receberá arquivos deste canal e os instalará em seu ambiente conda. Você só precisa fazer essas etapas uma vez.
Instale o conda-build.
conda install conda-build
Crie um diretório em algum lugar do seu computador para armazenar os arquivos do canal. Você pode usar qualquer nome.
mkdir -p ~/conda-snowpark-ml
Baixe a última versão do Snowpark ML de nosso Google Drive. Cada versão está em sua própria pasta. Abra a pasta que contém a versão desejada e faça o download do arquivo
.tar.bz2
nessa pasta. Salve-o na pasta do canal que você criou na etapa anterior (por exemplo,~/conda-snowpark-ml
).Crie o canal usando
conda index
.conda index ~/conda-snowpark-ml
Quando uma nova versão do Snowpark ML for lançada, baixe-a para a mesma pasta e emita o mesmo comando
conda index
para disponibilizá-lo no canal.
Depois de criar um canal Conda local, você pode instalar o Snowpark ML no seu projeto. Siga estes passos.
Ative o ambiente Conda que deseja usar (no exemplo,
ml-env
).conda activate ml-env
Instale o pacote do canal local. O pacote do Snowflake ML depende de outros pacotes do Snowflake, portanto, especifique também o canal Conda do Snowflake.
conda install -c file://path/to/conda-snowpark-ml -c https://repo.anaconda.com/pkgs/snowflake/ \ https://repo.anaconda.com/pkgs/snowflake/ snowflake-ml-python
Este comando deve ser inserido em uma única linha.
Observe que você deve especificar o caminho real para a pasta do canal que você criou anteriormente. Isso pode ser diferente do caminho usado nas etapas anteriores, onde você pode usar
~
como um atalho para seu diretório pessoal.
Instalação do Snowpark ML de PyPI¶
Você também pode instalar o pacote Snowpark ML do Python Package Index (PyPI) usando o gerenciador de pacotes Python padrão, pip
.
Aviso
Não use este procedimento de instalação se estiver usando um ambiente Conda.
Ative seu ambiente virtual Python se estiver usando um.
source .venv/bin/activate
Instale o pacote Snowpark ML.
python -m pip install snowflake-ml-python
Considerações sobre custo¶
Ao treinar e usar modelos no Snowflake, você executa o código em um warehouse virtual, o que gera custos de computação. Esses custos variam de acordo com o tipo de modelo e a quantidade de dados usados no treinamento e na previsão.
Consulte Explicação dos custos de computação para obter informações gerais sobre os custos de computação do Snowflake.
Leitura adicional¶
Consulte os seguintes recursos para obter informações sobre o Snowpark ML Modeling.
A pasta Examples em nosso Google Drive contém Jupyter Notebooks para explorar os recursos do Snowpark ML.
Entre em contato com seu representante Snowflake para obter acesso antecipado à documentação sobre os próximos recursos.
Referência de API¶
Você pode obter a documentação de API detalhada para qualquer classe usando a função help
do Python em uma sessão Python interativa. Por exemplo:
from snowflake.ml.modeling.preprocessing import OneHotEncoder
help(OneHotEncoder)
Uma referência de API preliminar está disponível em nosso Google Drive como um arquivo ZIP. Faça o download arquivo de referência de API, descompacte-o e abra o arquivo index.html
dentro da pasta resultante.