IA e aprendizado de máquina em Databricks

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

Diagrama de machine learning: desenvolvimento e implementação de modelos no Databricks

Por que usar o Databricks para machine learning e aprendizagem profunda?

Com o Databricks, uma única plataforma atende a todos os passos do processo de desenvolvimento e implantação de modelos, desde dados brutos até tabelas de inferência que salvam todas as solicitações e respostas de um modelo atendido. data scientistsO senhor pode usar o mesmo conjunto de ferramentas e uma única fonte de verdade para os dados, os engenheiros de dados, os engenheiros do ML e o DevOps.

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 dados ativos 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 possibilita o rastreamento da linhagem, desde os dados brutos até o modelo de produção. O monitoramento integrado de dados e modelos salva as 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 oferece suporte ao ciclo de vida completo do ML e MLOps, consulte MLOps fluxo de trabalho em Databricks e What is MLOps Stacks?

Alguns dos key 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.

Unity Catalog

desenvolvimento e gerenciamento de recursos

recursos engenharia

Modelos de ensino

Databricks AutoML, Databricks Notebook

Acompanhar o desenvolvimento do modelo

MLflow acompanhamento

Servir modelos personalizados

Legacy MLflow servindo modelo

Criar um fluxo de trabalho automatizado e um pipeline ETL pronto para produção

Fluxos de trabalho da Databricks

Integração do Git

Pastas Git da Databricks

aprendizagem profunda na Databricks

Configurar a infraestrutura para aplicações de aprendizagem profunda pode ser difícil.

Databricks Runtime O Machine Learning cuida disso para o senhor, com o site clusters que tem versões compatíveis integradas da biblioteca de aprendizagem profunda mais comum, como TensorFlow, PyTorch, e Keras, e biblioteca de suporte, como Petastorm, Hyperopt, e Horovod. Databricks Runtime ML clusters também incluem suporte pré-configurado para GPU com drivers e biblioteca de suporte. Ele também oferece suporte a bibliotecas como a Ray para paralelizar o processamento de compute para dimensionar ML fluxo de trabalho e aplicativos de IA.

Para aplicações de machine learning, a Databricks recomenda a utilização de clusters que executem o Databricks Runtime for Machine Learning. Consulte Criar clusters usando o Databricks Runtime ML.

Para começar a usar aprendizagem profunda no Databricks, consulte:

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

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

Com o 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 com eficiência um LLM básico e ensiná-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 generativos de IA.

Databricks Runtime para aprendizado de máquina

Databricks Runtime for Machine Learning (Databricks Runtime ML) automatiza a criação de clusters com infraestrutura pré-construída machine learning e aprendizagem profunda, incluindo a biblioteca de ML e DL mais comum. Para obter a lista completa da biblioteca em cada versão do Databricks Runtime ML, consulte as notas sobre a versão.

Para acessar dados no Unity Catalog para fluxo de trabalho de machine learning, o modo de acesso aos clusters deve ser de usuário único (atribuído). Os clusters partilhados 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 clusters usando Databricks Runtime ML

Quando o senhor criar um cluster, selecione uma versão do Databricks Runtime ML no menu suspenso Versão do tempo de execução do Databricks. Estão disponíveis tempos de execução de ML habilitados para CPU e GPU.

Selecione Databricks Runtime ML

Se você selecionar clusters no menu suspenso no Notebook, a versão do Databricks Runtime aparecerá à direita do nome dos clusters :

view 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 tipoworker compatíveis. Os tipos de instância incompatíveis ficam esmaecidos no menu suspenso. Os tipos de instância habilitadas para GPU estão listados sob o rótulo acelerado por GPU .

Observação

Para acessar os dados em Unity Catalog para machine learning fluxo de trabalho, o modo de acesso para 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 do Compute.

Photon e Databricks Runtime ML

Quando o senhor cria uma CPU cluster executando Databricks Runtime 15.2 ML ou acima, pode optar por ativar Photon. Photon melhora o desempenho de aplicativos que usam Spark SQL, Spark DataFrames, recurso engenharia, GraphFrames, e xgboost4j. Não se espera que melhore o desempenho dos aplicativos que usam Spark RDDs, Pandas UDFs e linguagens não JVM, como Python. Portanto, o pacote Python, como XGBoost, PyTorch e TensorFlow, não terá melhorias 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 Spark RDD ou Spark MLlib, o senhor pode ter problemas de memória em Spark. Consulte Problemas de memória do Spark.

biblioteca incluída no Databricks Runtime ML

Databricks Runtime ML inclui uma variedade de bibliotecas de ML populares. A biblioteca é atualizada a cada lançamento para incluir novos recursos e correções.

Databricks designou um subconjunto da biblioteca suportada como biblioteca de nível 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 a cada versão de tempo de execução (exceto conflitos de dependência). Databricks também fornece suporte avançado, testes e otimizações incorporadas para bibliotecas de primeira linha.

Para obter uma lista completa das bibliotecas de nível superior e outras fornecidas, consulte as notas sobre a 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: