Guia para computação GPU sem servidor
Migrando cargas de trabalho clássicas para serverless
Se você estiver migrando uma carga de trabalho de aprendizado profundo existente de um cluster Databricks clássico (com Databricks Runtime ML) para computação sem servidor com GPU, siga estes passos:
- Substitua o código dependente do cluster. Remova quaisquer referências ao treinamento distribuído baseado em Spark (por exemplo,
TorchDistributor) e substitua-as pelo decorador@distributeddeserverless_gpu. - Atualização do carregamento de dados. Substitua os caminhos DBFS diretos pelos caminhos dos volumes Unity Catalog (
/Volumes/...). Substitua as operações locais do Spark DataFrame pelo Spark Connect. - Reinstale as dependências. Não confie na biblioteca Databricks Runtime ML pré-instalada. Adicione o comando explícito
%pip installpara todos os pacotes necessários. - Atualizar caminhos de checkpoint. Mover pontos de verificação do DBFS ou armazenamento local para volumes Unity Catalog (
/Volumes/<catalog>/<schema>/<volume>/...). - Atualizar a configuração do MLflow. Garanta que os nomes dos experimentos usem caminhos absolutos e configure os nomes de execução para garantir a repetibilidade.
- Faça o teste interativo primeiro. Valide sua carga de trabalho em um Notebook interativo antes de programá-la como um Job.
Exemplo de caderno
As seguintes categorias de exemplos de Notebooks estão disponíveis para ajudar você a começar:
Categoria | Descrição |
|---|---|
Otimização de grandes modelos de linguagem, incluindo métodos com uso eficiente de parâmetros (LoRA, QLoRA) | |
Detecção de objetos, classificação de imagens e outras tarefas de visão computacional. | |
Construindo sistemas de recomendação usando abordagens modernas de aprendizagem profunda, como modelos de duas torres. | |
Tarefas tradicionais ML incluindo treinamento do modelo XGBoost e previsão de séries temporais. | |
Escalando o treinamento em várias GPUs usando a APIde GPU sem servidor. |
Para a lista completa, consulte o Notebook de exemplo compute GPU sem servidor.
Solução de problemas
Genie Code pode ajudar a diagnosticar e sugerir soluções para erros de instalação da biblioteca. Consulte Usar o código Genie para depurar erros do ambiente compute.
ValueError: o tamanho do numpy.dtype foi alterado, o que pode indicar incompatibilidade binária. Esperava-se 96 do cabeçalho C, mas obteve-se 88 do PyObject.
O erro normalmente 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 atualmente instalada no ambiente de execução. Essa incompatibilidade geralmente ocorre devido a mudanças na API C do NumPy e é particularmente perceptível da versão 1.x para a 2.x do NumPy. Este erro indica que o pacote Python instalado no Notebook pode ter alterado a versão NumPy .
Recomendado:
Verifique a versão NumPy em tempo de execução e certifique-se de que ela seja compatível com o seu pacote. Consulte as notas de computação de GPU sem servidor sobre a versão para ambiente 4 e ambiente 3 para obter informações sobre a biblioteca Python pré-instalada. Se você tiver uma dependência em uma versão diferente do NumPy, adicione essa dependência ao seu ambiente compute .
O PyTorch não consegue encontrar a libcudnn durante a instalação do torch.
Ao instalar uma versão diferente de torch, você pode ver o erro: ImportError: libcudnn.so.9: cannot open shared object file: No such file or directory. Isso ocorre porque o PyTorch só procura a biblioteca cuDNN no caminho local.
Recomendado:
Reinstale as dependências adicionando --force-reinstall ao instalar torch:
%pip install torch --force-reinstall