外观
从 Jupyter Notebook 部署 ML 模型
Deploy ML Models from Jupyter Notebook
模型部署(deployment)的核心目标是获得一个可用于推理(inference)的 API 端点(endpoint):

虽然听起来简单,但部署通常是一个相当繁琐且耗时的过程。我们必须维护环境文件、配置各种设置、确保所有依赖都正确安装等等。所以在本章中,我想帮你简化这个过程。更具体地说,我们将学习如何使用 Modelbit API,仅需三个简单步骤就能直接从 Jupyter Notebook 部署任何 ML 模型。Modelbit 让我们能够把 ML 模型从 Python notebook(或 git)无缝部署到 Snowflake、Redshift 和 REST。

假设我们已经训练好了模型。为简单起见,假设它是一个用 sklearn 训练的线性回归模型,但它也可以是任何其他模型:

让我们看看如何用 Modelbit 部署这个模型!
- 首先,我们通过 pip 安装 Modelbit 包:
- 接下来,我们从 Jupyter Notebook 登录 Modelbit(请确保你已在此创建账号:Modelbit)


- 最后,我们部署它,但有一个重要的点需要注意:
要用 Modelbit 部署模型,我们必须定义一个推理函数。简单来说,这个函数包含了在推理(inference)时将被执行的代码。因此,它负责返回预测结果。

我们必须在这个方法中指定模型所需的输入参数。此外,我们可以给它取任何想要的名字。对于我们的线性回归场景,推理函数可以如下所示:

- 我们定义一个函数 predict()。
- 接下来,我们将模型的输入指定为这个方法的参数。
- 我们对输入的数据类型进行验证(validation)。
- 最后,我们返回预测结果。
Modelbit 的一个优点是,函数的每个依赖(本例中即模型对象)都会被序列化(pickle),并随函数一起
自动发送到生产环境(production)。因此,我们可以在这个方法中引用任何对象。一旦定义好函数,我们就可以按如下方式继续部署:


我们仅用三个简单步骤就成功部署了模型,而且是直接在 Jupyter Notebook 里完成的!模型成功部署后,它会出现在我们的 Modelbit 仪表板中。
如上所示,Modelbit 提供了一个 API 端点(endpoint)。我们可以按如下方式将其用于推理:

在上面的请求中,传递给端点的数据是一个列表的列表。

列表中的第一个数字是输入 ID。ID 之后列表中的所有条目都是函数参数。最后,我们在部署模型时还可以指定所使用的库或 Python 的具体版本。如下图所示:

相比传统的部署方式,这不是既酷又简单优雅吗?