Compartilhar via


IA e Machine Learning no 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 funcionam juntos para ajudá-lo a implementar o processo de desenvolvimento e implantação do modelo.

Diagrama do Machine learning: desenvolvimento e implantação do modelo no 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 de modelos, desde os dados brutos até as tabelas de inferência que salvam todas as solicitações e respostas de um modelo servido. Cientistas de dados, engenheiros de dados, engenheiros de ML e DevOps podem fazer seu trabalho 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 e artefatos de dados, 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 possibilita o acompanhamento da linhagem, desde os dados brutos até o modelo de produção. O monitoramento integrado de dados e modelos 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 a todo o ciclo de vida de ML e MLOps, consulte fluxos de trabalho de MLOps no Azure Databricks e O que é MLOps Stacks?.

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

Tarefas Componente
Administrar e gerenciar dados, recursos, modelos e funções. Além disso, descoberta, controle de versão e linhagem. Catálogo do Unity
Rastrear alterações nos dados, na qualidade dos dados e na qualidade da previsão do modelo Monitoramento do lakehouse, Tabelas de inferência
Desenvolvimento e gerenciamento de recursos Engenharia de recursos
Treinar modelos AutoML do Databricks, notebooks do Databricks
Acompanhar o desenvolvimento de modelos Acompanhamento do MLflow
Servir modelos personalizados Serviço de Modelos de IA do Mosaic.
Implantar LLMs APIs de Modelos Fundamentais, Modelos externos
Crie fluxos de trabalho automatizados e pipelines ETL prontos para produção Fluxos de trabalho do Databricks
Integração do Git Pastas Git do Databricks

Aprendizado profundo no Databricks

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

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

Os clusters de ML do Databricks Runtime também incluem suporte de GPU pré-configurado com drivers e bibliotecas de suporte. O Serviço de Modelo do Mosaic AI permite a criação de pontos de extremidade de GPU escalonáveis para modelos de aprendizado profundo sem nenhuma configuração extra.

Para aplicativos de aprendizado de máquina, a recomendação do Databricks é usar um cluster que execute o Databricks Runtime para Machine Learning. Confira Criar um cluster usando o Databricks Runtime ML.

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

Modelos de linguagem grandes (LLMs) e IA generativa no Databricks

O Databricks Runtime para Machine Learning inclui bibliotecas como Hugging Face Transformers e LangChain, que permitem integrar modelos pré-treinados existentes ou outras bibliotecas de software livre em seu fluxo de trabalho. A integração do Databricks MLflow facilita o uso do serviço de acompanhamento do MLflow com pipelines, modelos e componentes de processamento do transformador. Além disso, você pode integrar modelos ou soluções do OpenAI de parceiros como o 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 software livre, como Hugging Face e DeepSpeed, você pode usar com eficiência uma LLM de base e treiná-la com seus próprios dados para melhorar sua precisão para seu domínio e carga de trabalho específicos. Em seguida, você pode aproveitar a LLM personalizada em seus aplicativos de IA generativa.

Além disso, o Databricks fornece APIs de Modelos Fundamentais 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 as APIs do Foundation Model, os desenvolvedores podem criar aplicativos de forma rápida e fácil que aproveitam um modelo de IA generativo de alta qualidade sem manter sua própria implantação de modelos.

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

Databricks Runtime para Machine Learning

O Databricks Runtime para Machine Learning (Databricks Runtime ML) automatiza a criação de um cluster com aprendizado de máquina pré-criado e infraestrutura de 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, confira as notas sobre a versão.

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

Criar um cluster usando o Databricks Runtime ML

Quando você criar um cluster, selecione uma versão do Databricks Runtime ML no menu suspenso Versão do Databricks Runtime. Estão disponíveis runtimes de ML habilitados para CPU e GPU.

Selecionar o Databricks Runtime para ML

Se você selecionar um cluster no menu suspenso no notebook, a versão do Databricks Runtime aparecerá à direita do nome do cluster:

Exibir a Versão do Databricks Runtime ML

Se você selecionar um runtime de ML habilitado para GPU, será solicitado que selecione um Tipo de Driver e um Tipo de Trabalho compatíveis. Os tipos de instância incompatíveis ficam esmaecidos no menu suspenso. Os tipos de instância habilitados para GPU estão listados no rótulo Acelerada por GPU.

Observação

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

ML do Photon e do Databricks Runtime

Ao criar um cluster de CPU executando o Databricks Runtime 15.2 ML ou superior, você pode optar por habilitar o Photon. O Photon melhora o desempenho de aplicativos usando Spark SQL, Spark DataFrames, engenharia de recursos, GraphFrames e xgboost4j. Não se espera que ele melhore o desempenho em aplicativos usando RDDs do Spark, UDFs do 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 do 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. Veja Problemas de memória Spark.

Bibliotecas incluídas no Databricks Runtime para 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 com suporte 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 mais recentes do pacote com cada versão de runtime (exceto conflitos de dependência). O Databricks também fornece suporte avançado, testes e otimizações inseridas para bibliotecas de camada superior.

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

Próximas etapas

Para começar. confira:

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

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