ZenML 在 Spaces 上
ZenML 是一款可扩展的开源 MLOps 框架,用于创建可移植、生产就绪的 MLOps 管道。它专为数据科学家、机器学习工程师和 MLOps 开发人员在开发到生产过程中进行协作而设计。
ZenML 提供了简单灵活的语法,它与云和工具无关,并具有针对 ML 工作流的接口/抽象。使用 ZenML,你可以在一个地方使用所有你喜欢的工具,以便你可以定制适合你特定需求的工作流。
ZenML Huggingface Space 允许你只需点击几下即可启动并运行 ZenML 的部署版本。在几分钟内,你将拥有这个默认的 ZenML 仪表板部署,并准备好从你的本地机器连接。
在接下来的部分中,你将学习部署自己的 ZenML 实例,并使用它从 Hub 中查看和管理你的机器学习管道。ZenML 在 Huggingface Spaces 上是一个 **完全托管在 Hub 上使用 Docker 的独立应用程序**。下图说明了完整的过程。
访问 ZenML 文档 了解有关其功能以及如何开始通过你的 Huggingface Spaces 部署运行机器学习管道的更多信息。你可以查看 一些 ZenML 管道的示例 来开始使用,或者从 ZenML 项目库 中选择一些更复杂的生产级项目。ZenML 与许多你喜欢的工具无缝集成,包括 Huggingface!如果你想使用其他工具,我们具有可扩展性,你可以轻松地将它与任何自定义工具或工作流一起使用。
⚡️ 在 Spaces 上部署 ZenML
你只需点击几下即可在 Spaces 上部署 ZenML
要设置 ZenML 应用程序,你需要指定三个主要组件:所有者(你的个人帐户或组织)、Space 名称和可见性(在页面下方)。请注意,如果你希望从本地机器连接到 ZenML 服务器,则 Space 的可见性需要设置为“公开”。
你可以在此处选择更高层的机器来用作你的服务器。选择付费 CPU 实例的优势在于它不受自动关闭策略的约束,因此只要你保持运行,它就会一直运行。为了使用持久性 CPU,你可能需要创建并设置一个 MySQL 数据库以连接(见下文)。
要个性化你的 Space 的外观,例如标题、表情符号和颜色,请导航到“文件和版本”,并修改你 README.md 文件中的元数据。有关 Spaces 配置参数的完整信息,请参见 HuggingFace 文档参考指南。
创建 Space 后,你将注意到屏幕上显示了“正在构建”状态以及日志。当状态变为“正在运行”时,你的 Space 就已准备就绪。如果 ZenML 登录 UI 不可見,请尝试刷新页面。
在你的 Space 的右上角,你将看到一个带三个点的按钮,点击它,将提供一个“嵌入此 Space”的菜单选项。(有关此功能的更多详细信息,请参见 HuggingFace 文档。)复制屏幕上显示的“直接 URL”。这应该类似于:https://<YOUR_USERNAME>-<SPACE_NAME>.hf.space
。打开该 URL 并使用我们的默认登录名访问仪表板(用户名:“default”,密码:(留空))。
从本地机器连接到你的 ZenML 服务器
一旦你的 ZenML 服务器启动并运行,你就可以从你的本地机器连接到它。为此,你需要获取你的 Space 的“直接 URL”(见上文)。
你可以使用“直接 URL”从你的本地机器使用以下 CLI 命令连接到你的 ZenML 服务器(安装 ZenML 后,并使用你自己的 URL 替换占位符)
zenml connect --url '<YOUR_HF_SPACES_DIRECT_URL>' --username='default' --password=''
你也可以在浏览器中使用直接 URL 将 ZenML 仪表板用作全屏应用程序(即没有 HuggingFace Spaces 包裹它)。
额外配置选项
默认情况下,ZenML 应用程序将配置为使用 SQLite 非持久性数据库。如果你想使用持久性数据库,你可以通过修改你 Space 根目录中的 Dockerfile
来配置它。有关可以更改的各种参数的完整详细信息,请参见 我们有关使用 Docker 部署 ZenML 时配置 ZenML 的参考文档。
您也可以将外部秘密后端与您的 HuggingFace Spaces 结合使用,如 我们的文档 中所述。您应确保使用 HuggingFace 的内置“存储库秘密”功能来配置您需要在 Dockerfile
配置中使用的任何秘密。请参阅文档,以了解有关如何设置此功能的更多详细信息。
- 更改您启动时获得的
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 上