Snowflake ML: aprendizado de máquina de ponta a ponta¶
O Snowflake ML é um conjunto integrado de recursos para aprendizado de máquina de ponta a ponta em uma única plataforma sobre seus dados governados.
Para fluxos de trabalho de ML prontos para uso em SQL, as funções de ML prontas para uso podem ajudar a reduzir o tempo de desenvolvimento e democratizar ML em sua organização. Essas funções permitem treinar modelos para casos de uso empresariais, como previsão e detecção de anomalias, sem precisar escrever nenhum código.
Para fluxos de trabalho de ML personalizados em Python, os cientistas de dados e engenheiros de ML podem desenvolver e produzir com facilidade e segurança recursos e modelos escaláveis sem qualquer movimentação de dados, silos ou compensações de governança. A biblioteca snowflake-ml-python
fornece APIs para desenvolvimento e implementação de seus pipelines de ML do Snowflake.
Para criar e operacionalizar modelos, os cientistas de dados e engenheiros de ML podem aproveitar um conjunto de recursos de ML do Snowflake. Para desenvolvimento de modelo, as Snowflake ML Modeling APIs oferecem carregamento de dados escalável, engenharia de recurso e treinamento de modelo com processamento distribuído usando CPUs ou GPUs. Para operações de ML (ML Ops), Snowflake ML inclui o Feature Store e o Model Registry para gerenciamento centralizado de recursos e modelos em produção.
É possível usar as APIs Python da biblioteca Snowpark ML nos Snowflake Notebooks, nas planilhas Snowsight ou na IDE Python local de sua escolha.
Componentes Snowflake ML ajudam a agilizar o ciclo de vida de ML, como mostrado aqui.
Registro de modelo Snowflake¶
O Snowflake Model Registry permite a implementação e o gerenciamento seguros de modelos no Snowflake, oferecendo suporte a modelos treinados dentro e fora do Snowflake.
Snowflake Feature Store¶
O Snowflake Feature Store é uma solução integrada para definir, gerenciar, armazenar e descobrir recursos de ML derivados dos seus dados. O Snowflake Feature Store oferece suporte à atualização incremental automatizada de fontes de dados em lote e streaming, de modo que os pipelines de recursos precisam ser definidos apenas uma vez para serem continuamente atualizados com novos dados.
Conjuntos de dados do Snowflake¶
Os conjuntos de dados Snowflake fornecem um instantâneo imutável e versionado dos dados, adequado para ingestão pelos seus modelos de aprendizado de máquina.
Notebooks Snowflake¶
Os Snowflake Notebooks oferecem uma experiência familiar, semelhante aos notebooks Jupyter, para trabalhar com Python dentro do Snowflake. Eles são ideais para criar fluxos de trabalho e modelos de ML personalizados usando as ferramentas que você já sabe usar. Os notebooks executados no Snowpark Container Services (SPCS) são executados no Container Runtime para ML, um ambiente criado especificamente para fluxos de trabalho de aprendizado de máquina.
Container Runtime para ML¶
O Snowflake oferece um ambiente pré-configurado e personalizável, criado para uma variedade de cargas de trabalho de desenvolvimento de ML. Com um conjunto abrangente de pacotes e estruturas de ML pré-instalados que podem ser facilmente estendidos, cientistas de dados e engenheiros de ML podem aproveitar o melhor do código aberto diretamente em seus dados Snowflake.
Com fácil acesso a GPUs na forma de pools de computação do Snowpark Container Service (SPCS), a flexibilidade do uso de qualquer pacote de código aberto, carregamento de dados distribuídos e Modeling APIs, o Container Runtime par ML é adequado para desenvolvimento de ML em larga escala. Como esses notebooks são executados no Snowpark Container Services, eles fornecem uma infraestrutura de computação flexível e escalável, otimizada para relação preço-desempenho.
Para obter mais informações, consulte Notebooks no Container Runtime para ML e Container Runtime para ML.
Biblioteca de ML Snowflake¶
O pacote Python snowflake-ml-python
fornece APIs Python para os vários componentes do fluxo de trabalho de ML do Snowflake, incluindo o Snowflake Feature Store, o Snowflake Model Registry e objetos de dados versionados do conjunto de dados. Ele também inclui APIs, com base em bibliotecas de ML Python populares, como scikit-learn, para construir e treinar seus próprios modelos em escala completamente dentro da nuvem Snowflake. É possível usar os recursos de ML do Snowflake em seu ambiente de desenvolvimento Python local, nas planilhas Snowsight ou nos Snowflake Notebooks.
Dica
Consulte Introdução ao aprendizado de máquina para ver um exemplo de um fluxo de trabalho de ML Snowflake de ponta a ponta.
ML Modeling¶
O pacote Python snowflake-ml-python
também inclui as ML Modeling APIs, que oferecem suporte ao pré-processamento de dados, engenharia de recurso e treinamento de modelo no Snowflake usando estruturas populares de aprendizado de máquina, como scikit-learn, xgboost, lightgbm e pytorch. Todo o processamento é realizado sem a necessidade de qualquer configuração de infraestrutura ou movimentação de dados.
Quando executadas em um notebook no Container Runtime para ML, essas APIs de modelagem podem ser executadas distribuídas em todos os núcleos de CPU ou GPUs disponíveis, dependendo do pool de computação que você estiver usando. Em outros casos, o processo é executado em um warehouse virtual Snowflake, onde o pré-processamento e a otimização de hiperparâmetros podem ser executados de forma distribuída em vários nós.
Nota
O Container Runtime para ML está atualmente em versão privada.
Recursos adicionais¶
Veja os seguintes recursos para obter informações sobre as APIs de ML Snowflake.
Fluxos de trabalho ML de ponta a ponta
Entre em contato com seu representante Snowflake para obter acesso antecipado à documentação sobre outros recursos atualmente em desenvolvimento.