From an SRE perspective, this sounds like a nightmare. Controlled releases are really important for reliability. I definitely don't want my devs doing manual rollouts from a notebook.
A PyTorch Approach to ML Infrastructure
11–20 of 24 posts
Re: A PyTorch Approach to ML Infrastructure
#12> Just as PyTorch lets you send a model .to("cuda"), Runhouse enables hardware heterogeneity by letting you send your code (or dataset, environment, pipeline, etc) .to(“cloud_instance”, “on_prem”, “data_store”...), all from inside a Python notebook or script. There’s no need to manually move the code and data around, package into docker containers, or translate into a pipeline DAG. From an SRE perspective, this sound…
We've also built a basic permissioning system to control who can actually overwrite the saved version of a resource, so there are no accidents. E.g. if the prod inference blob is saved at "mikes_pizza/nlp/bert/bert_prod", you can set it so only x accounts can overwrite that metadata to point to a new model. Ideally we just inherit existing RBAC groups sometime soon.
Does that make sense? Curious if you had something else in mind as far as the danger.
Re: A PyTorch Approach to ML Infrastructure
#13Re: A PyTorch Approach to ML Infrastructure
#14Re: A PyTorch Approach to ML Infrastructure
#15Very interesting. I just worked to implement a baby version of this kind of system at work. Similar to this project, our basic use case was allowing researchers to quickly/easily execute their arbitrary R&D code on cloud resources. It's difficult to know in advance what they might be doing, and we wanted to avoid a situation where they are pushing a docker container or submitting a file every time they change somethi…
Hi! That's awesome to hear, and very aligned with the devx we're going for. How was your system received? In fact we totally agree and are not cloudpickling the function because of the package minor version issues. We sync over the code to the destination environment and the server imports it fresh, which is much more robust. The one piece of code that cloudpickles functions is a trap door for certain weird situation…
Very interesting about the implementation. I admittedly did not read that closely and clearly did not grok the what the actual hot path was there, will check it out more. May have to borrow your approach or perhaps just adopt this wholesale :) Regardless, super cool project, will be following.
Re: A PyTorch Approach to ML Infrastructure
#16Earlier quoted context omitted.
Hi! That's awesome to hear, and very aligned with the devx we're going for. How was your system received? In fact we totally agree and are not cloudpickling the function because of the package minor version issues. We sync over the code to the destination environment and the server imports it fresh, which is much more robust. The one piece of code that cloudpickles functions is a trap door for certain weird situation…
Our system was super well received minus the stability issues. I think the UX of being able to "ship" code like this is a big leap over the alternatives - it actually gives me a lot of confidence in the approach seeing that someone else had a similar thought. Very interesting about the implementation. I admittedly did not read that closely and clearly did not grok the what the actual hot path was there, will check it…
Re: A PyTorch Approach to ML Infrastructure
#17Have you tired Hidet ? https://pypi.org/project/hidet/
Re: A PyTorch Approach to ML Infrastructure
#18How do you compare Runhouse with Ray which also simplifies distributed computing?
Re: A PyTorch Approach to ML Infrastructure
#19EDIT: looks like this actually uses it under the hood: https://github.com/run-house/runhouse/blob/main/requirements...
Re: A PyTorch Approach to ML Infrastructure
#20Since people are suggesting alternatives, I'd like to shoutout skypilot: https://github.com/skypilot-org/skypilot EDIT: looks like this actually uses it under the hood: https://github.com/run-house/runhouse/blob/main/requirements...