在机器学习生命周期的最后阶段,将训练好的模型部署到生产环境中,并基于数据做出实际的商业决策,是至关重要的一步。这个过程与数据收集、特征工程、模型构建和评估等传统机器学习任务有所不同。部署模型是机器学习生命周期中最具挑战性的过程之一,需要数据科学家、开发运维人员和商业决策者之间的紧密协作,以确保模型在公司的生产环境中有效运作。
模型部署的重要性在于,它使得模型能够在实际决策中发挥作用。如果没有将模型有效地应用于生产环境,模型的效果将受到严重限制。为了充分利用机器学习模型,重要的是要无缝地将其实施到生产中,以便企业可以开始做出实际决策。
部署模型的方法取决于最终用户如何与模型预测交互。这里介绍一个简单且用户友好的工具——inferrd,它可以帮助简化模型部署流程。
inferrd简介
inferrd使得将机器学习模型部署到GPU变得简单,无需处理底层基础设施。这允许更快地将模型转化为产品。它为浏览器构建,无需下载,只需一个账户即可开始部署。在后台,它与模型在一台超强的GPU服务器上工作,根据需要将模型扩展到数百万请求。
创建账户并使用inferrd部署模型后,它提供了一个仪表板,可以在其中查看所有模型的状态,包括模型版本、模型延迟(毫秒)、总请求等。
使用inferrd在不同环境中部署模型
登录账户后,可以从仪表板窗口中选择模型环境。可以选择适合用例的环境和计划。使用inferrd可以在不同环境中部署模型,包括Pytorch、Spacy、Keras和Tensorflow。创建模型后,将获得一个唯一的MODEL_API_KEY,这个密钥可以访问账户中的任何模型。
inferrd为每个环境提供了两种模型部署方法:1)将选定的模型保存在本地,然后简单地拖放到inferrd模型仪表板;2)通过代码直接部署。对于第二种方法,需要使用pip安装inferrd Python包。
!pip install inferrd
安装inferrd包后,需要从inferrd.com的个人资料页面获取MODEL_API_KEY,一旦部署完成,将收到一封电子邮件。
Scikit-Learn模型部署
inferrd原生支持ScikitLearn,这是一个无需使用深度学习即可尝试简单回归或分类器的绝佳库。
import inferrd
inferrd.auth('MODEL_API_KEY')
model = # ... 定义Scikit模型
inferrd.deploy_scikit(model, 'Scikit模型名称')
Spacy模型部署
inferrd原生支持Spacy,并提供GPU加速。尝试以下代码部署Spacy模型。
import inferrd
inferrd.auth('MODEL_API_KEY')
nlp = # ... 定义Spacy模型
inferrd.deploy_spacy(nlp, 'Spacy模型名称')
Keras模型部署
Keras由inferrd原生支持,并提供可选的GPU加速。部署到Keras,只需要导出Keras模型。使用Keras,模型的导出可以在一行代码中完成。
import keras
model = # ... 定义Keras模型
model.save('model_to_export')
Tensorflow模型部署
inferrd原生支持Tensorflow,并提供GPU加速。尝试以下代码部署Tensorflow模型。
import inferrd
inferrd.auth('MODEL_API_KEY')
tf_model = # ... 定义Tensorflow模型
inferrd.deploy_tf(tf_model, 'Tensorflow模型名称')
Pytorch由inferrd原生支持。部署到Pytorch,只需要导出Pytorch模型。使用Pytorch,模型的导出可以在一行代码中完成。
import torch
model = # ... 定义Pytorch模型
torch.save(model, 'model_to_export')
目标是使构建AI驱动的应用程序变得简单。因此,为最常见的用例创建了易于使用和安装的包。要进行预测,需要找到Model Id。它位于模型的README页面顶部。
import inferrd
model = inferrd.get('Model Id')
inputs = #... 放置输入
prediction = model(inputs)