You are viewing main version. Click here to see docs for the latest stable version.

🏃‍♀️ Runhouse Docs 🏠

Discord

Why did we build Runhouse? To enable fast, debuggable, and iterable development of machine learning workflows.

Without Runhouse: ML workflow is fragmented and development is slow

  • Researchers start in hosted notebooks or SSH’ed into a cluster:

    • Fast and interactive development

    • But usually non-standard compute environment and code

  • Research to production happens over the course of days or weeks:

    • Notebook code needs translation to orchestrator nodes

    • Most time spent waiting to rebuild and resubmit pipelines, with each iteration loop taking about 20+ minutes

  • Production debugging is challenging:

    • Orchestrators designed for scheduling and logging runs, but are not development-friendly runtimes

    • Continue “debug through deployment” that slowed down research to production in the first place

With Runhouse: Regular code is dispatched to cloud compute for execution at every step

  • Researchers write normal code:

    • Each dispatch takes <5 seconds, providing interactive development experience

    • Code executes on the same compute and environment of production

    • Logs stream back to local

  • Moving to production is instant:

    • Orchestrator nodes contain 5 lines of dispatch code (not 200 lines of application code)

    • Rather than being your ML runtime, orchestrators are simply used to schedule, log, and monitor runs

  • Easily debug or update pipelines in production:

    • Branch the underlying code

    • Make changes and dispatch iteratively, like in the research step

    • Merge back into main

In short, Runhouse makes ML development feel like normal software development.

Table of Contents

Contributing and Community