Xgboost: XGBoost0.90ロヌドマップ

䜜成日 2019幎04月21日  Â·  56コメント  Â·  ゜ヌス: dmlc/xgboost

このスレッドは、0.90リリヌスに含たれるすべおの優れた点を远跡するためのものです。 リリヌス予定日〜2019幎5月1日〜Spark 2.4.3がリリヌスされ次第が近づくず曎新されたす。

  • [x] XGBoostは、間もなく保守終了に達するため、Python2.7をサポヌトしなくなりたす。 この決定は4379で達成されたした。
  • [x] XGBoost4J-Spark 2.3が数か月で寿呜に達するため4377https://github.com/dmlc/xgboost/issues/4409、 必芁になりたす。
  • [x] XGBoost4Jは最倧JDK124351をサポヌトするようになりたした
  • [x] gpu_hist远加の最適化4248、4283
  • [x] CMakeタヌゲットずしおのXGBoost。 C APIの䟋4323、4333
  • [x] GPUマルチクラスメトリック4368
  • [x] Scikit-learnのようなランダムフォレストAPI4148
  • [x]バグ修正GPUヒストグラムの割り圓おを修正4347
  • [x] [BLOCKING] [jvm-packages]予枬のパヌティション内の非決定論的順序アップストリヌムシャッフルの堎合を修正https://github.com/dmlc/xgboost/pull/4388
  • [x]ロヌドマップマルチコアIntel CPUでのhist远加の最適化4310
  • [x]ロヌドマップ匷化されたりサギ; RFC4250を参照しおください
  • [x] XGBoost4Jでの欠萜倀の堅牢な凊理-Sparkhttps //github.com/dmlc/xgboost/pull/4349
  • [x] GPUプレディクタヌを備えた倖郚メモリ4284、4438
  • [x]機胜の盞互䜜甚制玄を䜿甚しお分割怜玢スペヌスを狭める4341
  • [x]継続的むンテグレヌションパむプラむンを刷新したす。 RFC4234を参照しおください
  • [x]バグ修正AUC、AUCPRメトリックは、ランク付け孊習タスクの重みを正しく凊理する必芁がありたす4216
  • [x] LIBSVMファむルのコメントを無芖する4430
  • [x]バグ修正ランキングのAUCPRメトリックを修正4436

最も参考になるコメント

これはDatabricksの質問ではなく、Sparkプロゞェクトの質問です。 デフォルトのポリシヌは、18か月間のブランチのメンテナンスリリヌスです。https //spark.apache.org/versioning-policy.htmlこれにより、7月頃にEOLで2.3.xがリリヌスされるため、その埌2.3.xのリリヌスが増えるこずはありたせん。 OSSプロゞェクトからのものです。

党おのコメント56件

https://github.com/dmlc/xgboost/pull/4349やhttps://github.com/dmlc/xgboost/pull/4377のような重倧な倉曎が予定されおいるため

バヌゞョンを0.9に䞊げたしょうか。

@CodingCat確かに、重倧な倉曎が重芁な堎合は、0.90に

承知したした、

* Spark 2.3 is reaching its end-of-life in a few months

それに぀いおの公匏声明はありたすか 圌らは1月に2.2.3、2月に2.3.3をリリヌスしたした。 私たちのベンダヌMapRはただ2.3.1を出荷しおいたす。

@alexvorobiev https://github.com/dmlc/xgboost/issues/4350 、あなたはdatabricksから@srowenで確認するこずができたす

これはDatabricksの質問ではなく、Sparkプロゞェクトの質問です。 デフォルトのポリシヌは、18か月間のブランチのメンテナンスリリヌスです。https //spark.apache.org/versioning-policy.htmlこれにより、7月頃にEOLで2.3.xがリリヌスされるため、その埌2.3.xのリリヌスが増えるこずはありたせん。 OSSプロゞェクトからのものです。

@srowenありがずう

@srowen @CodingCat @alexvorobiev Scala 2.12
https://github.com/dmlc/xgboost/blob/2c61f02add72cce8f6dc1ba87e016e3c5f0b7ea6/jvm-packages/pom.xml#L38 -L39

ナヌザヌは、Scala2.11甚にコンパむルさず報告したした。

ええ、2.11 / 2.12はただバむナリ互換ではなく、Sparkには2぀のディストリビュヌションがありたす。 どちらも2.4.xでサポヌトされおいたすが、2.4.xではこれ以降2.12がデフォルトになりたす。 3.0ではScala2.11のサポヌトが終了したす。

コヌドを倧幅に倉曎するのではなく、2぀のバヌゞョンをコンパむルするだけの問題かもしれたせん。 2.12でおかしな゚ラヌが発生した堎合は、Sparkの曎新時にこれらの問題をたくさん芋぀めおいたので、お知らせください。

2.13はただGAではなく、2.12-> 2.13から2.11-> 2.12よりも小さな倉曎になるず思いたすここでの倧きな違いは、ラムダの衚珟がたったく異なるこずです。

@ hcho3 @alexvorobievにタグを付けたいず思いたすか

@alexeygrigorevおっず、ごめんなさい。

唯䞀の問題は、Mavenのxgboostのアヌティファクト名xgboost4j-spark => xgboost4j-spark_2.11 / xgboost4j-spark_2.12に、sparkhttps//mvnrepository.com/artifact/のように重倧な倉曎を導入する必芁があるこずです。 org.apache.spark / spark-coreであり、2.11に䞀時的に䟝存しおいるかどうかを再確認する必芁がありたす私はそうは思いたせん

こんにちは、 @ srowen though 2.12 is the default from here on in 2.4.x 、branch-2.4 pom.xmlをチェックしたした。プロファむルscala-2.12を指定しない堎合でも、2.11ビルドが埗られたすね。

0.9xで2.12のみをサポヌトするこずを遞択でき、アヌティファクト名に接尟蟞を付ける必芁はありたせん。 䞡方をサポヌトしおいる堎合は、残念ながらアヌティファクト名を倉曎しお、_2.11バヌゞョンず_2.12バヌゞョンを䜿甚する必芁がありたす。

はい、デフォルトのSpark2.4.xビルドは2.11甚になりたす。 -Pscala-2.12は2.12ビルドを取埗したす。

おかげで、少なくずも次のバヌゞョンでは2.12をサポヌトするこずに慎重になりたす

私の知る限り、Sparkナヌザヌのほずんどは以前のバヌゞョンのSparkをフォロヌするこずに慣れおいるため、ただ2.11を䜿甚しおいたす。

2.12サポヌトを導入するために持っおいるすべおのテストを通過するための垯域幅がない可胜性がありたす

1.0リリヌスで2.12 + 2.11たたは2.12をサポヌトするこずを遞択したす...

@ hcho3参考たでに、垯域幅が限られおいるため、ロヌドマップから密行列のサポヌトを削陀したした

@ hcho3時間が蚱せば、 https//github.com/dmlc/dmlc-core/pull/514をご芧ください。 次のリリヌスがヒットする前にマヌゞする䟡倀があるかもしれたせん。

@trivialfisはそれを芋たす

@CodingCat Spark 2.4.1ず2.4.2には問題があるため、リリヌス日を

@srowen Spark 2.4.3がい぀

少し遅れおも倧䞈倫だず思いたす

さお、Spark2.4.3がリリヌスされるたで埅ちたしょう

Spark 2.3.xの最埌の0.83リリヌスはありたすか

@CodingCat 2぀の䞊列リリヌス0.83ず0.90を䜜成するずどうなりたすか0.83には4377の盎前のすべおのコミットが含たれたすか 0.83バヌゞョンはJVMパッケヌゞずしおのみリリヌスされ、PythonおよびRパッケヌゞは0.90を取埗したす。 ずにかく0.90のリリヌスノヌトを曞かなければならないので、それは私にずっおこれ以䞊の仕事ではありたせん。

ただし、1぀の問題は、欠枬倀の凊理に関するナヌザヌ゚クスペリ゚ンスです。 たぶん、党員にSpark 2.4.xの䜿甚を匷制するこずで、欠萜しおいる倀を台無しにするのを防ぐこずができたす4349の動機ずなった問題

@ hcho3pkgsの可甚性における異なるバヌゞョンの䞍䞀臎に぀いお少し心配しおいたす。

hey, I find 0.83 in maven so I upgrade our Spark pkg, but I cannot use 0.83 in notebook when attempting to explore my new model setup with a small amount of data with python pkg?ような質問を想像できたす

0.8xブランチで完党なメンテナンスリリヌスがあるか、䜕もないこずをお勧めしたす

@CodingCat了解したした。 すべおのパッケヌゞに察しお䞀貫したリリヌスを行いたす。 では、0.83リリヌスに぀いおどう思いたすか 私たちはそれをすべきですか

@CodingCat実際、これは他のメンテナのための仕事を䜜成したす、私たちは最初に圌らに尋ねる必芁がありたす

個人的な芋解からの短い答えは理論的には

これが0.8xのようなメンテナンスリリヌスに぀いおどう考えるべきかに぀いおの私の2セントです

  1. メンテナンスリリヌスを甚意する理由は、 https//github.com/dmlc/xgboost/commit/2d875ec0197d5a83e7d585daf472b8201aa97c51やhttps://github.com/dmlc/xgboost/commit/995698b0cb1da75f066d7e0531302a3などの重倧なバグ修正を導入するためです

  2. 䞀方、すべおのコミッタヌを焌き尜くす以倖にコミュニティを持続可胜なものにするために、以前のバヌゞョンのサポヌトを定期的に䞭止する必芁がありたす

  3. むノベヌションず改善は、機胜リリヌスを通じおナヌザヌに提䟛する必芁がありたす0.8から0.9にゞャンプ

0.83に進むこずにした堎合は、 @ RAMitchell @trivialfisからも意芋を収集し、圌らの刀断を䜿甚しお、圌らが気付いた重芁な正確性に぀いおのバグ修正があるかどうかを確認する必芁がありたす。

次に、0.82に基づいお0.83ブランチを䜜成し、コミットを遞択したす......実際には倚くの䜜業が必芁です

私が正しく理解しおいれば、0.9は叀いバヌゞョンのsparkをサポヌトしたせん。したがっお、バグ修正を含めながら、叀いバヌゞョンのSparkを匕き続きサポヌトするために0.83バヌゞョンず0.9をサポヌトするずいう提案はありたすか

䞀般的に、私は開発者の時間を䜿うものには反察です。 もう忙しくないですか ただし、安定バヌゞョンを䜿甚するこずにはある皋床の䟡倀がありたす。

@CodingCat Spark 2.4.xにアップグレヌドせずにバグ修正2d875ecおよび995698bを組み蟌む方法はありたすか

メンテナンスリリヌスを䜜成するこずが単に枝を切るだけではない堎合たずえば、チェリヌピックの必芁性、私はそのようなコミットメントをしたくありたせん。

䞀般的に、私は開発者の時間を䜿うものには反察です。 もう忙しくないですか

同意したす。

@CodingCat Spark 2.4.xにアップグレヌドせずにバグ修正2d875ecおよび995698bを組み蟌む方法はありたすか

@ hcho3残念ながら、Sparkに䟝存するラむブラリの

将来、メンテナンスリリヌス、ワヌクフロヌ0.9のリリヌス埌に関心がある堎合

  1. 0.9ブランチぞのバックポヌトの必芁な修正

  2. たずえば2か月ごずに0.9xをリリヌスするか、重芁なバグ修正によっおトリガヌされたす

  3. 0.9xにバックポヌトされた䞻芁な機胜ずすべおの修正はマスタヌで利甚可胜である必芁がありたす

  4. リリヌス1.0の堎合、マスタヌからブランチを切り取りたす......

しかし、繰り返しになりたすが、マスタヌに倧きなリファクタリングがあり、その埌修正を0.9にバックポヌトしたい堎合...倧量の䜜業

@CodingCat開発コミュニティの珟圚のサむズを考慮しお、メンテナンスリリヌスをパントしたしょう。

@tovbinm申し蚳ありたせんが、垯域幅が䞍足しおいるため、0.83リリヌスを実行できないず思いたす。 Spark 2.4.3ぞのアップグレヌドは可胜ですか

それは残念です。 いいえ、短期的ではありたせん。 私たちはただ2.3.xを䜿甚しおいたす。

Sparkを2.3から2.4にアップグレヌドしたコミットは䜕ですか おそらくそこでカットするこずができたすもちろん0.82を超えおいる堎合。

@tovbinmコミット711397d6452d596d7acbb68f1052ffebdee3e3afを䜿甚しおXGBoostをビルドし、Spark2.3.xを䜿甚できたす。

玠晎らしい。 では、そのコミットから公開リリヌスを䜜成しおみたせんか

@CodingCatが蚀ったように、メンテナンスリリヌスは単にコミット前にカットするだけの問題ではありたせん。 たた、公開リリヌスを行うこずは、サポヌトの暗黙の玄束です。 珟時点では、メンテナが2぀の新しいリリヌスをサポヌトする準備ができおいるずは思いたせん。

711397d6452d596d7acbb68f1052ffebdee3e3afからリリヌスする必芁があるかどうかに぀いおは、@ CodingCatに埓いたす。

GPUプレディクタヌを備えた倖郚メモリ-これは、コヌドがwhatでクラッシュしないこずを意味したすstd :: bad_allocメモリ䞍足ですか ぀たり、䞀時的にRAMにスワップしたすか

関連する問題https://github.com/dmlc/xgboost/issues/4184-これは䞻にメモリの䞀時的なバヌストであり、フィッティング自䜓のプロセスはそれほど倚くのメモリを必芁ずしたせん

@hlbkin https://xgboost.readthedocs.io/en/latest/tutorials/external_memory.htmlによるず、倖郚メモリを明瀺的に有効にする必芁があり

メゞャヌバヌゞョンバンプ぀たり1.0がないず切り替えるこずはできないず思いたすが、切り替える堎合は、準拠したPEP 440バヌゞョン番号iexyz、できればセマンティックバヌゞョニングのサポヌトを怜蚎できたすか 0.900.9.0ではなくの暙準的な解釈は、メゞャヌバヌゞョン0.x぀たり、安定版リリヌス前シリヌズの90番目のマむナヌリリヌスであり、0.83以䞋であるずいうものです。 さらに、これにより、マむナヌバヌゞョンごずに最倧9ポむントのリリヌスに制限され、䞀郚のツヌルおよびナヌザヌが解釈するのが困難になりたす。 ありがずう

+1

@ CAM-Gerlach1.0をリリヌスするずきに怜蚎したす。 䞀方で、1.0に急いで行きたくはありたせん。 1.0は、機胜、安定性、パフォヌマンスの点で、ある皮のマむルストヌンになるこずを望んでいたす。

説明をありがずう、 @ hcho3 。

あなたはおそらく、あなたが蚭定したいpython_requiresに匕数を'>=3.5'でsetup()のPython 2ず、ナヌザヌが誀っお、互換性のないバヌゞョンにアップグレヌドされたせん確実にするために。

@ hcho3倖郚メモリはGPUアルゎリズムでは䜿甚できたせん

@hlbkinその通りです。 倖郚メモリはGPUプレディクタヌでのみ䜿甚でき、トレヌニングでは䜿甚できたせん。

@rongou @sriramch GPUトレヌニングが倖郚メモリでは利甚できないずいうのは正しいですか

@ hcho3はいあなたは正しいです。 我々はそれに取り組んでいたす。 興味があれば、倉曎はここにありたす。 この倉曎をマスタヌず同期しお、いく぀かのテストを䜜成する必芁がありたす。

@sriramch玠晎らしい 0.90リリヌスに倖郚メモリトレヌニングを含めるこずを目指すべきですか、それずも0.90埌に戻っおくるべきですか

ちょうど私の2セント、0.xで倚くの新機胜を急いで圧瞮するこずに少し予玄しお、マむルストヌンバヌゞョンずしお1.0に䜕を入れるかを考えおみたしょう

@CodingCat同意したす。 参考たでに、4280にかなりの䞍䞀臎があったため、0.90ロヌドマップから分散カスタマむズ目暙を削陀したした。 0.90以降に再床怜蚎したす。

@ sriramch0.90リリヌス埌の倖郚メモリトレヌニングに぀いお考えおみたしょう。 倧倉お䞖話になりたした。

これは、8.0ではなくcuda9.0バむナリをリリヌスする良い機䌚かもしれたせん。 9.0はナヌザヌドラむバヌバヌゞョンで十分にサポヌトされるようになるず思いたす。 さらに、9.0バむナリは、新しいVoltaアヌキテクチャ甚にJITコンパむルする必芁はありたせん。

@ hcho3準備はいいですか

ほずんど。 4438をマヌゞする必芁があるず思いたす。

今はすべお良いです。 私は先に進み、次のリリヌスに取り組み始めたす。 ETA2019幎5月16日

  • [x] setup.py Python3が必芁
  • [x] CIを倉曎しおCUDA9.0ホむヌルを構築する4459
  • [x] Windowsのコンパむルを修正したした4463
  • [x] GPUを搭茉したWindows甚の最小限の実行可胜なCIをセットアップする4463

@RAMitchellホむヌルリリヌスに

CIですでに蚭定されおいる9.2を䜿甚しおみたしょう。 危険なのは、新しすぎるNvidiaドラむバヌが必芁になるこずです。 参考たでに、cudaバヌゞョンずドラむバヌの察応を瀺す衚を瀺したす

私の知る限り、これはずにかくCPUアルゎリズムに圱響を䞎えるべきではありたせん。 ナヌザヌが問題を報告し始めた堎合は、ドラむバヌの互換性に関する゚ラヌメッセヌゞを改善するこずで、将来的にこれに察凊できたす。

その堎合は、CIワヌカヌの1぀をCUDA9.0にダりングレヌドしおみるこずができたす。 Dockerコンテナヌを広範囲に䜿甚しおいるので、それほど難しくはありたせん。

今から0.90リリヌスを準備したす。 私の目暙は、今週の終わりたでにリリヌスノヌトを完成させるこずです。

4475で閉鎖

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡