低成本语言模型:Python 代码生成的调研及性能评估
最近,大型语言模型(LLMs),特别是那些在代码上进行预训练的模型,展现出了从自然语言输入中以少量甚至无需样本的方式生成程序的强大能力。然而,这些模型的语言到代码生成能力缺乏全面的评估。本研究通过 L2CEval 系统地评估了 LLMs 在 7 个任务(包括语义解析、数学推理和 Python 编程)中的语言到代码生成能力,分析了可能影响它们性能的因素,如模型大小、预训练数据、指令调整和不同的提示方法。除了评估模型性能,我们还衡量了模型的置信度校准情况,并对输出的程序进行人工评估。这使我们能够识别并分析各种任务和模型的典型失败模式。L2CEval 提供了对 LLMs 在语言到代码生成方面能力和限制的全面了解。同时,我们还发布了评估框架和所有模型输出,希望为今后在该领域的进一步研究奠定基础。
Sep, 2023
最近大型语言模型(LLMs)在代码生成方面有了显著进展,但现有的基准测试无法全面评估 LLMs 在函数级代码生成能力方面的充分性。通过分析两个常见的基准测试(HumanEval 和 MBPP),我们的研究发现由于质量、难度和细度的限制,这些测试可能无法彻底评估 LLMs 的代码生成能力。因此,我们引入了 “Mostly Hard Python Problems”(MHPP)数据集,包含 140 个独特的人类策划问题。通过将自然语言和代码推理相结合,MHPP 评估了 LLMs 理解规范和限制、进行多步推理以及有效应用编码知识的能力。对 22 个 LLMs 使用 MHPP 的初步评估显示,在 HumanEval 上表现良好的模型在 MHPP 上往往无法取得类似的成功。此外,MHPP 突显出各种以前未被发现的 LLMs 的限制,让我们相信它能为更好地理解 LLMs 的能力和限制铺平道路。数据集和代码可在此链接获取。
May, 2024
我们探讨了在初级编程课程中应用大型语言模型(LLM)生成代码追踪问题的方法,通过设计指导 GPT4 生成基于代码片段和描述的代码追踪问题的有针对性提示,并建立了一套人工评价指标,用于评估模型生成的问题与人工专家创建的问题的质量。我们的分析揭示了 LLMs 在生成多样化代码追踪问题方面的能力和潜力,并提供了一个独特的人工和 LLM 生成的追踪问题数据集,为教育和自然语言处理研究社区提供了宝贵资源。这项工作为关于 LLMs 在教育环境中潜在用途的持续对话做出了贡献。
Oct, 2023
通过在浏览器中进行推理的新范式,基于生成技术的人工智能和大型语言模型能够在编程教育中生成个性化反馈和提示,本文通过基准测试语言模型在编程反馈生成中的质量、成本、时间和数据隐私等多个性能标准,展示了与浏览器推理引擎兼容的小型模型的反馈质量提升,并使用 WebLLM 的浏览器推理引擎在三个不同的 Python 编程数据集上展示了经过精调的 Llama3-8B 和 Phi3-3.8B 4 位量化模型的有效性,同时提供完整的实现、Web 应用和数据集以促进进一步的浏览器语言模型研究。
Jun, 2024
使用大型语言模型(LLMs)生成高质量的测试用例是一个重要问题,目前的研究主要集中在改进代码生成过程中通过 LLMs 生成辅助测试用例的性能,而 LLMs 在仅生成测试用例方面的性能尚未全面研究。为了填补这一空白,本文通过大量实验研究了 LLMs 生成高质量测试用例的能力,并提出了一种名为 TestChain 的多代理框架,通过与 Python 解释器的交互提供更准确的测试输出,实验结果表明 TestChain 在测试用例准确性上明显优于基准模型,其中使用 GPT-4 作为基础的 TestChain 在 LeetCode-hard 数据集上相比基准模型改进了 13.84%。
Apr, 2024
该研究论文介绍了如何将大型语言模型用于编写机器人策略代码,并达成具有几何空间推理能力、可自主创新、精确且具备行为常识的策略,同时提供了对多个真实机器人平台进行演示和基准测试的代码和视频。
Sep, 2022
系统综述了代码处理与语言模型的最新进展,包括 50 + 种模型,30 + 项评估任务和 500 多个相关研究。分析了通用语言模型(如 GPT 系列)和专门针对代码进行预训练的模型之间的关系和区别,并强调了代码建模从统计模型和 RNN 到预训练 Transformer 和 LLM 的历史转变。讨论了代码特定的特征及其在训练代码语言模型中的应用,并确定了该领域的主要挑战和潜在未来方向。
Nov, 2023
评估大型语言模型在代码生成方面的效果时,需要使用健全的基准测试,而不严谨的评估基准会提供虚假的性能表现。本研究分析了 9 个代码生成基准中的 3,566 个提示,以确定其中的质量问题,并研究了修复这些问题对模型性能的影响。发现评估基准主要侧重于 Python 和编码练习,且缺乏上下文依赖关系,同时还存在拼写和语法错误、表达不清晰以及不符合适当文档规范等质量问题。修复这些问题可以提高 Python 代码生成的性能,但对 Java 代码生成的改进不明显。此外,还发现 GPT-3.5-Turbo 和 CodeGen-2.5 模型可能存在数据污染问题。
Apr, 2024