Aracılığıyla paylaş


kullanarak XGBoost modellerinin dağıtılmış eğitimi sparkdl.xgboost

Önemli

Bu özellik Genel Önizlemededir.

Not

sparkdl.xgboost Databricks Runtime 12.0 ML ile başlayarak kullanım dışıdır ve Databricks Runtime 13.0 ML ve üzeri sürümleriyle kaldırılır. İş yüklerinizi 'a xgboost.sparkgeçirme hakkında bilgi için, kullanım dışı bırakılan sparkdl.xgboost modülü için geçiş kılavuzuna bakın.

Databricks Runtime ML, sparkdl.xgboost.XgboostRegressor Python xgboost paketini temel alan PySpark tahmin aracılarını ve sparkdl.xgboost.XgboostClassifieriçerir. Bu tahmin araçlarına dayalı bir ML işlem hattı oluşturabilirsiniz. Daha fazla bilgi için bkz . PySpark İşlem Hattı için XGBoost.

Databricks, kullanıcıların Databricks Runtime 11.3 LTS ML veya üzerini kullanmasını kesinlikle önerir sparkdl.xgboost . Önceki Databricks Runtime sürümleri eski sürümlerindeki hatalardan sparkdl.xgboostetkilenir.

Not

  • sparkdl.xgboost Databricks Runtime 12.0 ML'den bu yana modül kullanım dışıdır. Databricks, modülü kullanmak xgboost.spark için kodunuzu geçirmenizi önerir. Geçiş kılavuzuna bakın.
  • Paketten xgboost aşağıdaki parametreler desteklenmez: gpu_id, , output_marginvalidate_features.
  • , eval_setve sample_weight_eval_set parametreleri sample_weightdesteklenmez. Bunun yerine ve validationIndicatorColparametrelerini weightCol kullanın. Ayrıntılar için bkz . PySpark İşlem Hattı için XGBoost.
  • ve base_margin_eval_set parametreleri base_margindesteklenmez. Bunun yerine parametresini baseMarginCol kullanın. Ayrıntılar için bkz . PySpark İşlem Hattı için XGBoost.
  • parametresi missing paketten xgboost farklı semantiklere sahiptir. paketinde xgboost , SciPy seyrek matrisindeki sıfır değerleri değeri ne olursa olsun missingeksik değerler olarak kabul edilir. Paketindeki PySpark tahmin araçları sparkdl için, spark seyrek vektördeki sıfır değerleri, ayarlamadığınız missing=0sürece eksik değerler olarak değerlendirilmez. Seyrek bir eğitim veri kümeniz varsa (çoğu özellik değeri eksikse), Databricks bellek tüketimini azaltmak ve daha iyi performans elde etmek için ayarı missing=0 önerir.

Dağıtılmış eğitim

Databricks Runtime ML, parametresini num_workers kullanarak dağıtılmış XGBoost eğitimini destekler. Dağıtılmış eğitimi kullanmak için bir sınıflandırıcı veya regresör oluşturun ve kümenizdeki toplam Spark görev yuvası sayısından küçük veya buna eşit bir değere ayarlayın num_workers . Tüm Spark görev yuvalarını kullanmak için öğesini ayarlayın num_workers=sc.defaultParallelism.

Örneğin:

classifier = XgboostClassifier(num_workers=sc.defaultParallelism)
regressor = XgboostRegressor(num_workers=sc.defaultParallelism)

Dağıtılmış eğitimin sınırlamaları

  • Dağıtılmış XGBoost ile kullanamazsınız mlflow.xgboost.autolog .
  • Dağıtılmış XGBoost ile kullanamazsınız baseMarginCol .
  • Otomatik ölçeklendirmenin etkinleştirildiği bir kümede dağıtılmış XGBoost kullanamazsınız. Otomatik ölçeklendirmeyi devre dışı bırakma yönergeleri için bkz. Otomatik ölçeklendirmeyi etkinleştirme.

GPU eğitimi

Not

Databricks Runtime 11.3 LTS ML, 5.2 ve altı işlem özelliğine sahip GPU kümelerini desteklemeyen XGBoost 1.6.1'i içerir.

Databricks Runtime 9.1 LTS ML ve üzeri XGBoost eğitimi için GPU kümelerini destekler. GPU kümesi kullanmak için olarak Trueayarlayınuse_gpu.

Örneğin:

classifier = XgboostClassifier(num_workers=N, use_gpu=True)
regressor = XgboostRegressor(num_workers=N, use_gpu=True)

Sorun giderme

Çok düğümlü eğitim sırasında bir NCCL failure: remote process exited or there was a network error iletiyle karşılaşırsanız bu durum genellikle GPU'lar arasındaki ağ iletişimi ile ilgili bir sorun olduğunu gösterir. Bu sorun, NCCL (NVIDIA Kolektif İletişim Kitaplığı) GPU iletişimi için belirli ağ arabirimlerini kullanamadığında ortaya çıkar.

Sorunu çözmek için, için kümenin sparkConf spark.executorEnv.NCCL_SOCKET_IFNAME değerini olarak ethayarlayın. Bu temelde bir düğümdeki tüm çalışanlar için ortam değişkenini NCCL_SOCKET_IFNAME eth olarak ayarlar.

Örnek not defteri

Bu not defteri, Spark MLlib ile Python paketinin sparkdl.xgboost kullanımını gösterir. sparkdl.xgboost Databricks Runtime 12.0 ML'den bu yana paket kullanım dışıdır.

PySpark-XGBoost not defteri

Not defterini alma