2021年3月19日,OCI数据科学云服务发布了一项名为模型部署的新功能,使机器学习模型能够作为HTTP endpoints服务,提供实时预测功能。此特性可在OCI软件开发工具包(sdk)、OCI命令行接口(CLI)和OCI控制台中获得。
机器学习在目前的商业活动中已经被广泛应用,通过机器学习可以利用现有数据对未来数据进行预测。为了达到这一目的,在现有数据上进行模型训练是必须的动作,这样才能对传入的新数据进行预测。我们很高兴地宣布模型部署功能已经上线,它使模型可以作为HTTP endpoints接收请求,并实时将模型预测结果返回给调用者。
什么是模型部署?
机器学习的过程并不会在训练模型完成之后而结束。数据科学团队创建模型,并用它对新数据进行预测。实现这一目标的最有效的方法之一是将模型包装为WEB服务,并使其能够接受带有要评分数据的HTTP请求。然后WEB服务使用请求数据调用模型,并将模型预测的结果作为HTTP响应返回给请求者。这就实现了按需实时预测功能。
在OCI数据科学服务中部署模型
OCI Data Science为大规模部署模型提供了一个托管解决方案。该服务提供了所有您在数据科学活动中可能用到的开箱即用的云服务:
管理部署:该服务处理所有复杂的“连接与配置”。不需要考虑配置计算资源、安装WEB服务或任何与基础设施相关的事情。一切都由该服务自动处理和优化。
安全:借助服务内置的OCI Identity和访问管理,您只要配置用来创建和调用部署endpoints的组定义和配置策略,其他的动作都将自动完成。
简洁流畅:通过从模型目录中提取模型及相关信息,您可以用几行代码(来自SDK/CLI)或单击几下按钮(来自OCI控制台)就可以得到一个已部署的模型。内置的负载均衡器将自动高效地处理WEB流量。
高度灵活:可以选择OCI提供的任何计算资源大小(compute shapes)进行部署,全程自动完成,无需人工干预。当想更换计算资源大小时,可在线完成,无需停止服务。
可追溯:通过分析日志以了解模型的评分或部署的调试情况。
通过代码或者OCI控制台进行部署
如果通过OCI控制台进行模型部署,您需要做的只是将模型注册到model catalog后,点击几下鼠标即可完成部署动作。
如果您更喜欢代码方式,您可以在OCI SDK中通过几行代码进行模型部署。您还可以根据您的偏好自定义日志记录配置。
NASDAQ = CreateModelDeploymentDetails(display_name=Quantitative_Trading_NASDAQ,
description=just_for_test,
project_id=1234,
compartment_id=4567,
model_deployment_configuration_details=single_model_config,
category_log_details=logs_configuration_details_object)
data_science_composite = DataScienceClientCompositeOperations(data_science)
model_deployment = data_science_composite.create_model_deployment_and_wait_for_state(NASDAQ,wait_for_states=["SUCCEEDED", "FAILED"])
自动处理的HTTP流量与负载均衡
托管服务还会处理传入WEB流量的负载均衡,以确保可以提供最佳性能与最佳使用体验。负载平衡器接收每个请求并将其路由到下一个可用的endpoint。通过这种方式,您可以获得持续、稳定的预测服务,而无需自己管理API网关。
管理模型部署生命周期
您可以控制模型部署的状态。当部署完成后,从OCI控制台、SDK或CLI可以将其设定到活动状态。
当您想暂停预测服务时,只需将它设为非活动状态即可。模型的部署依旧有效,只是不再为传入的请求提供服务。这时Oracle将停止计费,通过这个操作可以到达不使用预测服务时节约成本的目的。
从任何地方均可访问预测服务
当有了活动的endpoint后,就可以从任何HTTP客户端发出请求。
利用OCI请求签名进行安全连接,您可以使用WEB客户端(如Postman、Fiddler或cUrl)或您自己的客户端应用程序进行访问与测试。
编辑:殷海英