大模型如何助力AIOps以保证高可靠的服务?
作者:Rujia Wang,首席研究PM;Chetan Bansal首席研究经理;Saravan Rajmohan,AI与应用研究合作总监;Jim Kleewein,技术科学家。
十多年来,微软提供了世界上最流行的超大规模生产力套件之一,Office 365,它现在是Microsoft 365的一部分。微软365包括数百种不同的服务,在全球数十个数据中心的数十万台服务器上每秒运行数十亿次事务。它为数以亿计的企业、教育和消费者用户提供日常云服务。
这些服务永远不会停止。我们的服务被医院和创伤中心、电网提供商、国家、州和地方政府、主要银行和金融服务提供商、航空公司、航运和物流提供商以及从最大到最小的企业所使用。为了满足他们的需求,我们必须持续可用,这意味着在很长一段时间内100%可用。我们的服务应该在灾难中无缝运行,因为灾难往往是我们的服务最重要的时候——协调应急工作。
这是一个巨大的挑战。极端规模意味着,在我们的服务中,“十亿分之一”的事件并不罕见,而是司空见惯。同时,我们不能允许那些“十亿分之一”的事件损害服务的可用性。这种几乎令人难以置信的大规模和极端临界的组合要求我们不断地重新思考和改进服务架构、设计、开发和运营的各个方面。实现持续可用性和高可靠性服务的一个重要方面是全面理解事件并减轻它们对客户的影响。
除了使用人工智能(AI)和机器学习(ML)来开发新的产品特性和功能,以取悦我们的用户,我们还利用人工智能和机器学习的力量来提高服务的可用性和可靠性,这对我们的超大规模服务至关重要。本文展示了将AI应用于管理生产事件生命周期的一个示例。我们计划在以后的文章中分享更多示例。
——Jim Kleewein, Microsoft 365技术科学家
系统AI使智能成为一种内置能力,在较少人为干预的情况下实现高质量、高效率、自我控制和自适应。 客户利用AI/ML创造无与伦比的用户体验,并通过云服务实现卓越的用户满意度。 AI for DevOps将AI/ML注入到整个软件开发生命周期中,以实现高开发人员生产力。
由于监控不力,软件bug和外部依赖导致的事件检测时间较长。这凸显了对实用工具的需求,以实现细粒度、原位系统可观测性。 某些根本原因类别导致的事件在确定其根本原因类别后会迅速缓解。这表明,使用能够快速识别其根本原因类别的工具,可以缩短由这些类别引起的事件的总体缓解时间。 由某些根本原因引起的事件本身就难以自动监控(例如,需要监控全局状态)。这表明开发人员应该在测试中投入更多,以便在发布前发现这些根本原因类别,从而避免此类事件。
表1 不同LLM的词汇和语义性能
对于根本原因和缓解建议任务,davincici-002 (GPT-3.5)比所有GPT-3模型分别提供至少15.38%和11.9%的增益,如表1所示。 当我们通过将根本原因作为输入添加到模型中来生成缓解计划时,GPT-3.5模型比3个GPT-3模型至少高出11.16%。 我们观察到,由于MRI(Machine Reported Incidents,机器报告的事件)的重复性,LLM模型在MRI上比客户报告的事件(Customer Reported Incidents,CRIs)上表现更好。 使用事件数据对LLM进行微调可以显著提高性能。优化后的GPT-3.5模型在根本原因生成任务中提高了45.5%,在风险缓解生成任务中提高了131.3%(即直接在预训练的GPT-3或GPT-3.5模型上进行推理)。
[1]https://www.microsoft.com/en-us/research/publication/how-to-fight-production-incidents-an-empirical-study-on-a-large-scale-cloud-service/
本公众号致力于健康、安全、绿色的软件生态,分享软件质量管理、软件测试的思想、方法、技术与优秀实践,追踪软件质量领域的热点,及时报道软件质量管理的成功案例或质量事故,以及分享深度思考、有温度的技术文章等,努力成为您工作中的朋友。