这篇论文的主要内容包括:
- 研究背景与动机:论文指出,大型语言模型(LLMs)如GPT系列在代码生成和文本创作方面能力强大,已广泛应用于包括教育在内的多个领域。这给计算机科学(CS)教育带来了机遇(如智能辅导)和挑战(如学术不端)。为了系统评估LLMs在CS入门教育中的实际能力与潜在影响,作者开展了此项研究。
- 核心贡献:CSEPrompts基准框架:论文的核心工作是提出了 CSEPrompts,一个专门用于评估LLMs在入门级计算机科学任务上表现的基准测试集。该框架包含 269个练习提示,具体分为:219个编程练习:来自5个主流编程学习网站(如CodingBat、HackerRank)和3所大学在慕课平台(edX、Coursera)上提供的6门入门CS课程。
50个多项选择题:来自乔治亚理工学院的CS课程。
每个编程练习都配有至少5个测试用例,以确保评估的可靠性。 - 实验设计与评估:研究选取了8个先进的LLMs进行评测,包括通用模型(如GPT-3.5、Llama-2)和专用代码模型(如Code-Llama、WizardCoder)。评估任务分为代码生成(根据问题描述编写Python代码)和选择题回答。代码通过测试用例判断正确性,选择题则直接比对答案。
- 主要研究结果与结论:通过实验,论文回答了四个研究问题(RQs),得出以下关键结论:RQ1:所有测试模型都能产出较高质量的代码,其中GPT-3.5在各项任务上综合表现最佳。与现有通用代码基准(如HumanEval)相比,LLMs在CSEPrompts的学术课程题目上表现更差,说明其难度更高。
RQ2:来自编程网站的题目比学术慕课中的题目更容易被LLMs解决,表明学术题目通常更具挑战性。
RQ3:出乎意料的是,所测试的LLMs在代码生成任务上的表现优于选择题回答任务。
RQ4:专用代码模型在代码生成任务上通常优于通用模型,而通用模型在选择题回答上表现更好。 - 未来工作:作者计划扩展CSEPrompts的数据集规模,并纳入更多LLMs进行更全面的评估。
总结:该论文通过构建一个贴近真实教育场景的基准测试集CSEPrompts,系统评估了多种LLMs在CS入门级编程和知识问答上的能力,揭示了它们在不同任务和题目来源上的性能差异,为理解LLMs对CS教育的影响提供了实证依据。
根据提供的文章《CSEPrompts: A Benchmark of Introductory Computer Science Prompts》,以下是每一章节的详细内容介绍:
1. 摘要
本章节概述了研究的背景、目的和主要贡献。随着大型语言模型(LLM)的进步,它们在学术和专业文本生成,特别是编程代码生成方面的能力日益增强,对计算机科学(CS)教育产生了显著影响。为了评估公开可用的LLM在CS入门教育中的潜在影响,研究者引入了 CSEPrompts——一个包含从入门CS和编程课程中收集的数百个编程练习提示和多项选择题的基准测试框架。文章还提供了在该基准上评估多个LLM生成Python代码和回答基础计算机科学及编程问题性能的实验结果。
2. 引言
本章节详细阐述了研究背景。首先回顾了NLP模型到LLM(如GPT-3、GPT-4)的发展,及其在医疗、教育等领域的革命性应用。重点讨论了LLM对教育,尤其是CS教育带来的机遇(如智能辅导系统)和挑战(如学生可能滥用其完成作业)。尽管已有研究关注GPT模型在教育评估中的表现,但本研究旨在进行更全面的评估,不局限于GPT系列模型。为此,文章提出了四个具体的研究问题,涉及LLM在入门CS作业上的表现、不同来源作业的难度差异、LLM在代码生成与选择题答题上的能力比较,以及专用代码LLM与通用LLM的性能差异。
3. 相关工作
本章节回顾了与代码生成和评估相关的先前工作。在生成式预训练模型兴起之前,代码任务多由CodeBERT等编码器模型处理,但在代码生成任务上表现一般。随着基于编码器-解码器或仅解码器架构的生成模型出现,代码生成能力得到提升,催生了如HumanEval、MBPP等统一基准测试数据集。然而,这些数据集主要关注软件开发中的常见任务,而非教育领域侧重于编程语言语法和语义核心理解的练习。CSEPrompts 的引入正是为了弥补这一空白,专注于从真实教育场景中收集的编程题目。
4. CSEPrompts框架
本章节详细介绍了 CSEPrompts 基准测试的构成和数据收集方法。
- 数据来源:框架包含269个练习提示,分为两部分:编程网站:从CodingBat、LearnPython、Edabit、Python Principles、HackerRank这五个流行的在线Python学习平台手动收集了118个编程提示。
学术慕课:从哈佛大学、密歇根大学、佐治亚理工学院在edX和Coursera平台上提供的六门入门Python课程中,收集了101个编程提示和50个多项选择题。 - 数据特点:每个编程提示都配有至少5个测试用例(多数基准为3个)。多项选择题包含5-10个选项。文章提供了关于提示长度(词元数)的详细统计数据,显示学术慕课的提示通常更长、更复杂。
- 收集策略:强调手动收集以确保数据质量并避免重复,旨在捕捉真实教育场景中的细微差别,这与HumanEval等人工专门编写的基准不同。
5. 实验
本章节描述了评估LLM性能的实验设置。
- 模型选择:评估了八种能够生成英文文本和Python代码的LLM,包括通用基础模型(如GPT-3.5、Llama-2、Falcon、MPT、Mistral)和专用代码微调模型(如Code-Llama、StarCoder、WizardCoder)。
- 评估任务与方法:代码生成:按照固定格式提示模型(如图1所示),模型生成响应后,手动提取代码片段,并使用pytest框架运行所有测试用例进行验证。
选择题答题:同样使用固定格式提示模型(如图2所示),要求其从给定选项中选择正确答案。
6. 结果
本章节展示了实验结果并进行了分析。
- 代码生成性能比较:将LLM在CSEPrompts编程任务上的表现(Pass@1指标)与现有基准HumanEval和MBPP进行了对比。结果显示,所有模型在CSEPrompts[慕课]子集上表现更好,而在CSEPrompts[学术]子集上表现更差。整体上,GPT-3.5表现最佳。
- 选择题答题性能比较:由于缺乏直接可比基准,选择了MathQA-Python进行对比。结果显示,对于大多数模型,回答选择题比回答MathQA中的开放式问题更容易,可能因为选择题选项提供了上下文引导。
- 针对研究问题的发现:RQ1:LLM在CSEPrompts上能产生高质量输出,GPT表现最优。与现有基准比,在慕课题目上更好,在学术题目上更差。
RQ2:来自编程网站的题目对大多数LLM来说比来自学术慕课的题目更容易,说明后者更具挑战性。
RQ3:尽管LLM主要为文本生成设计,但评估的模型在代码生成任务上的表现优于选择题答题任务。
RQ4:GPT-3.5作为通用模型在所有任务上领先。但总体趋势是,通用LLM在选择题上表现更好,而专用代码LLM在代码生成任务上表现更好。
7. 结论与未来工作
本章节总结了研究,并重申了对四个研究问题的回答(与结果部分一致)。主要结论包括:LLM在入门CS作业上表现出色且存在滥用风险;学术慕课的编程题目比编程网站的题目更难;当前评估的LLM更擅长生成代码而非回答选择题;专用代码LLM在代码生成上有优势,但最强的通用模型(GPT-3.5)综合表现最佳。未来工作方向包括扩展基准中的题目数量和模型种类,进行更全面的研究。
