引入 R 工作负载

适用范围:Azure CLI ml 扩展 v2(最新版)Python SDK azure-ai-ml v2(最新版)

没有适用于 R 的 Azure 机器学习 SDK。需要改用 CLI 或 Python 控制脚本来运行 R 脚本。

本文概述 Azure 机器学习中支持的 R 的主要方案和已知限制。

典型的 R 工作流

将 R 与 Azure 机器学习配合使用的典型工作流:

  • 在计算实例上使用 Jupyter Notebook 以交互方式开发 R 脚本。 (虽然也可以将 Posit 或 RStudio 添加到计算实例,但目前无法从计算实例上的这些应用程序访问工作区中的数据资产。因此,交互式工作目前最好在 Jupyter 笔记本中完成。)

    • 从已注册的数据资产或数据存储中读取表格数据
    • 安装其他 R 库
    • 将项目保存到工作区文件存储
  • 改编脚本,使其在 Azure 机器学习中作为生产作业运行

    • 删除可能需要用户交互的任何代码
    • 根据需要将命令行输入参数添加到脚本
    • 在要执行的 R 脚本所在的同一工作目录中包含和查找 azureml_utils.R 脚本
    • 使用 crate 打包模型
    • 在脚本中包含 R/MLflow 函数,以将项目、模型、参数和/或标记记录到 MLflow 上的作业
  • 提交远程异步 R 作业(通过 CLI 或 Python SDK 而不是 R 提交作业)

    • 生成环境
    • 记录作业项目、参数、标记和模型
  • 使用 Azure 机器学习工作室注册模型

  • 将已注册的 R 模型部署到托管联机终结点

    • 使用部署的终结点进行实时推理/评分

已知的限制

 

限制 请改为执行此操作
没有 R 控制平面 SDK。 使用 Azure CLI 或 Python 控制脚本提交作业。
在计算实例上的容器中作为自定义应用程序运行的 RStudio(例如 Posit 或 RStudio)无法访问工作区资产或 MLflow。 将 Jupyter Notebook 与计算实例上的 R 内核配合使用。
不支持从 R 以交互方式查询工作区 MLflow 注册表。
不支持 R 中的嵌套 MLflow 运行。
不支持并行作业步骤。 使用不同的输入参数并行运行脚本 n 次。 但为此必须进行元编程以生成 n YAML 或 CLI 调用。
不支持使用 R 从正在运行的作业中注册/记录编程模型。
目前不支持 R MLflow 模型的零代码部署(即自动部署)。 使用 plumber 为部署创建自定义容器。
不支持使用批处理终结点对 R 模型进行评分。
Azure 机器学习联机部署 yml 只能使用直接来自注册表的映像 URI 制定环境规范;不能使用同一 Dockerfile 中的预生成环境。 按照如何将已注册的 R 模型部署到联机(实时)终结点中的步骤正确部署。

后续步骤

详细了解 Azure 机器学习中的 R: