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.spark
geç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.XgboostClassifier
iç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.xgboost
etkilenir.
Not
sparkdl.xgboost
Databricks Runtime 12.0 ML'den bu yana modül kullanım dışıdır. Databricks, modülü kullanmakxgboost.spark
için kodunuzu geçirmenizi önerir. Geçiş kılavuzuna bakın.- Paketten
xgboost
aşağıdaki parametreler desteklenmez:gpu_id
, ,output_margin
validate_features
. - ,
eval_set
vesample_weight_eval_set
parametrelerisample_weight
desteklenmez. Bunun yerine vevalidationIndicatorCol
parametreleriniweightCol
kullanın. Ayrıntılar için bkz . PySpark İşlem Hattı için XGBoost. - ve
base_margin_eval_set
parametreleribase_margin
desteklenmez. Bunun yerine parametresinibaseMarginCol
kullanın. Ayrıntılar için bkz . PySpark İşlem Hattı için XGBoost. - parametresi
missing
pakettenxgboost
farklı semantiklere sahiptir. paketindexgboost
, SciPy seyrek matrisindeki sıfır değerleri değeri ne olursa olsunmissing
eksik değerler olarak kabul edilir. Paketindeki PySpark tahmin araçlarısparkdl
için, spark seyrek vektördeki sıfır değerleri, ayarlamadığınızmissing=0
sü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 True
ayarlayı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 eth
ayarlayı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.