为了了解软件开发中机器学习(ML) 的当前和未来状态,我们从 16 个解决方案提供商的 IT 专业人员那里收集了见解。我们问:”您对在 SDLC 中使用机器学习有任何顾虑吗?以下是我们学到的:
您可能还喜欢:
AI 采用的 3 个主要挑战和如何解决这些问题
数据质量
- 我们都处在构思和学习阶段。迈出一大步,寻找机会。数据不特定于软件开发;它需要干净和治理。能够使用高质量的数据生成值得信赖的见解。
- 这是一个新领域,要求公司调整如何收集和分析围绕 SDLC 的数据。从定性程序转向定量程序。硒从未被设计为使用ML。
- 关注数据,获得正确的数据以消除偏见,并考虑到组织价值。模型试图做什么和你想完成什么的漂移。
偏见
- 某些训练数据集会导致固有的偏差。同样,某些模型可以产生更多的误报,在 SDLC 中使用 ML 也是如此。选择正确的算法和工具将是在 SDLC 中利用 ML 的一个关键方面。 现在,对于对未来采取更激进的看法:当我们生活在一个AI和ML正在成为司空见惯的时代(想想自动驾驶汽车),公司将开始怀疑是否需要一个人类开发人员。AI 能否生成 AI? 智能系统能否自行生成可执行代码来实现设定的目标?如果是这样,在循环中对人类的需求会大大减少。 AI 和 ML 是否会取代当前的软件开发人员,并消除对它们的需求?在不远的将来,我看到这成为一场相关的讨论;然而,目前,人类参与仍有必要进行系统训练,以选择正确的算法选择、正确的门控措施等。
技能
- 与应用不同地思考 ML
当人们部署 ML 时,他们需要监督。确保专家有能力,并接受持续的培训和认证。专家需要持续展示专业知识。建立流程以确保系统按预期进行,并做好工作。
其他
- 可能倾向于将 ML 视为”万能”解决方案,但并不是。开发人员必须遵守传统的 SDLC 协议才能生产高质量的产品。
- 开发和优化 ML 模型具有过多的超参数。很难区分方法的失败与错误的参数选择。如果模型用于多个任务,则很难确保一个任务的增量改进不会破坏其他任务。
- 当它失败时,有太多的炒作,没有足够的知识,它的工作方式。AI 操作不转换为开发。所有三个云平台都有出色的教程。您可以学习如何进行算法训练和模型开发。
- ML 是一个令人难以置信的技术,但与此同时,当我们使用 ML 在危急的情况下,如医疗诊断或自动驾驶汽车, 我们需要考虑更深层次的问题,事情出了问题.如何跟踪和确定根本原因。需要为此提供更多的工作和重点。做出错误决定的成本需要考虑。
- 我主要关心的是理解正在试图解决的问题。首先,需要了解 SDLC 中的 ML 是否真正需要。您可以使用基本基于规则的方法执行大量操作,ML 可能会产生噪声,尤其是在您尝试执行非常通用和广泛的事情时。我认为人们往往从一些他们的需求中过度杀戮开始。第二个问题是建立一个”一刀切”的解决方案。很难构建一些可以在问题存在的地方应用的东西,因为上下文总是重要的。始终首先关注非常具体和定制的用例。如果你能很好地解决这些问题,那么看看以后是否可以展开并推广到其他人。
以下是我们从中听到的消息:
Io