runhouse

runhouse

灵活高效的Python机器学习远程部署框架

Runhouse是一个Python机器学习开发框架,支持将函数和类快速部署到各种云计算基础设施。它实现了从笔记本电脑远程运行和调试代码,提供了灵活性和成本优化。该框架简化了从研究到生产的过程,支持跨集群、区域或云的复杂操作,并具备资源共享和版本控制功能。Runhouse适合在异构计算环境中执行Python的团队,能够提升机器学习开发的成熟度和效率。

Runhouse云计算机器学习远程执行资源共享Github开源项目

🏃‍♀️Runhouse🏠

Discord Twitter 网站 文档 Den

👵 欢迎回家!

Runhouse 能够在研究和生产环境中实现快速、高效的机器学习开发。 它允许你将 Python 函数和类分发到任何你自己的云计算基础设施上,并像调用本地函数一样即时调用它们。这意味着:

  1. 你可以从笔记本电脑原生地在远程 GPU 或其他强大的基础设施(如 Ray、Spark 或 Kubernetes)上运行和调试代码。然后,你的应用程序代码可以在 CI/CD 或生产环境中原样运行,仍然将工作分派到远程基础设施。
  2. 你的应用程序(包括基础设施步骤)以代码的形式被捕获,消除了手动繁琐工作,并可以在团队内部以及在研究和生产环境中完全复现。
  3. 你拥有无与伦比的灵活性来扩展和优化成本,团队通常可以节省约 50% 的成本。

跨集群、地区或云的编排变得轻而易举,复杂的逻辑(如扩展、容错或多步骤工作流)也是如此。

Runhouse 适用于哪些情况?

  • 当研究到生产的过程缓慢且痛苦时,既由于研究和生产数据/环境的不匹配,也由于编排器管道缺乏可调试性。
  • 如果团队需要一种与基础设施无关的方式来执行 Python,以灵活地在异构计算环境中运行单一工作流,甚至可以在多个云提供商上运行。
  • 结束对 SageMaker 或 Vertex 等一体化平台的挫折感,转向更灵活的解决方案来开发和部署 ML 代码。
  • 随着组织从一次性 ML 项目转向规模化 ML 飞轮,ML 成熟度不断提高。

亮点:

  • 🚀 立即将 Python 函数、类和数据分发到远程基础设施,并像调用本地函数一样即时调用它们。部署/重新部署几乎是即时的,日志会实时回传,使迭代速度极快。
  • 🐍 无需 DSL、装饰器、yaml、CLI 咒语或样板代码。只需使用你自己的常规 Python 代码,就可以部署到任何运行 Python 的地方。
  • 👩‍🔬 无需特殊打包或部署处理;研究和生产代码完全相同。可以从 CI/CD、编排器或应用程序中像调用微服务一样调用 Runhouse 部署的函数。
  • 👩‍🎓 自带基础设施,支持广泛且不断增长 - Ray、Kubernetes、AWS、GCP、Azure、本地、本地部署等。
  • 👩‍🚀 极高的可复现性和可移植性。没有锁定,因为当你想要转移、扩展或选择最便宜的定价时,更改基础设施就像更改指定不同集群的一行代码一样简单。
  • 👷‍♀️ 将 Python 函数或类作为强大的服务共享,包括 HTTPS、身份验证、可观察性、扩展、自定义域名、密钥、版本控制等。
  • 👩‍🍳 支持复杂的工作流或服务和高级逻辑,因为你的组件是解耦的,而且基础设施/模块可以通过代码进行交互。

Runhouse API 非常简单。将你的模块(函数和类)发送到计算基础设施上的环境(工作进程)中,如下所示:

import runhouse as rh from diffusers import StableDiffusionPipeline def sd_generate(prompt, **inference_kwargs): model = StableDiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-2-base").to("cuda") return model(prompt, **inference_kwargs).images if __name__ == "__main__": gpu = rh.cluster(name="rh-a10x", instance_type="A10G:1", provider="aws").up_if_not() sd_env = rh.env(reqs=["torch", "transformers", "diffusers"], name="sd_env") # 部署函数和环境(同步本地代码更改并安装依赖项) remote_sd_generate = rh.function(sd_generate).to(gpu, env=sd_env) # 这个调用实际上是对远程服务器上运行的应用程序的 HTTP 请求 imgs = remote_sd_generate("A hot dog made out of matcha.") imgs[0].show() # 你也可以直接通过 HTTP 调用它,例如从其他机器或语言 print(remote_sd_generate.endpoint())

使用上述简单结构,您可以构建、调用和共享:

  • 🛠️ AI基础组件:预处理、训练、微调、评估、推理
  • 🚀 高阶服务:多步推理、端到端工作流、评估测试、超参数优化
  • 🧪 用户验收测试端点:为客户团队提供即时端点进行测试和集成
  • 🦺 最佳实践工具:个人身份信息模糊处理、内容审核、数据增强

🛋️ 使用Runhouse Den进行基础设施监控、资源共享和版本控制

通过Runhouse Den(这个代码库的配套产品),您可以解锁独特的可观察性和共享功能。

将函数或类发送到远程计算后,Runhouse允许您将其作为服务持久化并共享,将原本冗余的AI活动转变为团队或公司内的通用模块化组件。

  • 这使共享资源可观察。通过Den,您可以看到资源被调用的频率(以及由谁调用),以及它所在机器的GPU利用率。
  • 这提高了成本效益 - 想象10个ML管道和研究人员调用相同的共享预处理、训练、评估或批量推理服务,而不是每个人都分配自己的计算资源。
  • 这提高了速度和可复现性。避免为每个管道部署略有不同的代码,改进方法一旦发布就可以部署给所有人。

从任何地方登录以保存、共享和加载资源,并在单一界面上观察使用情况、日志和计算利用率:

runhouse login

或从Python中:

import runhouse as rh rh.login()

扩展上面的示例,通过Den共享和加载我们的应用:

remote_sd_generate.share(["my_pal@email.com"]) # 现在可以从任何地方重新加载服务存根,您和您的合作者随时可用 # 注意,即使您更新、移动或扩展服务,此代码也无需更改 remote_sd_generate = rh.function("/your_username/sd_generate") imgs = remote_sd_generate("更多抹茶热狗。") imgs[0].show()

<h2 id="supported-infra"> 🏗️ 支持的计算基础设施 </h2>

如果您没有看到您喜欢的计算设施,请联系我们(发邮件至 first name@run.house)。

  • 本地 - 支持
  • 单机 - 支持
  • Ray集群 - 支持
  • Kubernetes - 支持
  • 亚马逊云服务(AWS)
    • EC2 - 支持
    • EKS - 支持
    • SageMaker - 支持
    • Lambda - Alpha
  • 谷歌云平台(GCP)
    • GCE - 支持
    • GKE - 支持
  • 微软Azure
    • 虚拟机 - 支持
    • AKS - 支持
  • Lambda Labs - 支持
  • Modal Labs - 计划中
  • Slurm - 探索中

👨‍🏫 了解更多

🐣 入门:安装、设置和快速演示。

📖 文档: 详细的API参考、基本API示例和演示、端到端教程,以及高级架构概述。

👩‍💻 博客:深入探讨Runhouse功能、使用案例和AI基础设施的未来。

👾 Discord:加入我们的社区提问、分享想法并获取帮助。

𝑋 Twitter:关注我们获取更新和公告。

🙋‍♂️ 获取帮助

Discord上给我们发消息,给我们发邮件(first name@run.house),或创建一个issue。

👷‍♀️ 贡献

我们欢迎贡献!请查看贡献指南

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多