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.
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:
- Melhores práticas para aprendizagem profunda no Azure Databricks
- Aprendizagem profunda em Databricks
- Soluções de referência para aprendizagem profunda
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.
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:
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: