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.
Por que usar o Databricks para machine learning e aprendizagem profunda?
Com o Databricks, você pode implementar o ciclo de vida completo do ML em uma única plataforma com governança ponta a ponta em todos os ML pipelines. Databricks inclui as seguintes ferramentas integradas para dar suporte ao fluxo de trabalho de ML:
Unity Catalog para governança, descoberta, controle de versão e controle de acesso para dados, recursos, modelos e funções.
Lakehouse Monitoring para monitoramento de dados.
Suporte para o ciclo de vida do modelo:
Databricks AutoML para treinamento automatizado de modelos.
Unity Catalog para gerenciamento de modelos.
Modelo de operação do Databricks para modelo de operação de alta disponibilidade e baixa latência. Isso inclui LLMs implantados usando:
APIs do Foundation Model que permitem acessar e consultar modelos abertos de última geração a partir de um endpoint de serviço.
Modelos externos que permitem acessar modelos hospedados fora do Databricks.
Monitoramento Lakehouse para rastrear a qualidade e desvio da previsão do modelo.
Fluxo de trabalho do Databricks para fluxo de trabalho automatizado e pipeline ETL pronto para produção.
Pastas Git da Databricks para gerenciamento de código e integração com o Git.
aprendizagem profunda na Databricks
Configurar a infraestrutura para aplicações de aprendizagem profunda pode ser difícil.
O Databricks Runtime for Machine Learning cuida disso para o senhor, com clusters que integram versões compatíveis das bibliotecas de aprendizagem profunda mais comuns, como TensorFlow, PyTorch e Keras, e suportam bibliotecas como Petastorm, Hyperopt e Horovod. Os clusters de ML do Databricks Runtime também incluem suporte pré-configurado de 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 o fluxo de trabalho de ML e aplicativos de IA.
Os clusters de ML do Databricks Runtime também incluem suporte pré-configurado de GPU com drivers e biblioteca de suporte. O Databricks servindo modelo permite a criação de um ponto de extremidade de GPU escalável para modelos de aprendizagem profunda sem nenhuma configuração extra.
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.
Além disso, o Databricks fornece APIs de modelo básico e modelos externos que permitem acessar e consultar modelos abertos de última geração a partir de um endpoint de serviço. Usando 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 a implantação de seu próprio modelo.
Para usuários de SQL, o Databricks fornece funções de IA que o analista de dados SQL pode usar para acessar modelos LLM, inclusive do OpenAI, diretamente em seu pipeline de dados e fluxo de trabalho. Consulte AI Functions em Databricks.
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
Ao criar clusters, selecione uma versão do Databricks Runtime ML no menu suspenso da versão do runtime do Databricks . Estão disponíveis tempos de execução de ML habilitados para CPU e GPU.
Se você selecionar clusters no menu suspenso no Notebook, a versão do Databricks Runtime aparecerá à direita do nome dos clusters :
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 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.
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.