字节跳动如何在单元测试中落地大模型|QCon
单元测试是保障项目可靠性的重要手段。然而,传统的智能单测生成方法存在着对多种编程语言重新适配、依赖静态分析和动态分析工具的问题。但大模型出现后,另一种令人振奋的解决方案来了。
随着模型参数规模的提升,大模型在代码理解和代码生成能力方面取得了巨大的进步,为单元测试带来了全新的可能性。端到端的生成方式可以低成本地将单元测试覆盖到多种编程语言中,为项目提供可靠性保障。然而,在大模型助力智能单测生成的过程中,仍然存在模型幻觉和测试分支覆盖不全的问题。
为解决以上问题,字节跳动算法专家张树波的团队发现通过任务微调、强化学习等技术可以提升语言模型的单元测试生成语法正确率和分支覆盖率。经过测试,他们的 70 亿参数模型的生成效果不弱于通用版 ChatGPT 的水平,并且在低端显卡上的推理时延只有 ChatGPT 的 25%。且目前大模型单元测试生成分支覆盖率在实际项目中达到 56%,同时在抖音的 Android、iOS 双端落地,问题有效性达到 80%,修复率 65%。
在今年 9 月 3-5 日举办的 QCon 全球软件开发大会·北京站中,张树波将把以上经验分享给大家。他硕士毕业于清华大学,先后就职于 vivo、字节跳动,从事 NLP 算法多年,在智能单测、智能客服、语音助手等业务场景有丰富的落地经验。
在本次演讲中,他将首先介绍单元测试的背景和其在软件开发中的重要性,并提出评估单元测试生成效果的指标,以便更好地衡量生成结果的质量和覆盖范围。
接着介绍传统的单测生成方法,包括依赖静态分析和动态分析等工具。传统方法在面对多种编程语言时需要进行适配,并存在一些局限性和挑战。
随后,他将结合大模型基座介绍与对比、Prompt 对单测生成的影响、代码理解、生成能力评估、测试用例生成能力评估和通用模型存在的问题等几方面介绍他们是如何评估通用大模型的单测生成能力的。随后介绍如何通过任务微调提升分支覆盖率和强化学习缓解模型幻觉问题以达到提升大模型单测生成效果的目的。
最引人入胜的是大模型落地工程实践的部分,这部分包含大模型微调框架开发和大模型推理优化实践两个部分。
最后,他将分享大模型在单元测试生成领域的应用落地情况,与听众共同探讨大模型在提升软件开发效率和质量方面的潜力,并探讨未来发展的可能性。
如果你也对大模型如何助力智能单测生成从而提升项目的可靠性感兴趣,这个演讲一定不要错过。
以「启航·AIGC 软件工程变革」为主题的 QCon 全球软件开发大会·北京站将于 9 月 3-5 日在北京•富力万丽酒店举办,此次大会策划了大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、大前端融合提效、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近 30 个精彩专题。
现在购票即可享受 8 折优惠,立减 ¥1760。咨询购票可联系票务经理 18514549229(微信同手机号)。点击「阅读原文」即可查看专题详情,期待与各位开发者现场交流。
微信扫码关注该文公众号作者