Hints-In-Browser: Benchmarking Language Models for Programming Feedback Generation

📄 arXiv: 2406.05053v2 📥 PDF

作者: Nachiket Kotalwar, Alkis Gotovos, Adish Singla

分类: cs.LG, cs.AI

发布日期: 2024-06-07 (更新: 2025-03-07)


💡 一句话要点

提出Hints-In-Browser,在浏览器端基准测试编程反馈生成语言模型,兼顾质量、成本、隐私和时间。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 编程教育 反馈生成 语言模型 浏览器内推理 WebLLM 模型量化 合成数据 数据隐私

📋 核心要点

  1. 现有编程教育反馈生成主要关注质量提升,忽略了成本、时间和数据隐私等实际部署的关键因素。
  2. 利用浏览器内推理技术,直接在浏览器运行模型,降低成本并保护数据隐私,同时开发微调流程提升小模型反馈质量。
  3. 实验表明,微调后的Llama3-8B和Phi3-3.8B量化模型在WebLLM引擎上表现出色,并在Python编程数据集上验证了有效性。

📝 摘要(中文)

生成式AI和大语言模型在通过为学习者生成个性化反馈和提示来增强编程教育方面具有巨大的潜力。目前的研究主要集中在提高生成反馈的质量,以达到人类导师的水平。虽然质量是一个重要的性能标准,但它不是实际教育部署中唯一需要优化的标准。本文对编程反馈生成的语言模型在多个性能标准(包括质量、成本、时间和数据隐私)方面进行了基准测试。关键思想是利用浏览器内推理这一新范式的最新进展,允许直接在浏览器中运行这些模型,从而在成本和数据隐私方面提供直接的好处。为了提高与浏览器内推理引擎兼容的小模型的反馈质量,我们开发了一个基于GPT-4生成的合成数据的微调流程。我们展示了使用WebLLM的浏览器内推理引擎,在三个不同的Python编程数据集上微调的Llama3-8B和Phi3-3.8B 4-bit量化模型的有效性。我们将发布完整的实现以及Web应用程序和数据集,以促进对浏览器内语言模型的进一步研究。

🔬 方法详解

问题定义:论文旨在解决编程教育中,利用大语言模型生成反馈时,如何在保证反馈质量的同时,兼顾成本、时间以及用户数据隐私的问题。现有方法通常侧重于提升反馈质量,但忽略了实际部署时对资源消耗和数据安全性的考量,使得模型难以在资源受限的环境中应用,并可能带来隐私泄露风险。

核心思路:论文的核心思路是利用浏览器内推理技术,将语言模型直接部署在用户的浏览器中运行,从而避免将用户代码发送到服务器进行处理,降低了成本,缩短了响应时间,并保护了用户的数据隐私。同时,为了弥补小型模型在反馈质量上的不足,论文提出了一种基于GPT-4生成合成数据的微调流程,以提升模型的性能。

技术框架:整体框架包括以下几个主要阶段:1) 数据准备:收集或生成编程练习题和对应的正确解答,并使用GPT-4生成高质量的反馈数据作为训练集。2) 模型选择与量化:选择适合在浏览器中运行的小型语言模型(如Llama3-8B和Phi3-3.8B),并对其进行4-bit量化,以进一步降低模型大小和计算复杂度。3) 模型微调:使用GPT-4生成的合成数据对量化后的模型进行微调,以提升其在编程反馈生成任务上的性能。4) 浏览器端部署:使用WebLLM等浏览器内推理引擎将微调后的模型部署到浏览器中,实现本地化的反馈生成。

关键创新:论文的关键创新在于将浏览器内推理技术应用于编程反馈生成任务,并结合合成数据微调流程,实现了在保证反馈质量的前提下,降低成本、缩短时间和保护数据隐私的目标。与传统的服务器端推理方法相比,该方法无需将用户代码上传到服务器,从而避免了潜在的隐私泄露风险,并降低了服务器的计算压力。

关键设计:在模型微调阶段,论文使用了GPT-4生成的高质量合成数据,并针对编程反馈生成任务设计了特定的损失函数。此外,论文还对模型的量化方法进行了优化,以在保证模型性能的同时,尽可能地降低模型大小和计算复杂度。具体的技术细节包括:使用instruction tuning的方式进行微调,prompt的设计,以及量化过程中对模型参数的调整。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,经过GPT-4合成数据微调后的Llama3-8B和Phi3-3.8B 4-bit量化模型,在使用WebLLM进行浏览器内推理时,能够在保证一定反馈质量的前提下,显著降低计算成本和响应时间。与服务器端推理相比,该方法无需上传用户代码,有效保护了用户隐私。具体性能数据将在后续发布的完整实现中提供。

🎯 应用场景

该研究成果可应用于在线编程教育平台、代码编辑器插件等场景,为学习者提供低成本、高效率、安全可靠的编程反馈。通过在浏览器端运行模型,可以有效降低服务器压力,保护用户代码隐私,并为离线学习提供支持。未来,该技术有望推广到其他教育领域,例如语言学习、数学辅导等。

📄 摘要(原文)

Generative AI and large language models hold great promise in enhancing programming education by generating individualized feedback and hints for learners. Recent works have primarily focused on improving the quality of generated feedback to achieve human tutors' quality. While quality is an important performance criterion, it is not the only criterion to optimize for real-world educational deployments. In this paper, we benchmark language models for programming feedback generation across several performance criteria, including quality, cost, time, and data privacy. The key idea is to leverage recent advances in the new paradigm of in-browser inference that allow running these models directly in the browser, thereby providing direct benefits across cost and data privacy. To boost the feedback quality of small models compatible with in-browser inference engines, we develop a fine-tuning pipeline based on GPT-4 generated synthetic data. We showcase the efficacy of fine-tuned Llama3-8B and Phi3-3.8B 4-bit quantized models using WebLLM's in-browser inference engine on three different Python programming datasets. We will release the full implementation along with a web app and datasets to facilitate further research on in-browser language models.