尽管在数学、编码和其他知识密集型任务方面超越了人类的表现,大语言模型 (LLM) 仍然在因果推理方面遇到困难。一个核心障碍是目标数据本身:因果系统很复杂,并且通常以不可执行的形式表达,而因果查询的真实答案本质上是稀缺的。我们引入了 CauSim,这是一个将因果推理从稀缺标签问题转变为可扩展的监督问题的框架。 CauSim 构建了日益复杂的因果模拟器:由LLM逐步构建的可执行结构因果模型 (SCM),可扩展到全局复杂系统,同时保持对因果查询的可验证答案。 CauSim 通过将不可执行的因果知识形式化为代码,实现数据增强,并将可执行的 SCM 转换为自然语言,从而实现对以前难以监督的表示形式的监督,从而跨表示进行操作。我们将研究分为两部分:(1) 如何构建日益复杂的因果模拟器,(2) 对 CauSim 功能进行系统研究,展示跨表示的泛化、课程规模和数据量的一致收益、通过自我生成模拟器实现LLM自我改进,以及通过现有领域知识的形式化来增强数据。
图 1: \mathbin{\hbox to19.57pt{\vbox to11pt{\pgfpicture\makeatletter\hbox{\hskip 10.48297pt\lower-3.33301pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} 概述\lxSVG@begingroup@{笔划=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{笔画宽度=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} { {{}}\lx@inpgf@ignorespaces\hbox{\hbox{{\lxSVG@begingroup@{_scopebegin=1} {{}{}{{ {}{}}}{ {}{}} {{}{{\lx@inpgf@ignorespaces}}}{{}{\lx@inpgf@ignorespaces}}{}{{}{\lx@inpgf@ignorespaces}} {\lx@inpgf@ignorespaces }{{{{\lx@inpgf@ignorespaces}}\lxSVG@begingroup@{_scopebegin=1} \lxSVG@transformcm{1.0}{0.0}{0.0}{1.0}{-5.74997pt}{0.0pt}\lxSVG@begingroup@{transform=matrix(1.0 0.0 0.0 1.0 -7.96 0)} \pgfsys@hbox{61}\lxSVG@closescope }}} \lxSVG@closescope }}} \par{{}}{}{\lx@inpgf@ignorespaces}{}{{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {\lx@inpgf@ignorespaces}\lxSVG@begingroup@{_scopebegin=1} \lxSVG@roundjoin\lxSVG@begingroup@{描边线连接=圆形} \lx@inpgf@ignorespaces\lxSVG@roundcap\lxSVG@begingroup@{描边线帽=圆形} \lx@inpgf@ignorespaces\lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{描边宽度=0.4pt} \lx@inpgf@ignorespaces{}\lxSVG@中风\lxSVG@drawpath@unclipped{M -12.84 0.65 L -12.84 3.41 L -10.08 3.41 L -10.08 6.18 L -7.31 6.18 L -7.31 8.95 L -4.54 8.95 L -4.54 0.65 Z}{fill:none} \lx@inpgf@ignorespaces \lxSVG@closescope \par{{}}{}{\lx@inpgf@ignorespaces}{}{{}}{} {{\lx@inpgf@ignorespaces}{}}{}\lxSVG@begingroup@{_scopebegin=1} \lxSVG@roundjoin\lxSVG@begingroup@{描边线连接=圆形} \lx@inpgf@ignorespaces\lxSVG@roundcap\lxSVG@begingroup@{描边线帽=圆形} \lx@inpgf@ignorespaces\lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{描边宽度=0.4pt} \lx@inpgf@ignorespaces{}{}{}{}{{}}\lxSVG@行程\lxSVG@drawpath@unclipped{M -14.23 4.8 L -9.14 9.88}{填充:无} {{}{{}}{}{}{{}}{{{\lx@inpgf@ignorespaces}}{{{\lx@inpgf@ignorespaces}}{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@transformcm{0.7071}{0.7071}{-0.7071}{0.7071}{-6.60822pt}{7.14177pt}\lxSVG@begingroup@{transform=矩阵(0.7071 0.7071 -0.7071 0.7071 -9.14 9.88)} \lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{描边宽度=0.32pt} \lxSVG@begingroup@{描边-dasharray=none,描边-dashoffset=0.0pt} \lxSVG@begingroup@{描边-linecap=round} \lxSVG@begingroup@{描边-linejoin=round} \lxSVG@drawpath@unclipped{M -1.66 2.21 C -1.52 1.38 0 0.14 0.42 0 C 0 -0.14 -1.52 -1.38 -1.66 -2.21}{填充:无} \lxSVG@closescope \lxSVG@closescope }}{{\lx@inpgf@ignorespaces}}}}\lx@inpgf@ignorespaces \lxSVG@closescope } \lxSVG@closescope {{ {}{}{}}}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}}CauSim。 (左)因果推理面临三个挑战:[C1]规模、[C2]不可执行的表示和[C3]缺乏真实监督。 (右) \mathbin{\hbox to19.57pt{\vbox to11pt{\pgfpicture\makeatletter\hbox{\hskip 10.48297pt\lower-3.33301pt\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{行程=#000000} \lxSVG@begingroup@{fill=#000000} \lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{行程宽度=0.4pt} \lx@inpgf@ignorespaces\nullfont\hbox to0.0pt{\lxSVG@begingroup@{_scopebegin=1} { {{}}\lx@inpgf@ignorespaces\hbox{\hbox{{\lxSVG@begingroup@{_scopebegin=1} {{}{}{{ {}{}}}{ {}{}} {{}{{\lx@inpgf@ignorespaces}}}{{}{\lx@inpgf@ignorespaces}}{}{{}{\lx@inpgf@ignorespaces}} {\lx@inpgf@ignorespaces }{{{{\lx@inpgf@ignorespaces}}\lxSVG@begingroup@{_scopebegin=1} \lxSVG@transformcm{1.0}{0.0}{0.0}{1.0}{-5.74997pt}{0.0pt}\lxSVG@begingroup@{transform=matrix(1.0 0.0 0.0 1.0 -7.96 0)} \pgfsys@hbox{61}\lxSVG@closescope }}} \lxSVG@closescope }}} \par{{}}{}{\lx@inpgf@ignorespaces}{}{{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {{{\lx@inpgf@ignorespaces}{}}{}}{} {\lx@inpgf@ignorespaces}\lxSVG@begingroup@{_scopebegin=1} \lxSVG@roundjoin\lxSVG@begingroup@{行程线连接=圆形} \lx@inpgf@ignorespaces\lxSVG@roundcap\lxSVG@begingroup@{行程线帽=圆形} \lx@inpgf@ignorespaces\lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{行程宽度=0.4pt} \lx@inpgf@ignorespaces{}\lxSVG@行程\lxSVG@drawpath@unclipped{M -12.84 0.65 L -12.84 3.41 L -10.08 3.41 L -10.08 6.18 L -7.31 6.18 L -7.31 8.95 L -4.54 8.95 L -4.54 0.65 Z}{fill:none} \lx@inpgf@ignorespaces \lxSVG@closescope \par{{}}{}{\lx@inpgf@ignorespaces}{}{{}}{} {{\lx@inpgf@ignorespaces}{}}{}\lxSVG@begingroup@{_scopebegin=1} \lxSVG@roundjoin\lxSVG@begingroup@{行程线连接=圆形} \lx@inpgf@ignorespaces\lxSVG@roundcap\lxSVG@begingroup@{行程线帽=圆形} \lx@inpgf@ignorespaces\lxSVG@setlinewidth{\the\pgflinewidth}\lxSVG@begingroup@{行程宽度=0.4pt} \lx@inpgf@ignorespaces{}{}{}{}{{}}\lxSVG@行程\lxSVG@drawpath@unclipped{M -14.23 4.8 L -9.14 9.88}{fill:none} {{}{{}}{}{}{{}}{{{\lx@inpgf@ignorespaces}}{{{\lx@inpgf@ignorespaces}}{\lxSVG@begingroup@{_scopebegin=1} \lxSVG@transformcm{0.7071}{0.7071}{-0.7071}{0.7071}{-6.60822pt}{7.14177pt}\lxSVG@begingroup@{transform=矩阵(0.7071 0.7071 -0.7071 0.7071 -9.14 9.88)} \lxSVG@begingroup@{_scopebegin=1} \lxSVG@begingroup@{描边宽度=0.32pt} \lxSVG@begingroup@{描边-dasharray=none,描边-dashoffset=0.0pt} \lxSVG@begingroup@{描边-linecap=round} \lxSVG@begingroup@{描边-linejoin=round} \lxSVG@drawpath@unclipped{M -1.66 2.21 C -1.52 1.38 0 0.14 0.42 0 C 0 -0.14 -1.52 -1.38 -1.66 -2.21}{填充:无} \lxSVG@closescope \lxSVG@closescope }}{{\lx@inpgf@ignorespaces}}}}\lx@inpgf@ignorespaces \lxSVG@closescope } \lxSVG@closescope {{ {}{}{}}}{\lx@inpgf@ignorespaces}{\lx@inpgf@ignorespaces}\hss}\lxSVG@discardpath\lxSVG@closescope \hss}}\lxSVG@closescope\endpgfpicture}}}CauSim 通过日益复杂的因果模拟器解决这些问题:SCM 是逐步构建的,以扩展复杂性 [C1];不可执行的因果知识被形式化为可执行代码,可执行的SCM被形式化为自然语言[C2];实现因果监督[C3]