一个用于并行函数调用的 LLM 编译器
通过选择性融合相似类型的工具操作,我们提出了 LLM-Tool Compiler,在运行时将它们作为统一任务呈现给 LLM,从而加强并行化和效率,与现有方法相比,在大规模 Copilot 平台上,LLM-Tool Compiler 将并行调用提高了 4 倍,令标记成本和延迟分别降低了 40% 和 12%。
May, 2024
基于大型语言模型 (LLMs) 的自动化软件工程在最近的进展中得到了极大的增强。尽管当前的基准测试表明 LLMs 可以完成各种软件工程任务,如人类开发人员一样,但它们的大多数评估仅限于简短的、自包含的算法任务。解决具有挑战性和实际意义的编程任务需要利用多种函数调用作为工具,以有效地实现数据分析和 Web 开发等功能。此外,使用多个工具来解决一个任务需要通过准确理解复杂的指令来进行组合推理。同时实现这两个特征对于 LLMs 来说是一个巨大的挑战。为了评估 LLMs 解决具有挑战性和实际意义的编程任务的能力,我们引入了一个基准测试集 Bench,其中挑战 LLMs 以从 139 个库和 7 个领域中选择 1,140 个细粒度的编程任务中调用多个函数调用作为工具。为了对 LLMs 进行严格评估,每个编程任务包括 5.6 个测试用例,平均分支覆盖率达到 99%。此外,我们提出了 Bench 的自然语言导向变体 Benchi,它将原始的文档字符串自动转换为仅具有基本信息的简短指令。我们对 60 个 LLMs 进行了广泛评估,结果显示 LLMs 还不能准确地遵循复杂指令来使用函数调用,得分最高仅为 60%,明显低于人类的 97%。这些结果强调了在这个领域进一步改进的需要。
Jun, 2024
通过引入强化学习的方法,将代码 LMM 的输出与性能对齐,提高生成代码的期望加速比,并在一组基准任务中展示了 0.9 至 1.6 倍的串行代码速度提升和 1.9 至 4.5 倍的 OpenMP 代码速度提升。
Apr, 2024
通过 Meta Large Language Model Compiler (LLM Compiler) 提供的编译器优化用户界面,可以更好地理解中间表示 (IR)、汇编语言和优化技术。该模型经过数百亿个 LLVM-IR 和汇编代码令牌的训练,并在指令微调中提高了对编译器行为的理解。LLM Compiler 旨在为学术研究人员和行业从业者在编译器优化方面提供可扩展、具有成本效益的基础。
Jun, 2024
我们提出了一个模块化的多语言模型框架,将大型语言模型能力分解为规划器、调用器和摘要生成器,并通过两阶段训练范式有效地训练该框架,该框架在各种工具使用基准测试中表现出超越传统单语言模型方法的效果,凸显了其在工具学习中的功效和优势。
Jan, 2024
该论文通过比较分析两种先进的大型语言模型(GPT-4.0 和 CodeLlama-70B)与传统优化编译器在代码优化方面的能力和局限性,以及引入了一套挑战性的优化模式基准和用于评估生成代码性能和正确性的自动机制,发现虽然大型语言模型有超越当前优化编译器的潜力,但在大型代码上常常生成不正确的代码,需要自动化验证方法,其中 CodeLlama-70B 在两种大型语言模型中表现最佳,最大加速能达到 2.1 倍,而 CETUS 在优化编译器中表现最佳,最大加速能达到 1.9 倍。同时,两种提示方法(思考链和指令提示)没有显著差异。
Jun, 2024
该研究介绍了一种技术,它允许大型语言模型在解决编程任务时利用用户提供的代码,并且提出了一种逐步生成模块化子函数的方法,以帮助模型在初始生成的代码不足时进行未来的代码生成尝试。
Nov, 2023
我们研究了大型语言模型(LLMs)模拟计算机代码和算法执行的程度。通过研究直线程序,我们发现当前的 LLMs 在处理简单程序时表现不佳,随着代码长度的增加,性能迅速下降。我们进一步研究了 LLMs 模拟包含关键路径和冗余指令的程序的能力,并展示了常规排序算法和嵌套循环的情况。我们观察到 LLMs 只能在短程序或标准过程中以低错误率的顺序执行指令。LLMs 的代码模拟与其模式识别和记忆能力存在着张力:在需要避免记忆的任务中,我们提出了一种新的提示方法,逐行模拟代码执行。经验证实,我们的新的模拟链(CoSm)方法通过避免记忆的问题改进了标准的思维链提示方法。
Jan, 2024
通过使用领域特定的语言模型和专门设计的代码预处理工具 (Tokompiler),本研究提出了一种提高高性能计算 (HPC) 和编译相关任务中代码完成准确性和语义理解的方法,为领域特定的语言模型开辟了发展新途径。
Aug, 2023