Hub 文档

ZenML on Spaces

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

ZenML on Spaces

ZenML 是一个可扩展的开源 MLOps 框架,用于创建可移植的、生产就绪的 MLOps 流水线。它专为数据科学家、机器学习工程师和 MLOps 开发人员在开发到生产过程中进行协作而构建。

ZenML 提供简单灵活的语法,与云和工具无关,并具有面向 ML 工作流的接口/抽象。借助 ZenML,您将把所有喜欢的工具集中在一个地方,这样您就可以定制一个满足您特定需求的工作流。

ZenML Huggingface Space 让您只需点击几下即可启动并运行部署版本的 ZenML。几分钟内,您就可以部署这个默认的 ZenML 仪表板,并准备好从本地机器连接到它。

在接下来的部分中,您将学习如何部署自己的 ZenML 实例,并使用它直接从 Hub 查看和管理您的机器学习流水线。Huggingface Spaces 上的 ZenML 是一个**完全托管在 Hub 上使用 Docker 的独立应用程序**。下图说明了完整的过程。

ZenML on HuggingFace Spaces -- default deployment

访问 ZenML 文档,了解其功能以及如何通过 Huggingface Spaces 部署开始运行您的机器学习流水线。您可以查看 一些小示例 ZenML 流水线入门,或者在 ZenML 项目仓库 中选择一些更复杂的生产级项目。ZenML 开箱即用地集成了许多您喜欢的工具,当然也包括 Huggingface!如果还有其他您想使用的工具,我们的设计是可扩展的,您可以轻松地将其与您的自定义工具或工作流配合使用。

⚡️ 在 Spaces 上部署 ZenML

您只需点击几下即可在 Spaces 上部署 ZenML。

要设置您的 ZenML 应用程序,您需要指定三个主要组件:所有者(您的个人账户或组织)、Space 名称和可见性(页面下方)。请注意,如果您希望从本地机器连接到 ZenML 服务器,Spaces 的可见性需要设置为“公开”。

Choose the ZenML Docker template

您可以选择更高层的机器用于您的服务器。选择付费 CPU 实例的优点是它不受自动关机策略的影响,因此只要您不关闭它,它就会一直运行。为了使用持久 CPU,您可能需要创建并设置一个 MySQL 数据库进行连接(见下文)。

要个性化您的 Space 外观,例如标题、表情符号和颜色,请导航到“文件和版本”并修改您的 README.md 文件中的元数据。有关 Spaces 配置参数的完整信息,请参阅 HuggingFace 文档参考指南

创建您的 Space 后,您将看到一个“构建中”的状态以及屏幕上显示的日志。当它切换到“运行中”时,您的 Space 就可以使用了。如果 ZenML 登录 UI 没有显示,请尝试刷新页面。

在您的空间右上角,您会看到一个带有三个点的按钮,点击它会弹出一个菜单选项“嵌入此空间”。(有关此功能的更多详细信息,请参阅 HuggingFace 文档。)复制您现在可以在屏幕上看到的框中显示的“直接 URL”。它应该看起来像这样:`https://<您的用户名>-<空间名称>.hf.space`。打开该 URL 并使用我们的默认登录凭据访问仪表板(用户名:“default”,密码:(留空))。

从本地机器连接到您的 ZenML 服务器

一旦您的 ZenML 服务器启动并运行,您就可以从本地机器连接到它。为此,您需要获取 Space 的“直接 URL”(见上文)。

只有当空间可见性设置为“公开”时,您的空间 URL 才能用于从本地机器连接。

您可以使用“直接 URL”通过以下 CLI 命令从本地机器连接到您的 ZenML 服务器(在安装 ZenML 并使用您的自定义 URL 而不是占位符之后)

zenml connect --url '<YOUR_HF_SPACES_DIRECT_URL>' --username='default' --password=''

您也可以在浏览器中使用直接 URL,将 ZenML 仪表板作为全屏应用程序使用(即不带 HuggingFace Spaces 包装)。

ZenML 仪表板目前在 Huggingface 网页内部(即包裹在主 `https://huggingface.co/...` 网站中)查看时无法正常工作。这是由于 ZenML 和 Huggingface 之间处理 cookie 的限制。您**必须**从“直接 URL”(见上文)查看仪表板。

额外配置选项

默认情况下,ZenML 应用程序将配置为使用 SQLite 非持久化数据库。如果您想使用持久化数据库,可以通过修改 Space 根目录中的 `Dockerfile` 来配置。有关可以更改的各种参数的完整详细信息,请参阅 我们的参考文档,了解如何配置通过 Docker 部署的 ZenML。

如果您只是将该空间用于测试和实验,则无需对配置进行任何更改。一切都将开箱即用。

您还可以将外部密钥后端与 HuggingFace Spaces 一起使用,如 我们的文档 中所述。您应确保使用 HuggingFace 内置的“仓库密钥”功能来配置您在 `Dockerfile` 配置中需要使用的任何密钥。有关如何设置此功能的更多详细信息,请参阅 文档

如果您希望将云密钥后端与 ZenML 一起用于密钥管理,**您必须在仪表板上的 ZenML 服务器上采取以下最低安全预防措施**
  • 更改您在启动时获得的 `default` 帐户的密码。您可以通过仪表板或 CLI 完成此操作。
  • 创建一个新用户帐户并设置密码,并将其分配为 `admin` 角色。这也可以通过仪表板(通过“邀请”新用户)或通过 CLI 完成。
  • 如上所述,使用新用户帐户和密码重新连接到服务器,并将此新用户帐户用作您的工作帐户。

这是因为 HuggingFace Spaces 部署过程创建的默认用户没有分配密码,而且由于 Space 是公开可访问的(因为 Space 是公开的),_如果没有这一额外步骤,任何人都有可能访问您的秘密_。要更改密码,请点击仪表板右上角的按钮导航到“设置”页面,然后点击“更新密码”。

在 HF Spaces 上升级您的 ZenML 服务器

默认空间将自动使用最新版本的 ZenML。如果您想更新您的版本,只需在空间的“设置”选项卡中选择“出厂重置”选项。请注意,这将清除空间中包含的任何数据,因此如果您没有使用 MySQL 持久数据库(如上所述),您将丢失 ZenML 部署在空间中的任何数据。您还可以通过更新 `Dockerfile` 最顶部的 `FROM` 导入语句来配置空间以使用更早的版本。

后续步骤

接下来,请查阅我们的 ZenML MLOps 入门指南,这是一系列简短实用的页面,介绍如何快速上手。或者,查看我们的 `quickstart` 示例,这是一个包含 ZenML 许多功能的完整端到端示例。

🤗 反馈与支持

如果您在 HuggingFace Spaces 上的 ZenML 服务器遇到问题,可以通过点击空间顶部的“打开日志”按钮来查看日志。这将为您提供更多关于服务器运行情况的上下文信息。

如果您有任何建议或需要其他任何不工作的具体支持,请加入 ZenML Slack 社区,我们很乐意为您提供帮助!

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.