最大的成功之一在现代网站可靠性工程采取的东西很难,让它容易使用。与机器学习尤其如此,自然不仅是数据密集型但也需要大量的处理能力。在过去,数据科学家写了一堆分析代码统计语言如r .然后他或她部署代码的高性能服务器,加载数据,并等待结果。适当时,这是耗时的,即使你的计算目标优化的虚拟机。部署和运行一组机器学习算法可能会需要几个小时,如果不是天。性能测试机器学习模型是至关重要的。
进入Kubernetes,接下来你知道代码是包裹在容器设计的并行运行,扩大/需求。结果是几十甚至几百个集装箱同时运行相同的代码。机器学习处理采取小时现在仅需几分钟就可以使用。同时,可以更新更快的代码。
数据科学家们在天堂。毕竟,不喜欢什么?不仅他们会更快的处理机器学习模型的转变,但也迅速改变代码进行改进分析。
随之而来的是,数据科学家利用新的机会,开始调整他们的代码改进模型。然后发生了意外。运行模型的实际成本增加而福利产生的边际。为什么?模型没有受到足够了性能测试。
这可能看起来像一个techno-fairytale,但遗憾的是,意外的成本上升与机器学习相关的处理经常发生。没有人开始浪费钱。不可预见的成本两个因素的结果。
- 开发人员没有一个清晰的理解的影响改变机器学习模型相对于数据消费
- 没有性能测试作为一种内在的机器学习释放过程的一部分
了解机器学习模型重构的成本
每次添加一个新维度的机器学习模型,您将需要处理更多的数据。在这一过程中,它会花费你的时间和金钱。它会减慢处理时间,或者你需要花更多的钱在额外的计算资源来支持增加的工作负载。
想象一下这个场景。你有机器学习模型旨在确定一个时髦的共同基金未来的散户投资者。当前的模型中,在生产中,考虑住宅邮政编码识别高净值个人。然而,发现新的信息,显示大量的现有客户住在高尔夫球场。鉴于这种洞察力,数据科学家负责改进机器学习代码重构它使用地理定位的潜在用户映射到高尔夫球场会员,分配相应的“潜在客户排名指数”。
所需的编程执行重构是香草。支持修改,需要额外的数据关于高尔夫球场。数据科学家确定了一个有用的数据源和重构代码的方式,将新高尔夫球场逻辑纳入现有的代码库。她跑试验测试的新的机器学习模型在她的桌面机使用新发现几千行数据。模型按预期工作,发布的代码。
几乎一天后数据科学家从SysOps接收电子邮件通知她,最近更新使它所需的豆荚在集群需要增加到300%(这需要经理批准)。分类算法负责排名一个高尔夫球手可能投资于共同基金现在45 vs 15秒(远低于阈值实时建议或异步批邮件队列处理)。事实证明,它需要更多的时间来度过的数百万行数据需要新的机器学习模型,但同时,所需的实际时间来处理一行显著增加(尽管机器学习分类过程)。可悲的事实是,预期改善底层算法整体成本增加,同时提供边际效益。
这个故事的寓意是,即使最简单的代码改变可以产生意想不到的,重大的后果。这适用于机器学习模型和网络规模的现代商业应用操作。唯一的区别是,像facebook、谷歌和亚马逊人年前得到了消息。所以,他们让性能测试释放过程的关键。许多公司采用ML内部或外包给“AI-enabled祭”慷慨提供的这些庞然大物只是现在的警钟人类非确定系统如何与cost-incurring性能问题。
忽略性能测试机器学习模型在你的自己的风险
桌面的性能很少映射到大规模集群的性能。得到一个准确的图片生产级性能,您需要能够产生显著的系统上的负载。一个台式电脑非常适合编程。这不是装备能够创建或支持负载的程度你发现在生产。在许多组织中,性能测试机器学习模型从不超越桌面。当事情出错时,普遍的反应是“但是,它在我的机器上工作。“剩下的都是由财务部支付发票。
另一方面,一些组织在桌面上实现测试的局限性,将监控生产系统来检测异常。从系统管理的角度来看这是非常有用的,但是生产监控不削减成本增加。准确地预测给定机器学习模型的实际运营成本在发布之前,你需要发挥重要负载。这是最好的界限内完成一个设计良好的测试环境中进行性能测试,模拟生产尽可能。
这样的性能测试需要特别注意支付加载,这通常是通过使用测试工具支持并行处理,如所提供的188金宝搏app苹果下载软件Tricentis NeoLoad。另外,性能测试成为一个整体持续集成/持续部署(CI / CD)的过程。自动化性能测试机器学习在CI / CD确保没有下降之间的裂缝。
无论您的组织正试图摆脱桌面性能测试机器学习或远离依赖系统监测报告问题后,无论如何,你需要建立一个性能测试机器学习模型作为整个发布过程的重要组成部分。
把它放在一起
一些组织旨在创建机器学习模型,产生费用可能已经避免了。然而,许多这样做主要是因为缺乏了解的实际成本计算。机器学习是一个现代软件开发的重要组成部分。188金宝搏官网登录app应用适当的性能测试机器学习的所有方面发布过程使它具有成本效益。