了解 AI 工程师要考虑的事项
AI 功能在软件解决方案中的应用越来越普遍;因此,软件工程师需要知道如何将 AI 功能集成到他们的应用程序和服务中。
随着机器学习的进步,以及数据可用量、处理数据的计算能力和预测模型训练技术的大幅提升,人们现在可以使用封装 AI 功能的预打包的软件服务。 软件工程师可以利用这些服务来创建使用基础 AI 功能的应用程序和代理,将它们用作创建智能解决方案的构建基块。
这意味着软件工程师可以将他们的现有技能应用于编程、测试、使用源代码管理系统以及打包要部署的应用程序,而不必成为数据科学家或机器学习专家。
但是,若要充分利用 AI 带来的机会,软件工程师至少需要对核心 AI 和机器学习原则有概念性的理解。
模型训练和推理
许多 AI 系统都依赖于必须使用样本数据进行训练的预测模型。 训练过程分析数据并确定数据中特征(新观测结果中通常出现的数据值)与标签(训练模型预测的值)之间的关系。
模型训练完成后,可以提交包含已知特征值的新数据,并让该模型预测最有可能的标签。 利用模型进行预测被称为“推理”。
软件工程师可用于构建支持 AI 的解决方案的许多服务和框架都需要一个开发过程,该过程涉及基于现有数据训练模型,然后才能用于在应用程序中推断新值。
概率和置信度分数
一个训练有素的机器学习模型可能准确度很高,但没有一个预测模型能确保绝对准确。 机器学习模型所做的预测基于概率,尽管软件工程师不需要在数学层面对概率理论有深入的理解,但他们必须要了解的一点是:预测反映的是统计可能性,而不是绝对事实。 在大多数情况下,预测会附带一个关联的置信度分数,这个分数反映了所做预测的概率。 软件开发人员应利用置信度分数值对预测进行评估,并通过应用适当的阈值来优化应用程序的可靠性,同时降低基于边际概率进行预测的风险。
负责任的 AI 和道德标准
软件工程师必须考虑其软件对用户和整个社会的影响,包括从道德层面考虑软件的使用。 当应用程序注入了人工智能时,这些考虑因素会变得尤其重要,这是由 AI 系统的工作和决策方式本身决定的,即通常基于概率模型,而这些模型又依赖于用于训练它们的数据。
AI 解决方案的人性化本质可以极大地提升应用程序的用户体验,但也会让用户过于信任应用程序做出正确决策的能力。 由于不正确地预测或误用 AI 功能而对个人或组织带来的潜在危害必须引起足够的重视,构建支持 AI 的解决方案的软件工程师应适当考虑降低风险,确保公平性和可靠性,同时采取充分的保护措施,防止这种危害或歧视。