云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港服务器_长沙网站建设价格_促销

小七 141 0

MLflow:一个开源的机器学习平台

观看MLflow Spark+AI峰会主题演讲每个尝试过机器学习开发的人都知道它是复杂的。除了软件开发中常见的问题之外,机器学习(ML)开发也带来了许多新的挑战。在Databricks,我们与数百家使用ML的公司合作,我们多次听到同样的担忧:有无数的工具。数百种开源工具涵盖了ML生命周期的每个阶段,从数据准备到模型培训。然而,与传统的软件开发不同,团队为每个阶段选择一个工具,在ML中,您通常希望尝试每一个可用的工具(例如算法)以查看它是否能提高结果。因此,ML开发人员需要使用和生产几十个库。跟踪实验很难。机器学习算法有几十个可配置的参数,无论您是单独工作还是在团队中工作,都很难跟踪哪些参数、代码和数据进入每个实验以生成模型。结果很难重现。如果没有详细的跟踪,团队通常很难让相同的代码再次工作。无论您是一名数据科学家,将您的培训代码传递给工程师以便在生产中使用,或者您要回到过去的工作中调试问题,重现ML工作流的步骤都是至关重要的。很难部署ML。由于需要在其中运行大量的部署工具和环境(例如REST服务、批处理推理或移动应用程序),将模型移动到生产环境可能会很困难。没有标准的方法将模型从任何库移动到这些工具中的任何一个,这会给每个新的部署带来新的风险。由于这些挑战,很明显,ML开发必须不断发展,才能像传统软件开发一样健壮、可预测和广泛传播。为此,许多组织已经开始构建内部机器学习平台来管理ML生命周期。例如,Facebook、Google和Uber已经建立了FBLearner Flow、TFX和Michelangelo来管理数据准备、模型培训和部署。然而,即使是这些内部平台也是有限的:典型的ML平台只支持一小组内置算法,或者一个ML库,并且它们与每个公司的基础设施绑定在一起。用户无法轻松利用新的ML库,也无法与更广泛的社区共享他们的工作。在Databricks,我们相信应该有更好的方法来管理ML生命周期,因此我们很高兴宣布MLflow:一个开源的机器学习平台,我们今天将以alpha的形式发布。MLflow:一个开放的机器学习平台MLflow的灵感来自于现有的ML平台,但它的设计在两个方面是开放的:开放接口:MLflow设计用于任何ML库、算法、部署工具或语言。它是围绕restapi和可以从各种工具中使用的简单数据格式(例如,可以将模型视为lambda函数)构建的,而不是只提供一小组内置功能。这也使得将MLflow添加到现有ML代码中非常容易,这样您就可以立即从中受益,并且可以使用组织中其他人可以运行的任何ML库共享代码。开源:我们将MLflow作为一个开源项目发布,用户和库开发人员可以对其进行扩展。此外,MLflow的开放格式使得在组织间共享工作流步骤和模型非常容易,如果您希望开放源代码。Mlflow目前还在alpha中,但是我们相信它已经提供了一个有用的框架来处理ML代码,我们很乐意听到您的反馈。在本文中,我们将详细介绍MLflow并解释其组件。MLflowα释放组件第一次,MLflow的alpha版本有三个组成部分:MLflow跟踪MLflow Tracking是一个API和UI,用于在运行机器学习代码时记录参数、代码版本、度量和输出文件,以便以后可视化它们。通过几行简单的代码,您可以跟踪参数、指标和工件:导入mlflow#日志参数(键值对)mlflow.log_参数("数字尺寸",8)mlflow.log_参数("正则化",0.1)#记录指标;指标可以在整个运行过程中更新mlflow.log_度量("精度",0.1)...mlflow.log_度量("准确度",0.45)#日志工件(输出文件)mlflow.log_工件("中华民国巴布亚新几内亚")mlflow.log_工件("型号.pkl")您可以在任何环境(例如,独立脚本或笔记本)中使用MLflow跟踪将结果记录到本地文件或服务器,然后比较多个运行。使用web UI,可以查看和比较多个运行的输出。团队还可以使用这些工具来比较来自不同用户的结果:MLflow跟踪界面MLflow项目MLflow项目为打包可重用的数据科学代码提供了一种标准格式。每个项目只是一个包含代码的目录或Git存储库,并使用一个描述符文件来指定其依赖项以及如何运行代码。MLflow项目由一个名为MLproject的简单YAML文件定义。名称:我的项目康达环境:康达·亚姆入口点:主要:参数:data_文件:路径正则化:{type:float,默认值:0.1}命令:"python火车.py-r{正则化{数据文件}"验证:参数:data_文件:路径命令:"python验证.py{数据文件}"项目可以通过Conda环境指定它们的依赖关系。一个项目也可以有多个入口点来调用运行,带有命名参数。可以使用mlflow run命令行工具从本地文件或Git存储库运行项目:mlflow运行示例/项目-P alpha=0.5mlflow运行git@github.com:数据块/mlflow-示例.git-Pα=0.5MLflow将自动为项目设置合适的环境并运行它。另外,如果在项目中使用MLflow跟踪API,MLflow将记住执行的项目版本(即Git提交)和任何参数。然后可以轻松地重新运行完全相同的代码。项目格式使得共享可复制的数据科学代码变得很容易,无论是在您的公司内部还是在开源社区中。与MLflow跟踪相结合,MLflow项目为再现性、可扩展性和实验性提供了很好的工具。MLflow模型MLflow模型是一种将机器学习模型打包成多种格式的惯例,称为"口味"。MLflow提供了各种工具来帮助您部署不同风格的模型。每个MLflow模型都保存为一个目录,其中包含任意文件和MLmodel描述符文件,其中列出了可以在其中使用的风格。创建时间:2018-02-21T13:21:34.12口味:学习:sklearn_版本:0.19.1泡菜型号:型号.pklpython_函数:加载器模块:mlflow.sklearn泡菜型号:型号.pkl在本例中,模型可以与支持sklearn或python_函数模型风格的工具一起使用。MLflow提供了将许多通用模型类型部署到不同平台的工具。例如,任何支持python_function flavor的模型都可以部署到基于Docker的REST服务器上,部署到Azure ML和Amazon SageMaker等云平台上,也可以作为Apache Spark中的用户定义函数来进行批处理和流式推理。如果使用跟踪API将MLflow模型作为工件输出,MLflow还将自动记住它们来自哪个项目和运行。MLflow入门要开始使用MLflow,请按照中的说明操作mlflow.org网站或者查看Github上的alpha发布代码。我们很高兴听到您对概念和代码的反馈!数据块上的托管MLflow如果你想运行MLflow的托管版本,我们现在也接受注册databricks.com/mlflow. MLflow on Databricks集成了完整的Databricks统一分析平台,包括笔记本、作业、Databricks Delta和Databricks安全模型,使您能够以安全、生产就绪的方式大规模运行现有MLflow作业。下一步是什么?我们刚刚开始使用MLflow,所以还有很多东西要做。除了项目的更新,我们还计划引入主要的新组件(例如监视)、库集成和对我们已经发布的内容的扩展(例如,支持更多的环境类型)。请关注我们的博客了解更多信息。免费试用Databricks。今天就开始吧