Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Treinar modelos Spark ML no Databricks Connect com
Este artigo fornece um exemplo que demonstra como usar o módulo pyspark.ml.connect para executar treinamento distribuído, treinar modelos Spark ML e realizar a inferência do modelo.
O que é o pyspark.ml.connect?
Spark 3.5 apresenta pyspark.ml.connect que é concebido para dar suporte ao modo de ligação Spark e ao Databricks Connect. Saiba mais sobre o Databricks Connect.
O pyspark.ml.connect módulo consiste em algoritmos e utilitários de aprendizagem comuns, incluindo classificação, transformadores de recursos, pipelines de ML e validação cruzada. Este módulo fornece interfaces semelhantes ao módulo legado, mas o módulo atual contém apenas um subconjunto dos algoritmos disponíveis em . Os algoritmos suportados estão listados abaixo:
- Algoritmo de classificação:
pyspark.ml.connect.classification.LogisticRegression - Transformadores de características:
pyspark.ml.connect.feature.MaxAbsScalerepyspark.ml.connect.feature.StandardScaler - Avaliador:
pyspark.ml.connect.RegressionEvaluator,pyspark.ml.connect.BinaryClassificationEvaluatoreMulticlassClassificationEvaluator - Gasoduto:
pyspark.ml.connect.pipeline.Pipeline - Ajuste do modelo:
pyspark.ml.connect.tuning.CrossValidator
Requisitos
No Databricks Runtime 17.0 e superior, o Spark ML no Spark connect é habilitado por padrão em recursos de computação com modo de acesso padrão com algumas limitações. Consulte Limitações do Databricks Runtime 17.0 na computação padrão. Use o Spark ML na computação padrão se precisar de distribuição no nível do Spark para dados que não cabem na memória em um único nó ou se precisar fazer o ajuste de hiperparâmetros distribuídos.
Para o Databricks Runtime 14.0 ML e superior (incluindo o Databricks Runtime 17.0 em recursos de computação usando o modo de acesso dedicado ), há requisitos adicionais para usar o Spark ML:
- Configure o Databricks Connect em seus clusters. Consulte Configuração de computação para Databricks Connect.
- Databricks Runtime 14.0 ML ou superior instalado.
- Recurso de computação com modo de acesso dedicado .
Bloco de notas de exemplo
O bloco de anotações a seguir demonstra como usar o ML distribuído no Databricks Connect:
Machine Learning distribuído no Databricks Connect
Para obter informações de referência sobre APIs no pyspark.ml.connect, o Databricks recomenda a referência da API do Apache Spark
Limitações do Databricks Runtime 17.0 na computação padrão
- Somente Python: o Spark ML na computação Standard suporta apenas Python. R e Scala não são suportados.
-
Suporte à biblioteca: Somente o
pyspark.mlpacote é suportado. Opyspark.mllibpacote não é suportado. - Restrições de tamanho do modelo: O tamanho máximo do modelo é de 1 GB, portanto, treinar modelos extremamente grandes pode não ser viável. O treinamento de modelo de árvore será interrompido mais cedo se o tamanho do modelo estiver prestes a exceder 1 GB.
- Restrições de memória: enquanto os dados podem ser distribuídos pelo cluster, o próprio modelo treinado é armazenado em cache no nó do motor de execução, que é partilhado com outros utilizadores. O tamanho máximo do cache do modelo por sessão é de 10 GB, e o tamanho máximo do cache do modelo em memória por sessão é de 25% da memória JVM do driver Spark.
- Timeouts de sessão: O modelo em cache no cálculo Standard expira automaticamente após 15 minutos de inatividade. Para evitar perder o seu modelo, guarde-o no disco no prazo de 15 minutos após a conclusão do treino ou mantenha a sessão ativa com utilização frequente.
- Contenção de recursos: em ambientes de computação padrão, os recursos são compartilhados entre usuários e trabalhos dentro do espaço de trabalho. A execução simultânea de vários trabalhos grandes pode levar a um desempenho mais lento ou à competição por slots de executores.
- Sem suporte a GPU: os ambientes de computação padrão não suportam aceleração de GPU. Para cargas de trabalho de aprendizado de máquina aceleradas por GPU, clusters de GPU dedicados são recomendados.
-
Modelos SparkML limitados: Os seguintes modelos SparkML não são suportados:
DistributedLDAModelFPGrowthModel