-
Notifications
You must be signed in to change notification settings - Fork 68
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
mlos_bench_service #732
Comments
May want to split some of these tasks out to separate issues later on |
@bpkroth should be easy I have examples of interactive notebooks in my internal repo as well as the streamlit being quite a transferable process to a notebook experience! |
can follow similar workflow as the sidemenu |
Requirement would be a user can run at least one experiment manually first |
From the mysql side, we currently have something similar that I can work on generalizing. It is basically a FastAPI app (we have been calling it a "runner") with the following endpoints. Experiment-related:
Front-end related, mainly for populating the JSON body to POST /experiments/start:
We have 3 docker images, for this runner, the dashboard that uses it, and
|
Im really glad you guys are still using FastAPI from summer, and even building it out. Happy to see it! |
Portions of this make sense, but I'd rather have it do more iteraction with the storage backend, particularly on the runner side of things. Right now there's basically an assumption that If instead, the With that change, then all of the REST operations can happen on the frontend(s) (which can also be more than one), and all of the execution operations can happen elsewhere. The Storage layer becomes the only source of truth and everything else can scale by communicating with it. Also note that the frontends could continue to be notebooks in this case as well. It basically frees us to implement different things in the web UI (#838). Does it make sense? |
This is very true. Most of the code can be directly used in a notebook in the same way. I prefer a clean frontend but I know some people who are super hacky and sciency will stick to notebooks. We've discussed this a lot this summer. Anyways this is great stuff, made my day that the team(s) are building on my work from summer, democratizing autotuning will probably mean turning MLOS into a simple frontend web application, but this is again just my opinion. |
I see, I think I understand. In this case, would we queue up experiments into storage via its API in the "Runnable" state, and a pool of runners would treat this as a queue in some order to invoke experiments, for scalability across multiple runners. This would require us to store all the information needed to execute an experiment into the storage for runners to access. The current schema for My issue with this is having to push potentially sensitive experiment parameters (usually in the global files) to a git repo to run an experiment (e.g. connection string info) Should we consider expanding the I could imagine a first pass might be adding JSON fields representing values for |
mlos_benchd
) to manage those actionsmlos_bench
process for them and monitor the child process, changing that Experiment state in the database as necessary corresponding to the child process exit codeThe text was updated successfully, but these errors were encountered: