Porque usar IA Runtime em vez de computação clássica

AI Runtime é computação GPU serverless para treino, ajuste fino e execução de inferência em lote em modelos personalizados de deep learning. Se executares estas cargas de trabalho em computação clássica com Databricks Runtime ML, a Databricks recomenda transferi-las para AI Runtime para menor custo total de propriedade, uma experiência de desenvolvimento mais flexível e escala multinós. As secções seguintes comparam os dois para engenheiros de ML e equipas de plataforma, e descrevem como o Genie Code pode ajudar a sua equipa a migrar.

Compare AI Runtime com a computação clássica

A tabela seguinte compara AI Runtime com Databricks Runtime ML em computação clássica:

Capability Ambiente de Execução de IA Computação clássica com Databricks Runtime ML
Custo total de propriedade (TCO) Menor TCO através de infraestrutura de GPU serverless gerida, desempenho de alto rendimento, carregamento otimizado de dados e acesso ao Spark através do Spark Connect. Pagas apenas pela computação que as tuas cargas de trabalho utilizam. O Azure Databricks gere clusters, drivers e saúde da GPU para si. Maior TCO devido à sobrecarga de gestão do cluster, arranque lento e carregamento e checkpointing de dados não otimizados. Geres a configuração do cluster e o estado das GPUs, o que aumenta o custo de aquisição e manutenção dos clusters de GPU.
Experiência do desenvolvedor Desenvolva e implemente a partir da linha de comando do Databricks, IDEs e notebooks. Suporte para Native Ray. Escolha um ambiente Standard minimalista para controlo total sobre dependências, o ambiente de IA Databricks com pacotes comuns de IA e ML, ou uma imagem Docker personalizada. Desenvolve em notebooks ou liga-te a partir de um IDE através do túnel SSH. Não existe uma CLI dedicada para cargas de trabalho de treino em GPU. Ray funciona com o Spark. Um grande conjunto de bibliotecas pré-instaladas associadas à versão do ambiente de execução, incluindo pacotes não relacionados com IA nem com ML.
Dimensionamento e desempenho Treino multinó e inferência em lote. Carregamento de dados otimizado e checkpointing. Alta fiabilidade da GPU para treinos longos. Não está otimizado para formação multinó porque é necessário configurar os nós e a rede manualmente. Otimizas o carregamento de dados e checkpointing e validas manualmente a saúde da GPU.

Custo total de propriedade

AI Runtime reduz o custo total de posse com GPUs serverless geridas e de alto desempenho:

  • Arranque mais rápido: A infraestrutura de GPU sem servidor está disponível sob demanda, pelo que não tem de esperar que um cluster de GPU seja iniciado. Clusters clássicos de GPU podem demorar vários minutos ou mais a arrancar, dependendo do tamanho do cluster e da disponibilidade da GPU.
  • Preços conforme a utilização: Paga apenas pela capacidade de computação GPU sem servidor utilizada pelas suas cargas de trabalho, sem gerir nem pagar por clusters ociosos.
  • Maior utilização da GPU: Opções de computação flexíveis, carregamento rápido de dados, pontos de verificação eficientes e treino em vários nós reduzem o tempo ocioso da GPU.
  • Redução do encargo administrativo: O AI Runtime gere a implementação de recursos computacionais, redes de clusters, gestão da saúde da GPU e atualizações de drivers CUDA. Com a computação tradicional, a sua equipa é 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 deep learning:

Dimensionamento e desempenho

O AI Runtime permite-lhe dimensionar cargas de trabalho de aprendizagem profunda de forma eficiente:

  • Carregamento de dados otimizado e checkpointing: Carregamento de dados de alto débito e checkpointing distribuído assíncrono aceleram os pipelines de treino e minimizam o tempo de inatividade da GPU. A computação tradicional carece de carregadores de dados nativos de elevado débito e de criação distribuída de pontos de verificação. Veja como melhorar o desempenho do treino e a resiliência em tempo de execução de IA.
  • Resiliência integrada da GPU: Verificações automáticas contínuas de saúde ajudam a detetar e isolar nós da GPU com falhas, o que reduz as perturbações em longos treinos. Com a computação clássica, tem de assegurar o estado de funcionamento dos nós GPU, e isolar um nó defeituoso requer interromper cargas de trabalho ativas. Veja como mantemos as GPUs fiáveis em toda a Databricks AI, no blogue de engenharia da Databricks.
  • Treino multinós: Escale de uma única GPU para treino distribuído multinós com rede de alta velocidade e configuração automática do ambiente. Para os aceleradores que suportam treino multinós, consulte opções de hardware.
  • Inferência personalizada por lotes: Executar inferência personalizada por lotes em grande escala entre GPUs distribuídas sem gerir clusters de GPU.

Migrar da computação clássica para o Genie Code

O Genie Code pode ajudar a automatizar refatoração de código e configuração de ambientes em notebooks ligados ao AI Runtime quando se move uma carga de trabalho da computação clássica. Para a lista completa de passos de migração, veja Migrar cargas de trabalho clássicas de GPU para serverless.

O que o Genie Code automatiza

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

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

Exemplo de prompts de migração do Genie Code

A seguir estão exemplos de prompts que 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: "Inspecionar pacotes importados, recomendar o Databricks AI ou o ambiente Standard, e gerar os comandos de instalação %pip necessários."
  • Depuração: "Analisar os registos de treino distribuído em todos os ranks para determinar porque é que a tarefa falhou."

Recursos adicionais