-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[dask] Support asynchronous workflows #3929
Comments
Thanks for opening this! Could you please provide a more specific XGBoost link, to the parts of their code that specifically allow async access? Could you also add details on why someone would want to use LightGBM with Dask asynchronously? |
Hi James. I've updated my comment with some cases I can think of. I realize this probably needs to come after some other building blocks but I'd like to work towards this, what do you think would be needed first? |
Thanks very much for that. I added a link to XGBoost's docs on this topic as well: https://xgboost.readthedocs.io/en/latest/tutorials/dask.html#working-with-asyncio.
If you're interested in contributing further, we'd be very grateful! But to be honest, I think that a lot of fundamental pieces need to be added before we consider supporting asynchronous training / prediction in the Dask interface. The Dask interface is still very new and is missing big features like Adding support for |
I've added this to #2302 , where we keep all feature requests. |
Summary
Implementing coroutines for training and computing predictions with an asynchronous dask client.
Motivation
By having an asynchronous interface,
LightGBM
's distributed training with dask could be used in concurrent applications. One possible use case for this would be having a trained LightGBM model in a web application and get predictions from it in a non-blocking fashion. Another possibility could be having an API that takes in some configuration as a POST request, starts a remote cluster and trains a LightGBM model on it, having this interface would allow several models to be trained concurrently.Description
This can be achieved by implementing coroutines for the
train
andpredict
functions and then usingclient.sync
on them to get the synchronous variants.References
The text was updated successfully, but these errors were encountered: