开源与专有大型语言模型在编程反馈生成与评估中的较量
摘要
本文探讨了大型语言模型(LLMs)在计算教育研究(CER)领域中的应用,特别是在生成和评估编程反馈方面的效率。研究团队评估了开源LLMs(如Meta的Llama3)与专有模型(如GPT-4o)在生成高质量编程反馈及评估反馈质量方面的表现。通过对比分析学生提交的Python编程练习数据集,研究发现开源LLMs在生成和评估编程反馈方面几乎与专有模型持平。此外,研究还展示了较小规模的LLMs在执行这些任务时的效率,强调了多种LLMs对教育者和从业者的可访问性,甚至包括免费使用的选项。
原理
本文的关键内容在于评估开源和专有LLMs在生成和评估编程反馈方面的性能。工作原理基于以下几个核心步骤:
- 数据集使用:采用公开可用的学生编写程序的基准数据集。
 - 反馈生成:通过提示模型提供关于程序中错误的解释和相应的修复建议来生成反馈。
 - 手动评估:使用自定义评分标准,包括解释的完整性和可理解性以及建议修复的准确性,由人工评估者对生成的反馈进行评分。
 - 自动反馈评估:利用其他语言模型自动评估LLM生成的反馈质量,探索了单一LLM作为评判者和多个LLM组成的评判团两种方法。
 
这些步骤共同构成了评估LLMs在编程反馈生成和评估中性能的方法论。
流程
- 数据准备:选择包含57个入门级编程作业的数据集,每个作业附带相关测试案例、学生错误解决方案、错误描述和修复建议。
 - 模型选择与配置:选择包括Gemma-2B、Phi-3-mini、Mistral7B、Llama3-8B和Llama3-70B等开源模型,以及GPT-3.5-turbo和GPT-4o等专有模型。使用EasyLLM Python库通过HuggingFace Inference API查询这些模型。
 - 反馈生成:模型根据提供的系统提示和任务描述生成反馈,包括列出程序中的所有错误及其修复建议。
 - 评估与评分:通过人工评估者和自动评估模型(如GPT-3.5-turbo和GPT-4o)对生成的反馈进行评分,使用包括解释准确性、选择性和清晰度等标准。
 - 结果分析:分析模型在不同评分标准下的表现,比较开源模型与专有模型的性能。
 
这一流程详细展示了从数据准备到最终结果分析的完整评估过程。
应用
本文的研究结果表明,开源LLMs在生成和评估编程反馈方面与专有模型具有竞争力,这为教育者和从业者提供了新的选择。开源模型的透明度、信任度和成本效益使其在计算教育领域具有广泛的应用前景。未来,这些模型可以进一步集成到编程教学工具中,提供实时、个性化的反馈,从而提高编程教育的质量和效率。
