five

CodeNet, POJ104

收藏
arXiv2024-12-24 更新2024-12-25 收录
下载链接:
http://arxiv.org/abs/2412.17754v1
下载链接
链接失效反馈
官方服务:
资源简介:
本研究使用了两个主要数据集:CodeNet和POJ104。CodeNet是一个包含约1400万条代码片段的大型数据集,而POJ104是一个包含52000条代码片段的小型数据集,专注于104个算法问题。这些数据集用于生成带有行级执行反馈的代码数据集,以增强逻辑推理和函数格式遵循能力。数据集的创建过程包括代码收集、执行反馈生成、数据精炼和反馈嵌入。该数据集主要应用于大型语言模型(LLMs)在复杂函数调用中的训练和评估,旨在提高模型在函数调用中的鲁棒性和准确性。

This study utilizes two primary datasets: CodeNet and POJ104. CodeNet is a large-scale dataset containing approximately 14 million code snippets, while POJ104 is a small dataset with 52,000 code snippets focused on 104 algorithmic problems. These datasets are employed to generate code datasets with line-level execution feedback, aiming to enhance logical reasoning and compliance with function formatting standards. The dataset creation process encompasses code collection, execution feedback generation, data refinement, and feedback embedding. This dataset is primarily applied to the training and evaluation of Large Language Models (LLMs) in complex function calls, with the goal of improving the model's robustness and accuracy in function invocation.
提供机构:
北京航空航天大学复杂与关键软件环境国家重点实验室, 阿里巴巴国际数字商务
创建时间:
2024-12-24
搜集汇总
数据集介绍
main_image_url
构建方式
CodeNet-POJ104数据集的构建过程融合了大规模代码片段的收集与精细化的执行反馈生成。首先,从CodeNet和POJ104两个公开数据集中采集源代码,前者包含约1400万代码片段,后者则聚焦于104个算法问题,提供了52000个代码片段,以增强数据集的多样性。随后,通过执行代码并追踪变量变化,生成行级别的执行反馈,使用Python的pysnooper包和C/C++的正则表达式规则来捕获变量变化。执行反馈以‘v: x => y at line i’的格式记录,其中v表示变量,x和y分别表示变量变化前后的值,i表示代码行号。为了减少冗余和无效数据,采用了信息熵优化、长度过滤和无效代码过滤等技术,确保数据集的高质量和实用性。
特点
CodeNet-POJ104数据集的显著特点在于其丰富的行级别执行反馈,这为模型提供了详细的逻辑推理和函数格式遵循的训练数据。数据集通过严格的筛选和优化,确保了代码片段的高质量和执行反馈的精确性。此外,数据集的多样性通过结合CodeNet和POJ104两个数据源得以增强,涵盖了广泛的编程场景和算法问题,使得模型能够在复杂和多样的函数调用场景中表现出色。
使用方法
CodeNet-POJ104数据集主要用于增强大型语言模型(LLMs)在函数调用中的逻辑推理和参数匹配能力。通过将行级别的执行反馈嵌入到代码片段中,模型可以学习到详细的代码执行过程,从而提高对函数格式的遵循和复杂参数的匹配能力。该数据集适用于需要精细逻辑推理和函数调用能力的任务,如代码生成、调试和优化等。使用时,可以将数据集作为预训练或微调的输入,结合特定的模型架构和训练策略,进一步提升模型的性能。
背景与挑战
背景概述
CodeNet-POJ104数据集是由北航复杂与关键软件环境国家重点实验室和阿里巴巴国际数字商务团队共同创建的,旨在解决大规模语言模型(LLMs)在复杂函数调用中的鲁棒性和准确性问题。该数据集的核心研究问题是如何通过高质量的代码微调数据集和行级执行反馈,提升LLMs在函数格式遵循和复杂参数匹配方面的能力。CodeNet-POJ104数据集包含了来自CodeNet的约1400万代码片段和POJ104的52000代码片段,专注于104个算法问题,通过行级执行反馈提供细粒度的过程监督,显著增强了模型的逻辑推理能力和函数格式遵循能力。
当前挑战
CodeNet-POJ104数据集在构建过程中面临多项挑战。首先,数据集需要解决复杂函数调用中的参数匹配问题,这要求模型具备强大的逻辑推理能力。其次,构建过程中遇到的挑战包括数据冗余、无效代码过滤以及非信息性代码的筛选。此外,数据集的生成过程需要处理代码执行反馈的长度和复杂性,确保反馈信息的有效性和简洁性。最后,数据集的构建还需要应对代码片段的多样性和复杂性,以确保模型在不同编程场景下的泛化能力。
常用场景
经典使用场景
CodeNet和POJ104数据集在增强大型语言模型(LLMs)的函数调用能力方面发挥了关键作用。这些数据集通过提供详细的代码片段和行级执行反馈,帮助模型在处理复杂函数调用时提升逻辑推理和参数匹配的准确性。具体而言,这些数据集被用于训练模型在执行代码时跟踪变量变化,从而增强模型对函数格式的遵循能力。
实际应用
在实际应用中,CodeNet和POJ104数据集被广泛用于开发和优化代码生成工具、自动化编程助手以及API调用系统。这些数据集通过提供高质量的代码样本和详细的执行反馈,使得模型能够在实际编程环境中更准确地生成和执行代码,从而提高了开发效率和代码质量。
衍生相关工作
基于CodeNet和POJ104数据集,研究者们开发了多种增强LLMs函数调用能力的创新方法。例如,ADC(Adversarial Datasets and Code Line-Level Feedback)方法通过结合行级执行反馈和对抗性数据生成,显著提升了模型在复杂函数调用中的表现。此外,这些数据集还启发了其他研究,如代码生成模型的改进和多任务学习在函数调用中的应用。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作