有人能对MLflow的实际部署经验进行总结吗?我们有一些ML模型(例如LightGBM、tensorflow v2等)。并希望避免像SageMaker这样的框架(由于客户的需求)。因此,我们正在研究各种托管ML模型以进行推理的方法。延迟是对我们非常重要的一个关键性能指标。MLflow对我们来说是个不错的选择。
如果MLflow的用户能够分享他们的经验,我们将不胜感激。
发布于 2020-12-01 17:55:32
我目前正在我的公司使用MLflow和Databricks,到目前为止,我想说,管理模型版本、跟踪模型度量和从开发/实验/培训状态构建模型工作流到生产都是很好的。我不确定它是否可以被认为是一个独立的工具,这意味着您应该将它与类似Azure Databricks (我目前使用的)这样的东西结合起来。在每次运行或模型培训之后,您可以定制您可能希望记录的标记、度量或工件,这是很好的方式,如下所示:

您还可以将几个运行实验可视化为:

(这些模型用于示例的抖动,因此不优化度量值)并将生成的模型文件(例如泡菜文件)存储在相应的位置:

一旦生成,您就可以通过databricks UI (万一您最终使用它)或mlflow代码注册您最好的模型,如下所示(在这里,我注册了最后一个模型,您应该选择具有最佳首选度量的模型,而mlflow也直接将其作为选项):

以便稍后加载并用您的模型进行预测。一旦你对某个模型感到满意,你就可以转换它:

我喜欢的另一个很好的特性是,它为最常用的框架提供了自定义模块,如scikitlearn、xgboost、keras等。
建立一个容器映像,部署它.但这是另一个更长的话题。
当然,您也可以将MLflow与其他第三方一起使用,甚至可以在本地使用。
关于性能点,您是指推理本身还是其他延迟源?您可以通过SPARK (在我的例子中是PySPARK) 信息对您的模型进行推理,如果您需要尽可能快地进行多个预测,或者只是为了批处理推理。
https://datascience.stackexchange.com/questions/85895
复制相似问题