在工作区共享模型
重要的
砖推荐使用模型统一目录分享在工作空间模型。本文中的方法是弃用。
砖支持共享模型的跨多个工作区。例如,您可以开发和日志模型在开发工作区,然后访问和比较对模型在一个单独的生产工作区。这非常有用当多个团队共享访问模式或当你的组织有多个工作空间来处理不同的发展阶段。cross-workspace模型开发和部署,砖建议部署代码方法,模型训练代码部署到多个环境。
在multi-workspace情况下,您可以通过使用远程访问模型在砖工作区模型注册表。例如,数据科学家可以访问生产模型与只读访问注册表,比较他们的研发模式和当前生产模型。一个例子multi-workspace设置如下所示。
访问远程注册表是由令牌。每个用户需要访问或脚本创建一个个人访问令牌远程注册表中张牌到秘密的经理他们的本地工作区。每个API请求发送到远程注册表工作区必须包括访问令牌;MLflow提供了一种简单的机制来指定要使用的秘密在执行注册表操作的模式。
需求
使用一个模型注册在工作区要求MLflow Python客户机,释放1.11.0或以上。
请注意
此工作流实现的逻辑MLflow客户机。确保环境运行客户端访问使网络请求对砖工作区包含远程注册表模型。常见的限制放在注册表空间是一个IP允许列表,可以从MLflow不允许连接客户端运行在集群在另一个工作空间。
设置远程注册表的API令牌
请注意
你可能想要共享秘密的范围与其他用户,因为有一个限制数量的秘密范围/工作空间。
指定一个远程注册表
基于秘密范围和名称前缀创建远程注册表工作区,可以构造一个注册表URI的形式:
registry_uri=f“砖:/ / <范围>:<前缀>”
您可以使用URI指定一个远程注册表流利的API方法首先调用:
mlflow。set_registry_uri(registry_uri)
或者,您可以指定显式实例化时MlflowClient
:
客户端=MlflowClient(registry_uri=registry_uri)
以下工作流显示这两种方法的例子。
远程注册表中注册一个模型
注册一个模型的一种方法是使用mlflow.register_model
API:
mlflow。set_registry_uri(registry_uri)mlflow。register_model(model_uri=f运行:/ <运行id > / < artifact-path > ',的名字=model_name)
其他模型注册方法的例子可以发现在笔记本上的这个页面。
请注意
注册一个模型在一个偏远的模型工件的工作区中创建一个临时的复制DBFS在偏远的工作区。你可能想要删除这个副本一旦模型版本准备好了
的地位。下的临时文件可以找到/ dbfs /砖/ mlflow tmp-external-source / <运行id >
文件夹中。
你也可以指定一个tracking_uri
指向一个MLflow跟踪服务在另一个工作区以类似的方式registry_uri
。这意味着您可以运行在一个远程工作区并注册它的模型在当前或另一个远程的工作区。
使用一个模型从远程注册表
你可以加载和使用模型版本的远程注册表mlflow。<味道> .load_model
方法首先设置注册表URI:
mlflow。set_registry_uri(registry_uri)模型=mlflow。pyfunc。load_model(f模型:/ <模型名称> /分期的)模型。预测(…)
或者,您可以显式地指定的远程注册表模型:/
URI:
模型=mlflow。pyfunc。load_model(f”模型:/ / <范围>:<前缀> @databricks / <模型名称> /分期的)模型。预测(…)
其他辅助方法用于访问该模型还支持文件,如:
客户端。get_latest_versions(model_name)客户端。get_model_version_download_uri(model_name,版本)
远程注册表管理模型
你可以执行任何操作模型的远程注册表只要你有所需的权限。例如,如果你有可以管理权限模型,您可以过渡阶段或删除模型使用模型版本MlflowClient
方法:
客户端=MlflowClient(tracking_uri=没有一个,registry_uri=registry_uri)客户端。transition_model_version_stage(model_name,版本,“存档”)客户端。delete_registered_model(model_name)
笔记本的例子:远程注册表模型
以下笔记本适用于工作空间不支持统一目录。它显示了如何日志模型MLflow跟踪服务器从当前的工作区,并注册模型到模型注册表在不同的工作区。砖推荐使用模型统一目录分享在工作空间模型。