AI专题:AI辅助编程真实测评与企业落地实践.docx

AI专题:AI辅助编程真实测评与企业落地实践.docx

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

AI辅助编程真实测评

与企业落地实践

作者:蒋志伟

个人简要

蒋志伟

爱好技术的架构师

参与OpenTelemetry开源社区

曾0-1搭建美团APP的推荐、搜索服务

曾负责Q上亿用户机票搜索、低价推荐系统有旅游GDS(全球分销系统)的技术专利

开源项目

基于场景的AI编程测评集

/laziobird/CodeLLMTEval

测评集现状与全场景测评介绍

测评集现状与全场景测评介绍

背景和最新发展

企业提效的落地现状与解决方案

企业提效的落地现状与解决方案

01

AI辅助编程的背景与发展

AI在自然语言处理NLP上的里程碑

EmbeddingWord2VecTransformer2003Bengio

Embedding

Word2Vec

Transformer

2003Bengio团队

嵌入技术,将高维稀疏的数据通过神经网络或其他算法映射到低维稠密的向量空间,尤其WordEmbedding词向量普遍用于NLP领域

2013Google

Word2Vec模型生成词向量成为自然语言处理的标配方法,通过上下文来预测当前词语的CBOW训练方法,为后来神经网络语言模型的发展奠定了基础

2017GoogleOpenAITransformer模型在翻译任务上超过之前最优秀的循环神经网络模型采用AttentionLayers重点解决多义词问题,基于此的GPT模型让AIGC极大发展

CodeLLM(代码生成大语言模型)的发展

人工智能对自然语言的上下文推理、一词多义理解能力的加持。让场景契合的辅助编程领域有了快速的发展

辅助编程相关场景任务一般有三大类:

?代码-代码:包含代码补全、代码修复

?代码-文本:代码解释、代码优化、代码异常排查

?文本-代码:通过高级提示词Prompt做代码生成(单元测试、API、SQL、数据建模等)

CodeLLM:代码生成大语言模型的发展

关键模型与项目

/pdf/2311.07989v1

?2024.7CodeGeeX4

/THUDM/CodeGeeX4

?2024.6DeepSeek-V2

/deepseek-ai/DeepSeek-V2

现有CodeLLM测评数据集问题

模型测试训练、测试数据不足

现有的CodeLLM测评工具通常使用有限的训练数据

以HumanEval、MBPP代表代码模型评测数据几年没更新

评估标准单一

现有的CodeLLM测评原理只关注代码结果的正确性,看不到代码的可读性、完整性、通用性等维度的信息

测评打分原理造假容易

各家公布自家测试结果,测评是黑盒的状态将测评集放到训练集中训练,好比

拿着标准答案答考题,测评分数会虚高

Github上公布的测评结果明显有水分

?同样大模型不同测评来源,评分不一样

?基本常识性错误

代码大模型各家评测基数差异巨大

?MetaCodeLlama

?DeepSeekCoderV2

?智谱CodeGeeX4

?北大aiXcoder

?阿里巴巴CodeQwen

代码大模型评测集工作原理

最常用的测评:HumanEval

OpenAI发布的一个评估大型语言模型在代码生成方面表现的基准测试。它包含164个设计的Python编程任务,每个任务有多个单元测试,通过评估模型生成的代码是否能通过这些单元测试来评判模型的能力

用JSON格式定义好编程任务,保存测评集在文件中

1

1

2

2

根据测评文件编程任务给出prompt,调用大模型生成完整代码,保存到一个样本文件的completion字段中

3代码大模型评测集工作原理

3

用程序读取样本文件,批量把任务生成中代码和任务的单元测试代码合并成一个完整的程序

4批量动态执行每个任务程序,如果单元测试用例通过,返回passed,最后调用pass@k的算法测评打分

pass@k打分算法

5

5

假设样本文件叫samples.jsonl,调用叫evaluate_functional_correctness函数完成1-4的步骤

简单来造个假

1部署HummanEval测评环境准备编程任务、答案样本

简单用测试集和问题集运行打分效果,pass@k分值0.16

pass@k分值明显提高

pass@k分值明显提高,达到0.4994

2

3

文档评论(0)

4A方案 + 关注
实名认证
服务提供商

擅长策划,|商业地产|住房地产|暖场活动|美陈|圈层活动|嘉年华|市集|生活节|文化节|团建拓展|客户答谢会

1亿VIP精品文档

相关文档