上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

马宇驰-程序员正在面临前所未有的机会10X开发者的探寻与实践.pdf

编号:153957 PDF 25页 3.44MB 下载积分:VIP专享
下载报告请您先登录!

马宇驰-程序员正在面临前所未有的机会10X开发者的探寻与实践.pdf

1、程序员正在面临前所未有的机会:10X开发者的探寻与实践马宇驰 华为云演讲嘉宾马宇驰AI算法科学家/代码大模型高级技术专家 博士,华为云PaaS技术创新Lab-DevAI Lab 负责人、CodeArts Snap智能编程助手 负责人、智能化研发技术专家、代码大模型高级技术专家 应届加入华为,历任AI算法科学家、智能化测试技术专家、研发智能博士军团Leader 等岗位17年加入华为工作至今,带领团队先后围绕智能化测试、智能化运维、智能路由与调度、智能化代码生成等方向成功孵化多项智能研发服务,完成规模化落地并外溢目 录CONTENTS1.AIGC for SE的业界洞察2.AI邂逅一站式软件开发3

2、.研发大模型的关键问题与技术挑战4.10X开发者展望AIGC for SE的业界洞察PART 01软件工程3.0:智能化软件工具生产线趋势软件危机:进度风险、质量问题大型工程实践CMM:过程管控,过程决定结果项目化管理:角色分工、职责明确敏捷:强调结果、个体、拥抱变化CICD:持续价值交付DevOps:团队协作软件爆炸:无法适应快速变化AIGC:验收标准、测试用例、UI、代码、测试脚本等人机交互智能:软件研发过程就是人与计算机的交互过程数字化:软件研发平台开始理解需求、设计、代码等以模型和数据为本:研发人员服务于大模型和大数据平台AILLM的演进2021年9月:Sam Altman,the C

3、EO of OpenAI,said that GPT-4 would focus more on coding代码给了大模型推理(思维链)的能力?2023年:GPT4元年,AI Agent全面爆发,GPT4 Turbo出世大模型记忆Prompt向量数据库规划工具后处理COTTOT筛选软分通讯编译代码检查沙盒运行自学习数据库目标分解AI邂逅一站式软件开发PART 02华为研发大模型全景华为研发大模型定位:辅助研发效率提升知识获取(时间占比:14%)需求管理系统设计编码(时间占比:17%)构建测试(时间占比:19%)发布研发知识推荐代码自动生成测试用例自动生成软件研发工具(CodeArts)华为研

4、发大模型2)研发作业数据清洗与评价,提升大模型能力1)大模型提升工具智能化,助力研发能力提升需求管理代码开发代码托管代码检查编译构建测试部署与运维发布流水线华为研发大模型的构建基础模型华为研发大模型(华为内部业务)华为内部的研发数据(X万个代码仓,X亿行 代码,X万篇技术博客)通用研发大模型(内外部通用)百亿华为内部数据万亿级高质量海量数据千亿级精品数据软件算法软件算法代码检查代码检查编译构建编译构建测试测试需求管理需求管理智能化特性智能化特性代码检查代码检查代码仓维度文件维度函数级维度代码代码仓仓代码开发工具代码开发工具准入门禁准入门禁数十项数十项 原生分析能力原生分析能力华为可信质量评级华

5、为可信质量评级华为华为Clean Code标准标准数十项数十项 原原生后处理能力生后处理能力代码代码开发开发工具工具外部开放的研发数据(8600万个代码仓,1500亿行 代码,1300万篇技术博客)利用软件研发工具对数据数据进行加工/合成/筛选/清洗def search(lst):给你一个非空的正整数列表。返回大于零的最大整数,其频率大于或等于整数值本身。整数出现的频率是它在列表中出现的次数。如果不存在这样值,返回-1。示例:search(4,1,2,2,3,1)=2 search(1,2,2,3,3,3,4,4,4)=3 search(5,5,4,4,4)=-1 if not lst:ret

6、urn-1 max_num=max(lst)if max_num=max_num:return max_num else:return-1构建高质量的训练数据,让模型“天生”就有高质量“脏代码”训模型,模型出“脏代码”“Clean Code”进模型,模型出“Clean Code”def search(lst):给你一个非空的正整数列表。返回大于零的最大整数,其频率大于或等于整数值本身。整数出现的频率是它在列表中出现的次数。如果不存在这样值,返回-1。示例:search(4,1,2,2,3,1)=2 search(1,2,2,3,3,3,4,4,4)=3 search(5,5,4,4,4)=-1

7、#创建一个字典存储每个整数的频率 freq_dict=for num in lst:if num in freq_dict:freq_dictnum+=1 else:freq_dictnum=1#按key倒序将字典进行排序 sorted_dict=dict(sorted(freq_dict.items(),key=lambda item:item0,reverse=True)#遍历排序后的字典 for num,freq in sorted_dict.items():#如果数字频率大于或等于本身值则返回 if freq=num:return num#如果不存在这样的整数,返回-1 return-

8、1逻辑不清,代码难懂初级程序员的水平步骤清晰,带有注释,代码易读高级程序员的水平代码生成测评数据集(Java):业界通用的HumanEval数据集(HE)在所对比的百亿级模型中,SNAP在代码生成上准确率最佳,一次生成通过测试的概率在业界通用的HE数据集上达到同等规模参数模型业界Top1。开发者需要手动编写每一行代码,这需要投入大量的时间和精力;对于复杂的算法和数据结构,尤其痛苦和耗时通过理解自然语言和关联上下文自动生成代码,大大减少了开发者的工作量,提高了开发效率过去现在跨文件关联“utils.tools”上下文的代码生成示例典型场景1:代码自动生成BenchmarkSNAP(华为)Wiza

9、rdCoderCode LlamaHumanEval(Python)82.3%68.29%48.17%HumanEval(Java)67.1%56.71%41.46%HumanEval(C/C+)58.5%49.39%44.51%典型场景2:单元测试用例生成单元测试用例生成测评数据集:无业界公认的单元测试用例评测集,人工构建了一个包含10个Java类,14个Java方法的评测集。测评方法:采用业界通用的,通过对模型推理的代码进行修改,对完整的函数测试行覆盖率。手动编写每个单元测试用例的详细步骤和预期结果,在有限的开发时间保证代码测试覆盖率困难自动创建单元测试用例,提高测试覆盖率,确保每个功能和

10、场景都被测试到过去现在String类型含两个if-else的单元测试用例生成数据集组成基础类型控制流面向对象微服务Java类3232Java方法7232指标SNAP(华为)开源 SOTA平均测试代码行数52156平均修改代码行数1031平均行覆盖率77%70%SNAP生成的代码相对于开源 SOTA生成的代码,代码更简洁,需要人工修改的代码行数更少,行覆盖率更高。典型场景3:代码调试代码调试测评数据集:参考了公开数据集,构建了常见异常的Java代码和运行时报错评测数据集。测评功能:代码纠错:采用错误代码作为prompt,模型纠正代码错误。代码Debug:采用错误代码+报错信息作为prompt,模

11、型纠正代码错误。SNAP不仅具备代码纠错能力,也提供了代码Debug能力。在输入代码+报错信息和只输入代码的两种代码调试场景下,华为SNAP准确率更高。且在只输入代码进行纠错的场景下,误报率更低。测评方法:将模型推理的代码,直接在测试环境中进行单元测试,采用Pass3通过率作为评价指标。查找代码中的错误需要大量的时间和耐心,尤其是对于复杂的代码和大型项目来说,定位问题可能会非常困难快速定位问题,并提供错误发生的详细信息和修复建议,大大缩短了定位错误的时间过去现在检出“除数为0”和“类型错误”并给出修复代码示例调试细分功能输入内容SNAP(华为)开源SOTAPass3Pass3代码纠错仅代码65

12、%55%代码Debug代码+报错信息65%60%典型场景3:代码调试代码调试测评数据集:参考了公开数据集,构建了常见异常的Java代码和运行时报错评测数据集。测评功能:代码纠错:采用错误代码作为prompt,模型纠正代码错误。代码Debug:采用错误代码+报错信息作为prompt,模型纠正代码错误。SNAP不仅具备代码纠错能力,也提供了代码Debug能力。在输入代码+报错信息和只输入代码的两种代码调试场景下,华为SNAP准确率更高。且在只输入代码进行纠错的场景下,误报率更低。测评方法:将模型推理的代码,直接在测试环境中进行单元测试,采用Pass3通过率作为评价指标。查找代码中的错误需要大量的时

13、间和耐心,尤其是对于复杂的代码和大型项目来说,定位问题可能会非常困难快速定位问题,并提供错误发生的详细信息和修复建议,大大缩短了定位错误的时间过去现在检出“除数为0”和“类型错误”并给出修复代码示例调试细分功能输入内容SNAP(华为)开源SOTAPass3Pass3代码纠错仅代码65%55%代码Debug代码+报错信息65%60%研发大模型的关键问题与技术挑战PART 03关键问题与技术挑战模型优化工程优化关键技术1:中文友好的代码生成 在保障模型性能的条件下,增强中文语义的理解能力 利用大模型能力持续补齐数据上中文社区短板关键技术4:体验评估与优化对于越来越多的下游任务构建成体系的评测方法论

14、构建客观且贴近真实工程的Benchmark关键技术5:模型在线学习 基于用户的显式和隐式反馈对在线的大模型进行微调,实现在线模型实时更新关键技术6:低成本SFT 如何实现各种研发场景的训练/验证数据集快速低成本建设,以及模型的训练以及自动验证部署 模型参数外挂等技术,实现低成本训练与数据隔离关键技术2:Prompt组装 判断用户输入的任务描述完整性和合理性,并通过交互明确意图,提高代码生成准确率 Prompt结合精准上下文,扩大模型生成感知野,关键技术8:模型量化在保证精度不过多下降的前提下,量化模型,支撑端测算力实现模型推断关键技术3:AI Agent探索 结合预训练模型,在Agent逻辑下

15、,完成复杂任务的精准生成与推理 结合记忆模块,进行搜索增强,减少模型幻觉,提升回答准确率关键技术7:后处理 根据项目上下文检查和修复所生成代码的编译运行错误 利用沙盘,通过编译与运行直接反馈并迭代完成修改 结合单元测试,修复生成程序中的逻辑性错误关键问题与技术挑战10X开发者展望PART 04编程的终结,言之过早AI辅助能有效提升研发人员的单兵作战能力软件工程1.0(质量)瀑布模型一场大赛,研发智能化已悄然到来:上届冠亚军选手没有使用大模型,在今年大赛中,冠军排在170名,亚军排在450名。今年8位满分选手全都使用大模型。软件工程2.0(效率)敏捷、精益软件工程3.0(智能)人机协同AI辅助研

16、发支撑研发人员从 普通士兵 到 特种兵的升级新时代软件研发Scaling Law的终结与模型的自我进化扩展法则 Scaling Law的关键变量:计算量、数据集和参数量计算量数据集参数量AI算力的新摩尔定律,引导一线大厂开始算力军备竞赛24年国内将以万片为单位计算集群,意味着万亿级模型的算力底座已初步具备23年开源模型年初与年尾参数规模对比,整体可用版本的规模大了约2050倍(约X B XXX B)24年预计开源模型也会有同等规模的提升24年闭源模型将加快追赶GPT的脚步全球高质量数据集是有限的,目前统计有XX T Token基于当前版本GPT4的标注数据,在部分领域已超越人的标注数据随着国内主流厂商专业用户量的提升,也会带来更为精准的数据反馈THANKS

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(马宇驰-程序员正在面临前所未有的机会10X开发者的探寻与实践.pdf)为本站 (2200) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部