Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Treinar modelos de ML do Spark no Databricks Connect com
Este artigo fornece um exemplo que demonstra como usar o módulo pyspark.ml.connect para realizar o treinamento distribuído de modelos do Spark ML e executar a inferência do modelo.
O que é pyspark.ml.connect?
O Spark 3.5 apresenta pyspark.ml.connect que foi projetado para dar suporte ao modo de conexão do Spark e ao Databricks Connect. Saiba mais sobre o Databricks Connect.
O módulo pyspark.ml.connect consiste em algoritmos e utilitários de aprendizado comuns, incluindo classificação, transformadores de recursos, pipelines de ML e validação cruzada. Este módulo fornece interfaces semelhantes ao módulo herdado pyspark.ml, mas atualmente o módulo pyspark.ml.connect contém apenas um subconjunto dos algoritmos em pyspark.ml. Os algoritmos com suporte são listados abaixo:
- Algoritmo de classificação:
pyspark.ml.connect.classification.LogisticRegression - Transformadores de recursos:
pyspark.ml.connect.feature.MaxAbsScalerepyspark.ml.connect.feature.StandardScaler - Avaliador:
pyspark.ml.connect.RegressionEvaluator,pyspark.ml.connect.BinaryClassificationEvaluatoreMulticlassClassificationEvaluator - Canalização:
pyspark.ml.connect.pipeline.Pipeline - Ajuste de modelo:
pyspark.ml.connect.tuning.CrossValidator
Requisitos
No Databricks Runtime 17.0 e posteriores, o Spark ML no Spark Connect é habilitado por padrão em recursos de computação com o modo de acesso Standard com algumas limitações. Consulte limitações para o Databricks Runtime 17.0 na computação Standard. Utilize o Spark ML no computing Standard se precisar de distribuição ao nível do Spark para dados que não cabem na memória de um único nó ou se você precisar fazer o ajuste de hiperparâmetros distribuído.
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 o Databricks Connect.
- Databricks Runtime 14.0 ML ou superior instalado.
- Recurso de computação com modo de acesso dedicado .
Caderno de exemplo
O notebook a seguir demonstra como usar o ML Distribuído no Databricks Connect:
ML distribuído no Databricks Connect
Para obter informações de referência sobre APIs em pyspark.ml.connect, o Databricks recomenda a referência da API do Apache Spark
Limitações do Databricks Runtime 17.0 na computação Standard
- Somente Python: o Spark ML na computação Standard dá suporte apenas ao Python. Não há suporte para R e Scala.
-
Suporte à biblioteca: somente o
pyspark.mlpacote tem suporte. Opyspark.mllibpacote não é suportado. - Restrições de tamanho de modelo: o tamanho máximo do modelo é de 1 GB, portanto, o treinamento de modelos extremamente grandes pode não ser viável. O treinamento do modelo de árvore será interrompido mais cedo se o tamanho do modelo estiver prestes a exceder 1 GB.
- Restrições de memória: apesar de os dados poderem ser distribuídos pelo cluster, o próprio modelo treinado é armazenado em cache no nó driver, que é compartilhado entre outros usuários. O tamanho máximo do cache do modelo por sessão é de 10 GB e o tamanho máximo do cache do modelo na memória por sessão é 25% da memória JVM do driver Spark.
- Tempos limite de sessão: o modelo armazenado em cache na computação Standard atinge o tempo limite automaticamente após 15 minutos de inatividade. Para evitar perder seu modelo, salve-o em disco dentro de 15 minutos após a conclusão do treinamento ou mantenha a sessão ativa com uso frequente.
- Contenção de recursos: em ambientes de computação Padrão, os recursos são compartilhados entre usuários e trabalhos dentro do workspace. A execução de vários trabalhos grandes simultaneamente pode levar a um desempenho reduzido ou à competição por espaços de execução.
- Sem suporte para GPU: ambientes de computação padrão não dão suporte à aceleração de GPU. Para cargas de trabalho de machine learning aceleradas por GPU, clusters de GPU dedicados são recomendados.
-
Modelos sparkml limitados: os seguintes modelos SparkML não têm suporte:
DistributedLDAModelFPGrowthModel