六条规则让你的ML模型部署的更快
- 2020 年 8 月 18 日
- AI
字幕组双语原文:六点规则让你的ML模型部署的更快
英语原文:Six Rules for Deploying your Machine Learning Models Faster
翻译:雷锋字幕组(yhfwww)
数据科学和机器学习几乎可以改善组织的任何方面,但前提是你的想法得到利用。在过去的一年中,我们学到了很多关于更快地构建和部署机器学习模型的知识,我们想分享一些我们在这里学到的东西。
图:《棕色田野上奔跑的猎豹》 来自《Unsplash》,作者Cara Fuller
形势
在我们的组织中,我们需要尽快从我们的分析投资中获得回报。我们需要更快地将机器学习模型应用到生产中。最重要的是,我们不想让伟大的想法停留在纸面上,只能等着被使用。
传统上,我们将为每个数据产品构建为定制解决方案。每个定制解决方案之间几乎没有重用。我们需要的是一条生产数据产品的流水线。
因此,我们建立了一条流水线来构建、测试和部署数据产品,我们称之为机器学习平台。有了它,我们现在可以在几分钟内将模型部署到生产环境中。我们不再需要等那么长时间才能享受分析投资的回报。
一路上我们学到了什么
在这个过程中,我们学习了一些关于如何安全、快速地构建、测试和部署机器学习模型的重要规则。这些规则改变了我们的工作方式,希望您会发现它们对您和您的组织有用。
1.采用自助服务
在我们的机器学习平台存在之前,数据科学家创建的模型将交给IT部门,这样他们就可以为每个模型创建数据管道和模型部署环境。有些模型在部署之前甚至被重写成另一种语言。
我们构建了机器学习平台,为模型构建者提供了通过内部模型管理流程自主部署模型的能力。自助服务是提高速度的关键。
2.使用容器从基础设施中提供抽象
容器提供了一种很好的隔离和模型版本管理的方法。如果您的组织使用标准服务器负载,您可能会发现很难在该标准服务器上安装依赖项和构件。容器解决了这个问题。可能服务器管理员安装程序包的时间太长。容器也能解决这个问题。您可能需要托管同一模型的新版本和旧版本一段时间,每个版本都需要一组不同的依赖关系。容器也有助于版本控制策略。
您的企业可能是全云的,有云的,或者没有云的,但是即使您当前没有使用云,您也可能在考虑它。容器非常轻便。如果您采用基于容器的方法,您可以在本地或云上的任何地方运行这些模型。
3.数据科学家需要关心代码质量。
让您的数据科学家能够自助服务地将模型部署到生产环境中,同时还要负责编写产品质量代码。
这可能意味着你的模型构建团队必须提升他们的软件工程水平。了解一点Python语法并调用API并不能使您成为一名优秀的软件工程师。当您构建组织将在生产系统中使用的软件时,软件质量至少与数据和模型质量同等重要。
这可能意味着采用诸如测试驱动开发和代码评审之类的实践。这可能意味着尝试配对编程。在使用notebook时,您应该仔细考虑如何以及何时使用笔记本,以及对软件质量的影响。幸运的是,这些模式在软件工程界是众所周知的,并且非常适合大多数团队。
4.如果它不是自动化的,那它就还没完成。
平台的速度和稳定性都依赖于模型部署平台和过程的自动化。如果你想更快,那就毫不妥协地采用自动化。在我们的机器学习平台上,我们已经自动化了整个模型生命周期。持续集成和持续交付推动了平台上的模型测试和模型部署。
我们还自动化了底层平台基础设施的配置和部署。在这样做的过程中,我们的团队学会了将这些自动化虚拟机视为一次性资源。没有人登录到服务器进行管理,所有管理任务都是自动化的。这意味着无论我们扩展多少,每个服务器都是一致配置的。我们没有升级服务器,而是用新的基础设施自动重新部署平台。
5.构建一个支持模型整个生命周期的平台。
到目前为止,我主要关注构建、培训和部署,但这只是机器学习模型生命周期的第一部分。许多型号都会逐渐变差,随着时间的推移性能会下降。部署的模型需要监控和调整。每个部署的模型都应该记录所有的输入、输出和异常。模型部署平台需要提供日志存储和模型性能可视化。
在我们的机器学习平台上,每个模型将每次执行记录为一个通用格式。每个托管模型应用程序都以一种通用的方式发出日志。我们路由和存储这些日志,使用它们监视模型性能并帮助识别模型漂移。最后,我们会自动创建模型仪表板,以提供关于每个模型如何执行的额外见解。
密切关注模型性能是有效管理机器学习模型生命周期的关键。不能忽视模型监视作为模型整个生命周期的一部分。
6.标准化开发方法
软件工程师已经提出了很棒的方法和设计模式,我们可以用它们来构建可移植的和有弹性的应用程序。如果您的模型构建者知道这些方法,那么其中许多方法可以很容易地适应机器学习应用程序。利用外面的东西。
机器学习平台的非官方座右铭 - noShelfWare
分析结果
将这六条规则结合起来有助于我们更快地获得结果,我希望它们也能帮助贵公司。数据科学应该是创造有影响力的软件。白皮书、仪表盘、词云和饼图再也不能削减开支了,如果他们真的这样做的话。取得成果需要很困难的工作。
这不是一条容易的路。史蒂夫·乔布斯说:“伟大的创意和伟大的产品之间还有着大量的工程步骤。”要想快速进入市场,你可能需要戴上DevOps的帽子。这意味着你的团队可能需要提升他们的软件工程技能。
但是,这是值得的。过去有时需要12个月的时间,现在在我们公司只需要几分钟。更重要的是,我们不是在构建分析书架软件。
雷锋字幕组是一个由 AI 爱好者组成的翻译团队,汇聚五百多位志愿者的力量,分享最新的海外AI资讯,交流关于人工智能技术领域的行业变革与技术创新的见解。
团队成员有大数据专家、算法工程师、图像处理工程师、产品经理、产品运营、IT咨询人、在校师生;志愿者们来自IBM、AVL、Adobe、阿里、百度等知名企业,北大、清华、港大、中科院、南卡罗莱纳大学、早稻田大学等海内外高校研究所。
如果,你也是位热爱分享的AI爱好者。欢迎与雷锋字幕组一起,学习新知,分享成长。
雷锋网雷锋网