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.

  1. Instale o conda-build.

    conda install conda-build
    
    Copy
  2. 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
    
    Copy
  3. 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).

  4. Crie o canal usando conda index.

    conda index ~/conda-snowpark-ml
    
    Copy

    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.

  1. Ative o ambiente Conda que deseja usar (no exemplo, ml-env).

    conda activate ml-env
    
    Copy
  2. 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
    
    Copy

    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.

  1. Ative seu ambiente virtual Python se estiver usando um.

    source .venv/bin/activate
    
    Copy
  2. Instale o pacote Snowpark ML.

    python -m pip install snowflake-ml-python
    
    Copy

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.

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)
Copy

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.