Pular para o conteúdo principal

Guias do usuário para AI Runtime

info

Visualização

Esse recurso está em Pré-lançamento público.

Migre cargas de trabalho de aprendizagem profunda existentes de clusters clássicos do Databricks para o AI Runtime, rastreie o uso e os custos de GPU com a tabela do sistema de uso faturável e encontre notebooks de exemplo e correções para erros comuns.

Migração de cargas de trabalho de GPU clássicas para serverless

Se você estiver movendo uma carga de trabalho de aprendizagem profunda existente de um cluster Databricks clássico (com Databricks Runtime ML) para Serverless (com AI Runtime), siga os passos:

  1. Substitua o código dependente de cluster. Remova quaisquer referências ao treinamento distribuído baseado em Spark (por exemplo, TorchDistributor) e substitua-as pelo decorador @distributed de serverless_gpu.
  2. Atualize o carregamento de dados. Substitua os caminhos diretos do DBFS por caminhos de volumes do Unity Catalog (/Volumes/...). Substitua as operações locais de DataFrame do Spark pelo Spark Connect. Para a transmissão de dados baseados em arquivos de volumes, use UCVolumeDataset de serverless_gpu.data. Consulte Carregar dados no AI Runtime.
  3. Reinstalar dependências. Não dependa de bibliotecas pré-instaladas do Databricks Runtime ML. Adicione comandos %pip install explícitos para todos os pacotes necessários.
  4. Atualize os caminhos de checkpoint. Mova os checkpoints do DBFS ou armazenamento local para volumes do Unity Catalog (/Volumes/<catalog>/<schema>/<volume>/...). Para checkpointing distribuído, use UCVolumeWriter e UCVolumeReader de serverless_gpu.data, que realizam o estágio de E/S por meio de NVMe local. Consulte Model checkpointing.
  5. Atualizar configuração do MLflow. Certifique-se de que os nomes dos experimentos usem caminhos absolutos e configure os nomes das execuções para que possam ser reiniciados facilmente.
  6. Teste interativamente primeiro. Valide sua carga de trabalho em um notebook interativo antes de programá-la como um job.

Monitore o uso e os custos

Você pode monitorar seus gastos com GPU do AI Runtime consultando a tabela do sistema de uso faturável (system.billing.usage). A query a seguir retorna o uso total para cargas de trabalho de GPU Serverless:

SQL
SELECT
SUM(usage_quantity)
FROM
system.billing.usage
WHERE
product_features.serverless_gpu IS NOT NULL

Para obter mais informações sobre o esquema da tabela de uso faturável, consulte Referência da tabela do sistema de uso faturável.

O AI Runtime cobra por hora de GPU na SKU de treinamento de modelo pelos seguintes preços:

  • H100 sob demanda: $ 7,00/hora de GPU (EUA Leste)
  • A10 sob demanda: $ 2,50/hora por GPU (Leste dos EUA)

Notebooks de exemplo

As seguintes categorias de notebooks de exemplo estão disponíveis para ajudá-lo a começar:

Categoria

Descrição

Grandes modelos de linguagem (LLMs)

Ajuste fino de grandes modelos de linguagem, incluindo métodos eficientes em parâmetros (LoRA, QLoRA)

Visão computador

Detecção de objetos, classificação de imagens e outras tarefas de CV

Sistemas de recomendação de aprendizagem profunda

Criação de sistemas de recomendação usando abordagens modernas de aprendizagem profunda, como modelos de duas torres

ML clássico

Tarefas tradicionais de ML, incluindo treinamento de modelo XGBoost e previsão de série temporal

Treinamento distribuído com múltiplas GPUs

Dimensionamento de treinamento em várias GPUs usando a API de GPU Serverless

Categoria

Descrição

Grandes modelos de linguagem (LLMs)

Ajuste fino de grandes modelos de linguagem, incluindo métodos eficientes em parâmetros (LoRA, QLoRA)

Visão computador

Detecção de objetos, classificação de imagens e outras tarefas de CV

Sistemas de recomendação de aprendizagem profunda

Criação de sistemas de recomendação usando abordagens modernas de aprendizagem profunda, como modelos de duas torres

ML clássico

Tarefas tradicionais de ML, incluindo treinamento de modelo XGBoost e previsão de série temporal

Treinamento distribuído com múltiplas GPUs

Dimensionamento de treinamento em várias GPUs usando a API de GPU Serverless

Para a lista completa, consulte notebooks de exemplo do AI Runtime.

Solução de problemas

O Genie Code pode ajudar a diagnosticar e sugerir correções para erros de instalação de biblioteca. Consulte Use Genie Code to debug compute environment errors.

Para depurar interativamente no compute, use o terminal web para execução de comandos shell, inspecionar o uso da GPU com nvidia-smi e gerenciar arquivos. O terminal web está disponível quando conectado à versão 5 ou acima do ambiente de GPU Serverless. Consulte Execução de comandos shell no terminal web do Databricks.

ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

O erro geralmente ocorre quando há uma incompatibilidade entre as versões do NumPy usadas durante a compilação de um pacote dependente e a versão do NumPy instalada atualmente no ambiente de runtime. Essa incompatibilidade ocorre frequentemente devido a alterações na API C do NumPy e é particularmente perceptível do NumPy 1.x para o 2.x. Este erro indica que o pacote Python instalado no notebook pode ter alterado a versão do NumPy.

Solução recomendada:

Verifique a versão do NumPy no runtime e garanta que ela seja compatível com seus pacotes. Consulte as notas sobre a versão do Serverless GPU Compute para o ambiente 4 e o ambiente 3 para obter informações sobre bibliotecas Python pré-instaladas. Se você tiver uma dependência de uma versão diferente do NumPy, adicione essa dependência ao seu ambiente de compute.

O PyTorch não consegue encontrar a libcudnn ao instalar o torch

Ao instalar uma versão diferente de torch, você poderá ver o erro: ImportError: libcudnn.so.9: cannot open shared object file: No such file or directory. Isso ocorre porque o torch pesquisa a biblioteca cuDNN apenas no caminho local.

Solução recomendada:

Reinstale as dependências adicionando --force-reinstall ao instalar torch:

Python
%pip install torch --force-reinstall