为了了解软件开发中机器学习 (ML) 的当前和未来状态,我们从 16 个解决方案提供商的 IT 专业人员那里收集了见解。我们问,”哪些机器学习技术和工具对 SDLC 最有效?以下是我们学到的:
您可能还喜欢:
ML模型开发与传统企业软件开发的基本区别
工具
- MLFlow、虫点、氦气和应用是一些非常强大的工具。我特别喜欢 MLFlow,因为它的易用性和版本控制 ML 模型的能力。
- 我们采用MLFlow作为数据平台+ML数据平台管理系统。实时操作数据库,事务性地用于数据库内 ML,以跟踪数据科学家的工作流程。如果你采用一种实验文化,每天创建50个实验,每个实验运行并产生不同的结果,你需要跟踪每个实验。您需要能够标记参数和指标,以便可以返回并了解为什么一个模型比另一个模型执行得更好。
- 我们正在构建这些工具,作为我们平台的一部分。开源工具,如 SciLearn、Pytorch、TensorFlow,并构建我们自己的工具。
- 许多新的现代测试自动化工具允许您进行自愈测试、自动测试和自动爬网程序来查找 Bug。记录系统以查找安全警报的异常。大部分焦点都集中在维护上。
- 工具简化了开发人员的基础架构和数据工程。随着ML,事情需要爆炸发生。轻松集成到应用程序中。调试更加困难,因为 ML 模式是活动实体,并且随着数据和学习的变化而发生漂移。最大的挑战是代码和应用程序的可调试性。确保您具有模型决策的可追溯性。一段时间内对绩效进行建模评估。
反馈
- 最有效的技术是尽可能清楚地定义手头的任务,并立即提出一个自动评估方法。按照此步骤,您应该针对问题收集和标记一个小型数据集,使用任何方法与该数据集过度配合,并尝试关闭整个生产循环:数据集集合 – 培训 – 评估 – 部署
其他
- ML 正在整个 SDLC 中实现标准化 – 人们正在学习如何使用它,了解事物的发展,并变得更加分散。
- 我们看到更多有关深度学习和特定 ML 方法。
- 这取决于业务案例。需要经典数据科学来理解正确的算法并确保数据管理。您可能需要选择一个几乎一样好但计算成本较低的模型。包含一个可取性函数,以考虑规划和部署的成本。
- 我所看到的技术包括学习技术,如概念学习、决策树、神经网络(和卷积神经网络)、if/then 规则、强化学习、归纳逻辑编程等。
- 以下是主要元素:
- 1)确保从一开始就设定业务需求和期望。这有助于定义项目的 ROI 以及您要解决的问题(例如,提高客户参与度、减少客户流失等)。
- 2) 将业务问题转换为技术问题
以便设置解决方案的范围。您考虑提高客户满意度或获得市场份额的业务问题,并将其转化为数据科学问题:客户转化/客户流失预测、用户细分、产品推荐等,您可以求解使用数据和模型。3)确定实际可用于解决问题的数据。这可能是在 SDLC 中应用 ML 的最大限制因素之一。需要有足够的相关数据来解决问题,并且需要有一个基本级别的规范化。考虑到技术问题,您需要确定哪些实体可以是要插入模型的相关功能。4)设计旋转过程。给定工具包,从最简单的方法开始,看看它如何执行。根据这些结果,您可以了解去哪里以及如何增加复杂性。5) 实验和质量:设计实验,以便您可以测试性能,进行修改,重新评估,然后冲洗和重复。确保选择正确的指标,以便衡量真正重要的指标。
以下是我们从中听到的消息:
- 迪普蒂·博尔卡尔, V.P. 产品,阿卢西奥
- 亚当·卡米,联合创始人兼首席财务官,应用程序
- 奥列格·辛亚夫斯基博士,脑力公司研发主管
- 首席执行官兼联合创始人埃利·芬克尔施泰因Constructor.io
- 森蒂尔·库马尔,福格霍恩软件工程副总裁
- 伊瓦伊洛·巴赫切瓦诺夫,福格洛克数据科学主管
- 约翰·西顿,数据科学总监,功能
- 伊琳娜·法鲁克,动力学首席产品官
- 埃利夫·图图克, AVP 研究, Qlik
- 希瓦尼·戈维尔,EVP 新兴技术和生态系统,圣人
- 帕特里克·哈伯德, 头极客,太阳风
- 蒙特·兹韦本,斯普利机首席执行官
- 扎克·班诺, SPR助理顾问
- 大卫·安德烈耶夫斯基,相扑逻辑工程总监
- 奥伦·鲁宾, 创始人兼首席执行官,
io/”目标\”\空白”_Testim.io