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。

👷‍♀️ 贡献

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

编辑推荐精选

潮际好麦

潮际好麦

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

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

iTerms

iTerms

企业专属的AI法律顾问

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

SimilarWeb流量提升

SimilarWeb流量提升

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

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

Sora2视频免费生成

Sora2视频免费生成

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

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

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

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

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

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

下拉加载更多