Lui*_*eal 35 machine-learning apache-spark apache-spark-mllib
我正在评估基于生产ML的应用程序的工具,我们的一个选项是Spark MLlib,但是我对如何在训练后提供模型服务有一些疑问?
例如,在Azure ML中,一旦经过培训,该模型将作为Web服务公开,可以从任何应用程序中使用,这与Amazon ML类似.
您如何在Apache Spark中提供/部署ML模型?
eli*_*sah 19
一方面,使用spark构建的机器学习模型无法以传统方式在Azure ML或Amazon ML中提供服务.
Databricks声称能够使用它的笔记本部署模型,但我还没有尝试过.
另一方面,您可以通过三种方式使用模型:
MLWriter在应用程序或笔记本中实现然后加载并根据您的数据运行它.这是三种可能的方式.
当然,你可以想到一个架构,你可以在其中使用RESTful服务,你可以使用spark-jobserver来构建每个示例来训练和部署,但需要一些开发.这不是一个开箱即用的解决方案.
您也可以使用像Oryx 2这样的项目来创建完整的lambda架构来训练,部署和提供模型.
不幸的是,描述上述每个解决方案都是相当广泛的,并不适合SO的范围.
一种选择是使用MLeap在线提供Spark PipelineModel,而不依赖于Spark/SparkContext.不必使用SparkContext很重要,因为它会将单个记录的评分时间从~100ms减少到单位数微秒.
要使用它,您必须:
MLeap与Spark MLlib中提供的所有管道阶段(在撰写本文时除了LDA之外)完美集成.但是,如果您使用自定义Estimators/Transformers,事情可能会变得复杂一些.
有关自定义变换器/估算器,性能和集成的更多信息,请查看MLeap常见问题解答.
| 归档时间: |
|
| 查看次数: |
6654 次 |
| 最近记录: |