代码数据会促进LLM的推理能力吗?

news2025/1/21 12:12:55

深度学习自然语言处理 原创
作者:Winnie

代码数据对提升LLM的推理能力有效吗?为了解答这个问题,最近的一篇工作提出了CIRS(复杂度影响推理分数)这一新的指标,用来衡量代码数据的复杂性,进而验证不同复杂度的代码数据与LLM推理能力的关系。让我们一起来看看有什么有趣的发现吧。

进NLP群—>加入NLP交流群

Paper:
When Do Program-of-Thought Works for Reasoning?

Link:
https://arxiv.org/abs/2308.15452

147f9eca55f27a94e64d01154c23b765.png

💡什么是PoT(Program-of-Thought)?

在介绍这篇论文之前,先让我们回顾一下PoT(Program-of-Thought)。它是一种解决数值推理任务的方法,将计算和推理两个任务分离开来。具体来说,PoT将问题简化成编程逻辑,并用额外的语言解释器,例如用Python进行编译,得出结果。这种方法能够在几个数学数据集上显著提高了性能,超过了CoT的表现。

下图是CoT与PoT方法的对比。6f4d503d188ccd43bf5867171b1be0cb.png

🤔PoT什么条件下有效?

PoT虽然有所表现,但在什么条件下,它最能提升推理能力?为了解答这个问题,研究者提出了CIRS这一新指标。CIRS的目标是通过量化代码的结构和逻辑复杂度,来探讨它们如何影响LLM的推理能力。

🧮如何计算CIRS?

我们假定代码数据可以提升LLM推理能力,是由于下面两个原因:

  • 结构上,与自然语言相比,代码具有复杂结构建模能力;

  • 逻辑上,代码面向过程的逻辑有助于解决多步推理问题。

因此,CIRS计算代码复杂度从结构和逻辑两个方面衡量。

  • 结构上:用一种叫做“抽象语法树”(AST)的技术来编码代码的结构信息。

  • 逻辑上:通过计算代码中操作数和运算符的数量来衡量代码逻辑的复杂度。

最后,CIRS指标就是结构复杂度和逻辑复杂度的乘积。CIRS给了我们一个全面但直观的量化方式,来观察代码复杂度对LLM推理能力的影响。

📈代码数据的影响评估

研究进行了以下实验:

  • 首先进行数据合成,并用CIRS计算代码数据的复杂度,根据计算结果,将数据分成三个不同的子集;

  • 基于LLAMA1.0版本训练了三个不同参数大小的模型,从每个子集中随机选择1,700个实例来构建训练和验证数据集,验证不同复杂度的代码数据对模型性能的影响;

  • 最后利用自动合成和分层算法,并以最有效的复杂度评估其在过滤数据上的性能,从源数据集过滤掉更多数据来训练增强的推理模型。

8eafe3e1bd8dfc034c621367fd2922c1.png

实验结果有几个关键发现:

1️⃣ 适度复杂度最佳:如果代码数据过于简单或复杂,LLM的推理能力反而会受到限制。

2️⃣ 参数越多越好:大型LLM(比如有750亿参数)在推理任务上表现得更出色。

3️⃣ 局限:当代码过于复杂,即使是大型LLM也难以理解和推理。

🚀 总结

尽管PoT在一些数据集上取得了比CoT更好的结果,但我们依然不清楚这种方法是如何促进推理的。这一研究是一个初步的尝试,不仅探索了代码数据对LLM推理能力的影响,还为如何设计更有效的推理模型提供了新的思路。


进NLP群—>加入NLP交流群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/966524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ae 效果:CC Light Rays

生成/CC Light Rays Generate/CC Light Rays CC Light Rays(CC 光线)可以创建从光源发出并能穿过图层内容的光线效果。常用于制作光线透过门窗或云层的场景,或者用于创建神奇或梦幻的氛围感。 本效果会被限制在源图层的大小范围之内。 ◆ ◆…

采用ROUANT 方法对 nex-gddp-cmip6 数据进行精度校正

专题一 CMIP6中的模式比较计划 1.1 GCM介绍全球气候模型(Global Climate Model, GCM),也被称为全球环流模型或全球大气模型,是一种用于模拟地球的气候系统的数值模型。这种模型使用一系列的数学公式来描述气候系统的主要组成部分…

maven搭建spring项目

前提 安装jdk 安装maven 安装eclipse 创建maven项目 搭建spring项目 pom.xml <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.4.RELEASE</version> </dependency&…

RobotFramework中的常用变量

文章目录 前言 一 标量&#xff0c;列表和字典1. Scalar 变量1.1 在变量文件&#xff08;Variables&#xff09;中使用1.2 在测试用例&#xff08;TestCases&#xff09;中使用1.3 Scalar 变量的相关操作 2. List 变量2.1 在变量文件&#xff08;Variables&#xff09;中使用2.…

详解 SpringMVC 的 @RequestMapping 注解

文章目录 1、RequestMapping注解的功能2、RequestMapping注解的位置3、RequestMapping注解的value属性4、RequestMapping注解的method属性5、RequestMapping注解的params属性&#xff08;了解&#xff09;6、RequestMapping注解的headers属性&#xff08;了解&#xff09;7、Sp…

c语言开篇---跟着视频学C语言

标识符 标识符必须声明定义&#xff0c;可以是变量、函数或其他实体。 Int是标识符吗&#xff1f; 不是&#xff0c;int是c语言关键词&#xff0c;不是随意命名的 C语言关键词如下&#xff1a; 常量 不需要被声明&#xff0c;不能赋值更改。 printf函数 printf是由print打印…

基于UWB的非暴露空间位置服务探究

技术背景 城市轨道交通对空间位置服务有特定的痛点和需求&#xff0c;尤其是针对地下封闭非暴露空间开展的位置服务&#xff0c;如风险防控、应急指挥、维护维修、运行组织等&#xff1b;同时&#xff0c;空间位置服务是实现智慧城轨的关键技术之一&#xff0c;在智慧城轨交通…

成为前端开发负责人之前,你需要具备这10个能力

开篇 作为一名开发者&#xff0c;成为团队领导可能是一个令人兴奋但也令人畏惧的转变。有许多新的责任和挑战需要应对&#xff0c;很难确切知道会发生什么。你很可能习惯了将90-95%的时间花在成为一名专家开发者上。而成为团队领导意味着你的责任超越了在开发方面的专业知识。 …

“新KG”视点 | 陈华钧——大模型时代的知识处理:新机遇与新挑战

OpenKG 大模型专辑 导读 知识图谱和大型语言模型都是用来表示和处理知识的手段。大模型补足了理解语言的能力&#xff0c;知识图谱则丰富了表示知识的方式&#xff0c;两者的深度结合必将为人工智能提供更为全面、可靠、可控的知识处理方法。在这一背景下&#xff0c;OpenKG组织…

数据进制的转换

其他进制转换为十进制 通过按权展开法转换 十进制转换为其他进制 通过短除法转换&#xff08;注意计算结果是倒着的&#xff09; 例如将十进制的94转换为二进制 二进制转八进制和十六进制 3位二进制数表示1位八进制数&#xff0c;4位二进制数表示1位十六进制数 同理八进制数…

基础算法-递推算法-学习

现象&#xff1a; 基础算法-递推算法-学习 方法&#xff1a; 这就是一种递推的算法思想。递推思想的核心就是从已知条件出发&#xff0c;逐步推算出问题的解 最常见案例&#xff1a; 一&#xff1a;正向递推案例&#xff1a; 弹力球回弹问题&#xff1a; * 弹力球从100米高…

VB.NET 如何将某个Excel的工作表中复制到另一个的Excel中的工作表中https://bbs.csdn.net/topics/392861034

参考http://share.freesion.com/306372/可以实现直接拷贝指定表 Private Sub Excel复制工作簿()Dim myExcelApp As New Microsoft.Office.Interop.Excel.ApplicationmyExcelApp.Workbooks.Open(System.Environment.CurrentDirectory "\\测试用例.xlsx", Type.Missin…

Python教程(12)——Python数据结构集合set介绍

集合 创建集合访问集合删除集合修改集合元素添加集合元素删除集合元素 集合运算&#xff1a;并集&#xff08;Union&#xff09;交集&#xff08;Intersection&#xff09;差集&#xff08;Difference&#xff09;对称差集&#xff08;Symmetric Difference&#xff09; 集合的…

数学建模:Logistic回归预测

&#x1f506; 文章首发于我的个人博客&#xff1a;欢迎大佬们来逛逛 数学建模&#xff1a;Logistic回归预测 Logistic回归预测 logistic方程的定义&#xff1a; x t 1 c a e b t x_{t}\frac{1}{cae^{bt}}\quad xt​caebt1​ d x d t − a b e b t ( c a e b t ) 2 >…

slog正式版来了:Go日志记录新选择!

在大约一年前&#xff0c;我就写下了《slog&#xff1a;Go官方版结构化日志包[1]》一文&#xff0c;文中介绍了Go团队正在设计并计划在下一个Go版本中落地的Go官方结构化日志包&#xff1a;slog[2]。但slog并未如预期在Go 1.20版本[3]中落地&#xff0c;而是在golang.org/x/exp…

深入浅出理解Allan方差分析方法

一、参考资料 深入浅出理解卡尔曼滤波 二、Allan方差分析方法 1. 引言 传统的误差指标往往是采用均值误差&#xff08;反映整个误差序列有无宏观偏置&#xff09;、标准差&#xff08;反映整个误差序列的波动情况&#xff09;&#xff0c;以及均方根&#xff08;RMS&#x…

基于科大讯飞AIGC创作平台,构建数字人虚拟主播

笔者为体验目前数字人虚拟主播创作视频的质量&#xff0c;特意制作了一段测试视频。 基于讯飞智作创建 总体感受&#xff0c;数字人虚拟主播具有成本低、可定制性强等优点&#xff0c;但是也存在缺乏人情味、技术限制和法律问题等缺点。因此&#xff0c;在使用数字人虚拟主播时…

安装Ubuntu系统,将U盘当作启动盘后写保护怎么回复?

下载ChipGenius 插入写保护的U盘&#xff0c;打开ChipGenius.exe后可以扫描到U盘&#xff0c;如下图中的E:盘就是我插入的U盘&#xff08;我的PC上只有C、D两个分区&#xff09;&#xff1b; ChipGenius的作用 下载ChipGenius是为了获取U盘的设备信息&#xff1a;重点是主控…

思维的深度,决定职场的高度

经常有读者问我&#xff0c;自己做事很努力&#xff0c;可是结果却总是不尽如人意&#xff0c;问题究竟出在哪里&#xff1f; 虽然成事的关键因素有很多&#xff0c;但是归根结底其实只有两点&#xff0c;就是做局和破局。也就是&#xff0c;如何识破别人给你做的局&#xff1f…

与AI一起学习Anything:30%的人用ChatGPT编程

学习和工作在LLM时代&#xff0c;就是同一件事&#xff0c;在编程这个场景&#xff0c;我们看到了学习和工作高度重叠的可能。 近期&#xff0c;随着ChatGPT热度下降&#xff0c;一些比较稳定的使用场景开始浮出水面&#xff0c;例如编程&#xff0c;据调查数据显示&#xff0c…