Por que usar AI Runtime em vez da computação clássica

AI Runtime é computação de GPU serverless para treinamento, ajuste fino e execução de inferência em lote em modelos personalizados de deep learning. Se você roda essas cargas de trabalho em computação clássica com Databricks Runtime ML, a Databricks recomenda migrá-las para o AI Runtime para menor custo total de posse, uma experiência de desenvolvedor mais flexível e escala multinós. As seções seguintes comparam os dois para engenheiros de ML e equipes de plataforma, e descrevem como o Genie Code pode ajudar você a migrar.

Comparar o Runtime de IA com a computação clássica

A tabela a seguir compara o AI Runtime com o Databricks Runtime ML na computação clássica:

Capability Runtime de IA Computação clássica com Databricks Runtime ML
TCO (custo total de propriedade) Menor TCO por meio da infraestrutura gerenciada de GPU serverless, desempenho de alto throughput, carregamento otimizado de dados e acesso ao Spark via Spark Connect. Você paga apenas pelo cálculo que suas cargas de trabalho usam. O Azure Databricks gerencia clusters, drivers e saúde da GPU para você. Maior TCO devido à sobrecarga de gerenciamento de clusters, início lento e carregamento e checkpointing de dados não otimizados. Você gerencia a configuração do cluster e a saúde da GPU, o que aumenta o custo para adquirir e manter clusters de GPU.
Experiência do desenvolvedor Desenvolva e implante a partir da linha de comando do Databricks, IDEs e notebooks. Suporte nativo de Ray. Escolha um ambiente Standard mínimo para ter controle total das dependências, o ambiente de IA da Databricks com pacotes comuns para IA e ML ou uma imagem Docker personalizada. Desenvolva em notebooks ou conecte-se de um IDE por meio do túnel SSH. Sem CLI dedicado para cargas de treinamento da GPU. O Ray funciona com Spark. Um grande conjunto de bibliotecas pré-instaladas atreladas à versão de runtime, incluindo pacotes não relacionados a IA e ML.
Escala e desempenho Treinamento multinós e inferência em lote. Carregamento de dados otimizado e checkpointing. Alta confiabilidade da GPU para longas execuções de treinamento. Não é otimizado para treinamento multinós porque você mesmo configura nós e redes. Você otimiza o carregamento de dados e checkpoints e valida manualmente a saúde da GPU.

Custo total de propriedade

AI Runtime reduz o custo total de propriedade com GPUs serverless gerenciadas e de alto desempenho:

  • Inicialização mais rápida: A infraestrutura de GPU sem servidor está disponível sob demanda, então você não precisa esperar o cluster de GPUs ser iniciado. Clusters clássicos de GPU podem levar vários minutos ou mais para começar, dependendo do tamanho do cluster e da disponibilidade da GPU.
  • Preços conforme o uso: Você paga apenas pela computação serverless com GPU que suas cargas de trabalho usarem, sem gerenciar nem pagar por clusters ociosos.
  • Maior utilização da GPU: Opções de computação flexíveis, carregamento rápido de dados, checkpoints eficientes e treinamento com vários nós reduzem o tempo ocioso da GPU.
  • Redução da carga administrativa: O AI Runtime cuida da implantação de computação, redes de cluster, gerenciamento da saúde da GPU e atualizações de drivers CUDA. Com a computação tradicional, sua equipe fica responsável pela administração dos nós, pela configuração do cluster e pela manutenção contínua da infraestrutura.

Experiência do desenvolvedor

O AI Runtime oferece uma experiência de desenvolvimento flexível para cargas de trabalho de IA e aprendizado profundo:

  • Conectividade: trabalhe em notebooks, conecte a partir de um IDE por um canal SSH (Beta) ou envie cargas de trabalho com a CLI do Databricks. Para automatizar execuções, agende trabalhos ou use Pacotes de Automação Declarativa. A computação clássica não tem uma CLI dedicada para enviar cargas de trabalho de treinamento em GPU.
  • Ambiente de execução dedicado para aprendizado profundo: O ambiente de execução de IA oferece suporte nativo a frameworks como Ray e PyTorch. Escolha o ambiente padrão para ter controle total da sua pilha de dependências, o ambiente de IA da Databricks com pacotes comuns de IA e aprendizado de máquina, ou uma imagem Docker personalizada. Os runtimes clássicos incluem um grande conjunto de bibliotecas pré-instaladas vinculadas à versão de runtime.
  • Depuração e observabilidade: Acompanhe experimentos, monitore a utilização dos recursos computacionais, gerencie modelos e solucione problemas com a integração nativa do MLflow. Com o compute clássico, os logs e as métricas de utilização do compute não são armazenados automaticamente no run do MLflow.
  • Acesso seguro a dados:Acesse dados estruturados e não estruturados governados pelo Unity Catalog por meio do Spark Connect, sem executar um cluster do Apache Spark.

Escala e desempenho

O ambiente de execução de IA ajuda você a escalar cargas de trabalho de aprendizado profundo com eficiência:

  • Carregamento de dados otimizado e checkpointing: Carregamento de dados de alta taxa e checkpointing distribuído assíncrono aceleram os pipelines de treinamento e minimizam o tempo ocioso da GPU. A computação clássica não conta com carregadores de dados nativos de alta taxa de transferência nem com criação distribuída de checkpoints. Veja Como melhorar o desempenho e a resiliência do treinamento no AI Runtime.
  • Resiliência embutida da GPU: Verificações automáticas contínuas de saúde ajudam a detectar e isolar nós da GPU com defeito, o que reduz as interrupções em longos treinamentos. Com o Classic Compute, você mesmo mantém a integridade dos nós de GPU, e isolar um nó com defeito exige interromper workloads em execução. Veja como mantemos GPUs confiáveis em toda a plataforma de IA da Databricks no blog de engenharia da Databricks.
  • Treinamento multinós: Escale de uma única GPU para treinamento distribuído multinós com rede de alta velocidade e configuração automática do ambiente. Para os aceleradores que suportam treinamento multinós, veja opções de hardware.
  • Inferência personalizada por lotes: Execute inferência personalizada por lotes em larga escala entre GPUs distribuídas sem gerenciar clusters de GPU.

Migrar do classic compute para Genie Code

O Genie Code pode ajudar a automatizar a refatoração de código e a configuração do ambiente em notebooks conectados ao AI Runtime ao migrar uma carga de trabalho da computação clássica. Para ver a lista completa de etapas de migração, consulte Migrar cargas de trabalho de GPU clássica para sem servidor.

O que o Genie Code automatiza

O Genie Code pode ajudar com as seguintes tarefas de migração:

  • Refatoração: Converte notebooks do Databricks Runtime ML, como notebooks que usam TorchDistributor, em notebooks do AI Runtime que usam o decorador @distributed de databricks.air.
  • Resolução de dependências: Avalia importações de notebooks, identifica pacotes ausentes ou incompatíveis e configura um ambiente de GPU serverless.
  • Diagnóstico de erro multi-rank: Analisa logs de saída em todos os nós para isolar causas raiz, como erros de falta de memória (OOM) da GPU ou travamentos de comunicação.

Exemplos de prompts de migração do Genie Code

A seguir, exemplos de prompts que você pode dar ao Genie Code:

  • Conversão de código: "Migre este caderno do TorchDistributor para o decorador databricks.air @distributed."
  • Configuração do ambiente: "Inspecione pacotes importados, recomende o ambiente de IA Databricks ou Standard e gere os comandos %pip install necessários."
  • Depuração: "Analise os registros de treinamento distribuído em todos os ranks para determinar por que a tarefa falhou."

Recursos adicionais