在发布部署中使用 LLM 提高速度并降低风险
软件工程
2024-10-10 v1
摘要
发布工程传统上致力于持续将功能和错误修复交付给用户,但在规模达到一定后,发布工程团队就无法确定应发布什么。Meta 的规模下,责任恰当且必然地回归到编写和审查代码的工程师身上。为此,我们开发了 diff risk score(DRS)模型,以确定 diff 导致 SEV(即影响终端用户的严重故障)的可能性。假设 SEV 仅由 diff 引起,一个粗糙的模型可随机屏蔽 X% 的 diff,从而在平均情况下自动捕获 X% 的 SEV。然而,我们的目标是构建一个模型,通过屏蔽 X% 的 diff 来捕获 Y% 的 SEV,其中 Y >> X。通过在过去导致 SEV 的 diff 的历史数据上进行训练,我们可以预测 diff 的风险水平。风险超过特定阈值的 diff 可被屏蔽。我们有四种屏蔽类型:无屏蔽(绿色)、周末屏蔽(周末)、对终端用户影响中等(黄色)、对终端用户影响大(红色)。我们的模型的输入参数为屏蔽等级,结果测度为捕获 SEV 的数量。我们的研究方法包括逻辑回归模型、BERT 模型和生成式 LLM。我们的基线回归模型分别在前 5%(周末)、10%(黄色)和 50%(红色)个风险 diff 上捕获了 18.7%、27.9%和 84.6% 的 SEV。BERT 基于模型 StarBERT 分别捕获了逻辑回归模型在周末、黄色和红色屏蔽区域的 0.61x、0.85x 和 0.81x 的 SEV 捕获量。生成式 LLM,iCodeLlama-34B 和 iDiffLlama-13B,在风险对齐后在生产环境中捕获的 SEV 数量分别为逻辑回归模型的 1.40x、1.52x 和 1.05x。
引用
@article{arxiv.2410.06351,
title = {Moving Faster and Reducing Risk: Using LLMs in Release Deployment},
author = {Rui Abreu and Vijayaraghavan Murali and Peter C Rigby and Chandra Maddila and Weiyan Sun and Jun Ge and Kaavya Chinniah and Audris Mockus and Megh Mehta and Nachiappan Nagappan},
journal= {arXiv preprint arXiv:2410.06351},
year = {2024}
}