苹果公司发布了三项引人入胜的研究,揭示了基于人工智能的开发如何能改善工作流程、提升质量和效率。以下是详细内容。
使用自编码器Transformer模型进行软件缺陷预测
在这项研究中,苹果的研究人员提出了一种新的人工智能模型,旨在克服当前大型语言模型在检测和预测大规模代码库中的错误时存在的局限性(例如“产生幻觉、上下文贫乏的生成,以及在检索过程中丢失关键业务关联”)。
该模型名为ADE-QVAET,它结合了四种人工智能技术,以提高错误预测的准确性:自适应差分进化、量子变分自编码器、一个Transformer层以及自适应噪声抑制与增强。
简而言之,自适应差分进化调整模型的学习方式,量子变分自编码器帮助其理解数据中更深层的模式。同时,Transformer层确保模型能追踪这些模式之间的相互关系,而自适应噪声抑制与增强则负责清理和平衡数据以保持结果的一致性。
有趣的是,这并非直接分析代码的大型语言模型。相反,它分析关于代码的度量和数据,例如复杂性、大小和结构,并寻找可能指示错误发生位置的模式。
据研究人员称,在专门用于软件错误预测的Kaggle数据集上测量模型性能时,结果如下:
“在使用90%训练数据比例进行训练时,与差分进化机器学习模型相比,ADE-QVAET实现了高准确率、精确率、召回率和F1分数,分别达到98.08%、92.45%、94.67%和98.12%。”
这意味着该模型在整体上非常可靠,并且在正确识别真实错误、避免误报方面非常有效。
在苹果机器学习研究博客上阅读完整研究
用于软件测试的智能RAG:结合混合向量-图与多智能体编排
这项研究由四位苹果研究人员完成,其中三位曾参与ADE-QVAET模型的研究。在此,他们解决了质量工程师面临的另一项耗时任务:为大型软件项目创建和维护详细的测试计划与测试用例。
在这项研究中,他们开发了一个系统,利用大型语言模型和自主人工智能代理来自动生成和管理测试工件(从测试计划到验证报告),同时保持需求、业务逻辑和结果之间的完全可追溯性。
换句话说,他们构建了一个能够自主规划、编写和组织软件测试的人工智能系统,这可能有助于简化质量工程师的工作流程,因为质量工程师“将30-40%的时间花费在创建基础测试工件上,例如测试计划、测试用例和自动化脚本”。
与ADE-QVAET模型类似,这项研究的结果也相当可观:
“该系统实现了从65%到94.8%的显著准确率提升,同时确保了在整个质量工程生命周期中全面的文档可追溯性。对企业级公司系统工程和SAP迁移项目的实验验证表明,测试时间线缩短了85%,测试套件效率提高了85%,预计成本节省35%,从而使上线时间提前了2个月。”
另一方面,研究人员也指出该框架存在局限性,包括他们的工作仅聚焦于“员工系统、财务和SAP环境”,这限制了其泛化能力。
在苹果机器学习研究博客上阅读完整研究
使用SWE-Gym训练软件工程智能体与验证器
这或许是三项研究中最有趣且最具雄心的一项。
前两项研究侧重于预测错误可能出现的位置以及如何进行测试和验证,而SWE-Gym背后的理念是训练能够通过阅读、编辑和验证真实代码来实际修复错误的人工智能代理。
SWE-Gym是使用来自11个开源仓库的2,438个真实世界Python任务构建的,每个任务都包含可执行环境和测试套件,以便智能体能够在真实条件下练习编写和调试代码。
研究人员还开发了SWE-Gym Lite,它包含230个更简单、更独立的任务,旨在使训练和评估速度更快、计算成本更低。
根据该研究,使用SWE-Gym训练的智能体正确解决了72.5%的任务,比之前的基准高出20多个百分点。
与此同时,与完整设置相比,SWE-Gym Lite将训练时间减少了近一半,同时提供了相似的结果。另一方面,Lite变体包含的编码任务数量少得多且简单得多,这使得其在测试模型处理更大型、更复杂问题时的效果较差。
在苹果机器学习研究博客上阅读完整研究