Turn your ML infra 🧱 into an ML home 🏡

Runhouse demolishes research↔production and infra silos so ML Engineers, Researchers, and Data Scientists share a living, evolving ML stack.

Try it in 10 minutes on AWS, GCP, Azure, Lambda Labs, or on-prem

Get started
Code blocks showing Runhouse features in Python: "Send your function to any compute" "Call it normally, but it's running remotely!" "Use it once or keep it" "Share with your teammates" "Reload to call your service again from anywhere"

Runhouse is a unified interface into existing compute and data systems, built to reclaim the 50-75% of ML practitioners' time lost to debugging, adapting, or repackaging code for different environments.

Who is this for?

ML Engineers

Who want to be able to update and improve production services, pipelines, and artifacts with a Pythonic, debuggable devX

ML Researchers & Data Scientists

Who don't want to spend or wait 3-6 months translating and packaging their work for production

OSS Maintainers

Who want to improve the accessibility, reproducibility, and reach of their code, without having to build support or examples for every cloud or compute system

Run

house

Runhouse OSS is a unified interface into compute and data infra which is unopinionated, ergonomic, and powerful enough for fast experimentation, full-scale deployment, and everything in between.

Save 3-6 months of research-to-production time per project.

See how Hugging Face and Langchain use Runhouse:

Runhouse Den is a sharing, lineage, and governance layer to make your ML stack multiplayer, visible, and manageable. No more rampant duplication, broken lineage, lost artifacts, and ownerless resources.

Uber, Shopify, and Spotify have all migrated to the 3rd gen ML platform. We built Runhouse so you can too, but incrementally and within your existing infra and tooling.

There’s really no migration.

Various logos: Amazon SageMaker, Snowflake, Apache Airflow, mlflow, databricks, Kubeflow
Various logos: AWS, Google Cloud, Azure, Lambda, Kubernetes, On-Prem
Various logos for Jupyter, Visual Studio, PyCharm, and terminal

Runhouse OSS works with your existing stack
inside your own infra,
wherever you run Python

How It Works

Send code and data to any infra,

Graphic showing Runhouse functions used to send code to any infra

and use them natively, from anywhere

Graphic showing a list of services and functions to utilize them in Runhouse

Try It Yourself

cpu = rh.cluster("^rh-32-cpu") gpu = rh.cluster("rh-a100", instance_type="A100:1", provider="cheapest")
inference_fn_gpu = rh.function(inference_fn).to(gpu, env=['./', 'torch']) result = inference_fn_gpu(prompt='A hot dog made of matcha powder.') result.show()
gpu.install_packages([rh.git_package(git_url='https://github.com/huggingface/accelerate.git'), 'transformers', 'torch']) gpu.run(['python accelerate/examples/nlp_example.py'])

Pipelining

# Create microservices for pipeline components, sending them to desired cluster to be run on preproc_data = rh.function(fn=preproc_data).to(cpu, env=["datasets", "transformers"]) fine_tune = rh.function(fine_tune).to(gpu, env=["reqs:./"]) eval_model = rh.function(eval_model).to(gpu) with rh.run(name="exp_20230612", path="~/rh/logs/exp_20230612"): train_data, test_data = preproc_data(remote_raw_data) # runs on cpu trained_model = fine_tune(pretrained, train_data) # runs on gpu accuracy = eval_model(trained_model, test_data) # runs on gpu

The next generation of ML platforms will not have research-to-production silos, and will be automatically traced for lineage and governance.

Keep up with Runhouse features and announcements.