Jigsaw数据集是专为研究程序合成与大型语言模型(LLM)交互而设计的数据集。本文将详细介绍Jigsaw数据集的组成、结构以及如何利用这些数据支持程序合成的研究。
Jigsaw数据集概览
Jigsaw项目包含两个主要的数据集,都在相关论文《Jigsaw: Large Language Models meet Program Synthesis》中有详细描述:
- PandasEval1 – 由论文作者收集,包含68个条目。
- PandasEval2 – 通过两次黑客马拉松用户研究会议收集,涵盖21个独特的任务。每个任务包含多个具有细微差别的集合,例如标量/常数差异,某些任务的集合在语义上有所不同。每个任务最多有5种变体/集合,每个集合包含多种自然语言的变体,共计725个条目。
数据集结构
Jigsaw数据集的结构非常清晰,具体包括:
- 最外层: 包含唯一任务ID的键值对。
- 任务层: 每个任务包含不同集合的键值对。
- 集合层: 每个集合包括:
- 用户编写的查询列表及其用户ID。
- 一个或多个输入输出(IO)示例,每个示例都是一个字典,包含:
- 输入的代码片段。
- 输出的代码片段。
- 输入与输出的对应名称。
- 一个或多个正确的解决方案。
数据集的应用
Jigsaw数据集的设计支持程序合成领域的研究,尤其适用于研究LLM在程序代码生成中的应用。通过分析这些数据,研究人员可以更好地理解LLM如何处理各种编程任务,以及如何优化模型以提高其效率和准确性。