Xgboost: Pythonxgboostのメモリ消費量が多い

作成日 2020年04月02日  ·  3コメント  ·  ソース: dmlc/xgboost

私はPythonAutoMLパッケージに取り組んでおり、ユーザーの1人がxgboostの使用中に非常に高いメモリ使用量を報告しました。

xgboostによるメモリ消費を示すために調査を行いました。 あなたはここでノートブックを見つけることができます。 コードから、モデルが7GBを超えるRAMメモリを割り当てていることがわかります。 モデルをハードディスク(5 kB!)に保存してからロードし直すと、大量のRAMを節約できます。

私にとっては、xgboostがデータのコピーをその構造に保存しているように見えますか? 私は正しいですか?

xgboostでメモリ使用量を減らす方法はありますか? モデルをハードドライブに保存してからロードし直すことが、この問題を処理する方法だと思いますか?

最も参考になるコメント

@pplonski 、このPR https://github.com/dmlc/xgboost/pull/5334でもCPUのメモリ消費量の削減を実装しましたが、「hist」メソッドのみです。 今のところマスターに含まれていますが、将来のリリースの一部になることを願っています。

メモリ、Kb | 航空会社| Higgs1m |
-| -| -|
前| 28311860 | 1907812 |
https://github.com/dmlc/xgboost/pull/5334 | 16218404 | 1155156 |
削減:| 1.75 | 1.65 |

@trivialfisに同意してください、この地域でやるべきことはたくさんあります。

全てのコメント3件

@pplonskiヒストグラムアルゴリズムのコピーを削除しようとしています。 作業中です。 GPUの場合、ほとんどの場合、 https ://github.com/dmlc/xgboost/pull/5420https://github.com/dmlc/xgboost/pull/5465で行われます

CPUにはまだやるべきことがいくつかあります。

@pplonski 、このPR https://github.com/dmlc/xgboost/pull/5334でもCPUのメモリ消費量の削減を実装しましたが、「hist」メソッドのみです。 今のところマスターに含まれていますが、将来のリリースの一部になることを願っています。

メモリ、Kb | 航空会社| Higgs1m |
-| -| -|
前| 28311860 | 1907812 |
https://github.com/dmlc/xgboost/pull/5334 | 16218404 | 1155156 |
削減:| 1.75 | 1.65 |

@trivialfisに同意してください、この地域でやるべきことはたくさんあります。

こんにちは、私は最近xgboostで同様の高メモリの問題に直面しました。 トレーニングに「gpu_hist」を使用しています。

train()メソッドを実行すると、システムメモリが急増し、jupyterカーネルがクラッシュすることに気付きました。

  1. XgboostがシステムRAMにデータのコピーを作成していると言うのは正しいですか(「gpu_hist」を使用している場合でも)?
  2. 私はxgboostがトレーニングデータ全体をGPUにロードするという仮定の下にありました。 それも間違っていますか?
このページは役に立ちましたか?
0 / 5 - 0 評価