[dask] warn if attempting to use tree_learner other than data parallel #3848
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Based on #3834 (comment).
Today, LightGBM's distributed learning supports three methods (feature parallel, data parallel, and voting parallel) --> https://lightgbm.readthedocs.io/en/latest/Features.html#optimization-in-parallel-learning
The Dask interface in
lightgbm.dask
is currently only tested with data parallel, where each chunk of the dataset is a row-wise chunk (all features, subset of rows).The other methods MIGHT work with
lightgbm.dask
, but significant testing and documentation is needed. Supporting those methods might include adding extra validation to the Dask package as well.Changes in this PR
The other parallel learning methods are optimizations, and I don't think the work to support them (#3834) needs to make it into the next LightGBM release (3.2.0). So that testing and documentation won't happen in the next few weeks.
This PR proposes adding a warning if you use one of these methods, to tell users that support for methods other than "data" is experimental and might break.
@StrikerRUS I know you recommended an error in #3834 (comment), but in my opinion it would be better to make this only a warning so that expert users (who know how to do the Dask partitioning for the different methods) are still able to experiment with the other methods.