IA e Machine Learning em Databricks

Este artigo descreve as ferramentas que o Azure Databricks fornece para ajudá-lo a criar e monitorar fluxos de trabalho de IA e ML. O diagrama mostra como esses componentes trabalham juntos para ajudá-lo a implementar o processo de desenvolvimento e implantação do modelo.

Diagrama de aprendizado de máquina: Desenvolvimento e implantação de modelos em Databricks

Por que usar o Databricks para aprendizado de máquina e aprendizado profundo?

Com o Databricks, uma única plataforma atende a todas as etapas do processo de desenvolvimento e implantação do modelo, desde dados brutos até tabelas de inferência que salvam todas as solicitações e respostas de um modelo atendido. Cientistas de dados, engenheiros de dados, engenheiros de ML e DevOps podem fazer seus trabalhos usando o mesmo conjunto de ferramentas e uma única fonte de verdade para os dados.

Com a plataforma de inteligência de dados, a plataforma de ML e a pilha de dados são o mesmo sistema. A plataforma de ML é construída sobre a camada de dados. Todos os ativos de dados e artefatos, como modelos e funções, podem ser descobertos e controlados em um único catálogo. O uso de uma única plataforma para dados e modelos torna possível rastrear a linhagem desde os dados brutos até o modelo de produção. O monitoramento de dados e modelos integrado salva métricas de qualidade em tabelas que também são armazenadas na plataforma, facilitando a identificação da causa raiz dos problemas de desempenho do modelo. Para obter mais informações sobre como o Databricks dá suporte ao ciclo de vida completo do ML e MLOps, consulte Fluxos de trabalho MLOps no Azure Databricks e MLOps Stacks: processo de desenvolvimento de modelo como código.

Alguns dos principais componentes da plataforma de inteligência de dados são:

Tarefas Componente
Governe e gerencie dados, recursos, modelos e funções. Também descoberta, versionamento e linhagem. Catálogo Unity
Controlar alterações nos dados, na qualidade dos dados e na qualidade da previsão do modelo Monitoramento Lakehouse, tabelas de inferência
Desenvolvimento e gerenciamento de recursos Engenharia de recursos
Preparar modelos Databricks AutoML, notebooks Databricks
Monitorizar desenvolvimento de modelos Rastreamento de MLflow
Sirva modelos personalizados Mosaico AI Model Serving.
Implantar LLMs APIs de modelo de base, modelos externos
Crie fluxos de trabalho automatizados e pipelines de ETL prontos para produção Vagas de Databricks
Integração no Git Pastas Databricks Git

Aprendizagem profunda em Databricks

Configurar a infraestrutura para aplicativos de aprendizado profundo pode ser difícil.

O Databricks Runtime for Machine Learning cuida disso para você, com clusters que têm versões compatíveis integradas das bibliotecas de aprendizado profundo mais comuns, como TensorFlow, PyTorch e Keras, e bibliotecas de suporte como Petastorm, Hyperopt e Horovod. Os clusters Databricks Runtime ML também incluem suporte a GPU pré-configurada com drivers e bibliotecas de suporte. Ele também suporta bibliotecas como Ray para paralelizar o processamento de computação para dimensionar fluxos de trabalho de ML e aplicativos de IA.

Os clusters Databricks Runtime ML também incluem suporte a GPU pré-configurada com drivers e bibliotecas de suporte. O Mosaic AI Model Serving permite a criação de terminais de GPU escaláveis para modelos de aprendizagem profunda sem configuração extra.

Para aplicativos de aprendizado de máquina, o Databricks recomenda o uso de um cluster executando o Databricks Runtime for Machine Learning. Consulte Criar um cluster usando o Databricks Runtime ML.

Para começar a usar o aprendizado profundo no Databricks, consulte:

Grandes modelos de linguagem (LLMs) e IA generativa em Databricks

O Databricks Runtime for Machine Learning inclui bibliotecas como Hugging, Face, Transformers e LangChain, que permitem integrar modelos pré-treinados existentes ou outras bibliotecas de código aberto ao seu fluxo de trabalho. A integração do Databricks MLflow facilita o uso do serviço de rastreamento MLflow com tubulações, modelos e componentes de processamento de transformadores. Além disso, você pode integrar modelos ou soluções OpenAI de parceiros como John Snow Labs em seus fluxos de trabalho do Azure Databricks.

Com o Azure Databricks, você pode personalizar um LLM em seus dados para sua tarefa específica. Com o suporte de ferramentas de código aberto, como Hugging Face e DeepSpeed, você pode usar eficientemente um LLM básico e treiná-lo com seus próprios dados para melhorar sua precisão para seu domínio e carga de trabalho específicos. Você pode então aproveitar o LLM personalizado em seus aplicativos de IA generativa.

Além disso, o Databricks fornece APIs de Modelo de Base e modelos externos que permitem acessar e consultar modelos abertos de última geração a partir de um ponto de extremidade de serviço. Usando APIs de modelo de base, os desenvolvedores podem criar aplicativos de forma rápida e fácil que aproveitam um modelo de IA generativa de alta qualidade sem manter sua própria implantação de modelo.

Para usuários de SQL, o Databricks fornece funções de IA que os analistas de dados SQL podem usar para acessar modelos LLM, incluindo da OpenAI, diretamente em seus pipelines de dados e fluxos de trabalho. Consulte Funções de IA no Azure Databricks.

Databricks Runtime para Aprendizado de Máquina

O Databricks Runtime for Machine Learning (Databricks Runtime ML) automatiza a criação de um cluster com infraestrutura pré-construída de aprendizado de máquina e aprendizado profundo, incluindo as bibliotecas de ML e DL mais comuns. Para obter a lista completa de bibliotecas em cada versão do Databricks Runtime ML, consulte as notas de versão.

Para acessar dados no Unity Catalog para fluxos de trabalho de aprendizado de máquina, o modo de acesso para o cluster deve ser de usuário único (atribuído). Os clusters compartilhados não são compatíveis com o Databricks Runtime for Machine Learning. Além disso, o Databricks Runtime ML não é suportado em clusters TableACLs ou clusters com spark.databricks.pyspark.enableProcessIsolation config definido como true.

Criar um cluster usando o Databricks Runtime ML

Ao criar um cluster, selecione uma versão do Databricks Runtime ML no menu suspenso Databricks runtime version . Os tempos de execução de ML habilitados para CPU e GPU estão disponíveis.

Selecionar Databricks Runtime ML

Se você selecionar um cluster no menu suspenso do bloco de anotações, a versão do Databricks Runtime aparecerá à direita do nome do cluster:

Exibir a versão do Databricks Runtime ML

Se você selecionar um tempo de execução de ML habilitado para GPU, será solicitado que você selecione um tipo de driver e um tipo de trabalhador compatíveis. Os tipos de instância incompatíveis ficam acinzentados no menu suspenso. Os tipos de instância habilitados para GPU estão listados sob o rótulo acelerado por GPU.

Nota

Para acessar dados no Unity Catalog para fluxos de trabalho de aprendizado de máquina, o modo de acesso para o cluster deve ser de usuário único (atribuído). Os clusters compartilhados não são compatíveis com o Databricks Runtime for Machine Learning. Para obter detalhes sobre como criar um cluster, consulte Referência de configuração de computação.

ML de tempo de execução de Photon e Databricks

Ao criar um cluster de CPU executando o Databricks Runtime 15.2 ML ou superior, você pode optar por habilitar o Photon. Photon melhora o desempenho para aplicativos que usam Spark SQL, Spark DataFrames, engenharia de recursos, GraphFrames e xgboost4j. Não se espera que melhore o desempenho em aplicativos que usam RDDs Spark, UDFs Pandas e linguagens não-JVM, como Python. Assim, pacotes Python como XGBoost, PyTorch e TensorFlow não verão uma melhoria com o Photon.

As APIs do Spark RDD e o Spark MLlib têm compatibilidade limitada com o Photon. Ao processar grandes conjuntos de dados usando o Spark RDD ou o Spark MLlib, você pode enfrentar problemas de memória do Spark. Consulte Problemas de memória do Spark.

Bibliotecas incluídas no Databricks Runtime ML

O Databricks Runtime ML inclui uma variedade de bibliotecas de ML populares. As bibliotecas são atualizadas a cada versão para incluir novos recursos e correções.

O Databricks designou um subconjunto das bibliotecas suportadas como bibliotecas de camada superior. Para essas bibliotecas, o Databricks fornece uma cadência de atualização mais rápida, atualizando para as versões de pacotes mais recentes a cada versão de tempo de execução (excluindo conflitos de dependência). O Databricks também fornece suporte avançado, testes e otimizações incorporadas para bibliotecas de nível superior.

Para obter uma lista completa de bibliotecas de nível superior e outras bibliotecas fornecidas, consulte as notas de versão do Databricks Runtime ML.

Próximos passos

Para começar, consulte:

Para obter um fluxo de trabalho MLOps recomendado no Databricks Machine Learning, consulte:

Para saber mais sobre os principais recursos do Databricks Machine Learning, consulte: