NeurIPS 2024 | 让大语言模型使用代码解决图分析推理任务

创业   2024-11-13 08:22   北京  

在本文中,研究团队首次提出了通过编程手段提升大型模型在图分析推理任务中的能力。研究过程中,他们使用了主流的开源和闭源模型,并提供了新的基准数据集ProGraph,用于评估模型在复杂图分析推理任务中的表现。此外,他们构建了LLM4Graph数据集,用于开源模型的指令微调。实验结果表明,检索增强生成(RAG)和指令微调等方法能够有效利用工作者构建的数据集,从而提升现有大型模型的性能。

论文标题:

Can Large Language Models Analyze Graphs like Professionals? A Benchmark, Datasets and Models 

论文链接:

https://arxiv.org/abs/2409.19667

代码链接:

https://github.com/BUPT-GAMMA/ProGraph

一、背景

与动机图是现实世界中十分常用的数据结构(例如社交网络和推荐系统等),让大语言模型(后文简称大模型)学会处理图的能力,是迈向更高级通用智能的关键一步。近期,许多研究者提出将大模型扩展到需要图理解和分析的场景,然而我们认为现有研究存在以下主要缺点:

  • 现有工作解决问题的过程完全基于大模型的逐步推理。但即使在思维链(CoT)的帮助下,当前大模型的推理深度仍然很浅。这意味着当图分析任务难度较大时,很容易出现幻觉或推理错误,导致任务失败。

  • 现有工作需要在提示(prompt)中对图结构进行描述,受限于上下文长度限制,无法适用于大规模图数据的处理。

  • 对于Llama等开源模型,仍然缺乏面向图分析推理场景的指令微调数据集,导致结果并不理想。

  • 对于ChatGPT等闭源模型,也需要构建面向图分析推理场景的外部知识库而不是仅通过提示工程来提高模型的表现。

核心思路:为解决上述不足,我们模仿人类专家解决问题的思路,首次提出让大语言模型通过编写代码来解决图分析推理问题的方法:例如在百万级节点的图中计算最短路时,人类专家不会把整个图装进大脑做逐步推理,而是会调用NetworkX等Python库使用几行代码快速准确地解决问题。具体而言,在模型进行图分析任务时,我们引导模型编写代码并调用相关Python库,之后我们提取并执行模型回答中的相关代码来获得答案。这种基于编程的解决方式可以从文件中读取图数据,从而避开大模型上下文长度的限制,应用于任意规模的图数据分析。

为了更好地提高大模型编写代码解决图分析问题的表现,我们探索了如下方法对模型进行能力提升。

  • 对于开源模型,我们构造了包含两步思维链推理(先推理应该使用的API,再编写代码)的问答数据集,使用指令微调的方式让模型学会编写代码解决问题。

  • 对于闭源模型,我们收集了包括NetworkX在内6个Python库的API文档,然后使用检索增强生成(RAG)技术,让模型在回答问题前先熟悉文档信息,然后再基于文档编写代码,从而提高模型的表现。

  • 我们分析了不同模型在编写代码方面的错误原因,未来可以基于这些分析,进一步提高开源模型和闭源模型编写代码解决图分析问题的能力。

二、模型框架

2.1 问题处理流程

图1 开源(左)和闭源(右)大模型图分析能力增强流程

对于闭源模型,我们从网络上获取了常用图分析任务Python库的文档,并对其进行加工处理后,使用检索增强生成(RAG)提高闭源模型的表现。

对于开源模型,我们首先基于API文档,使用反向指令(back-instruction)构造问答数据集对模型进行微调:在回答中我们使用两步推理的方式,让模型在回答问题前思考相关的API信息,之后再编写代码解决问题。

图2 两步推理思考过程示例

2.2 基准构造

图3 基准评测集构建流程
为了评估不同方法的有效性,我们构造了基准评测集ProGraph。首先,我们选取了6个主流的Python库,挑选一些主流的API,并收集其各种信息,包括示例代码等。之后,我们邀请专业的人类标注人员,使用一些随机图生成模型生成图数据,并根据API文档信息,构造适用于API的问题,并手工编写答案和对应的解决问题的示例代码。最后,我们使用大模型将问题描述融入到真实场景中。

三、实验设置

  • 数据集:ProGraph
  • 模型:Llama-3-8B-Instruct, Deepseek-Coder-7b-Instruct-v1.5, GPT-4o, GPT-4-turbo, GPT-3.5, Gemini-Pro-1.5, Gemini-Pro-1.0, Claude-3-Haiku, Claude-3-Sonnet, Claude-3-Opus
  • 评测方法:用代码执行通过率(pass rate)衡量模型编写代码的基本能力,用正确率(accuracy)衡量模型解决问题的能力。
  • 微调模型框架:alignment-handbook
  • 微调模型数据集:LLM4Graph

四、实验结果

4.1 基准实验

从表格中可以看出,如果不加任何方法,直接让模型通过编写代码解决ProGraph的问题,所有模型在ProGraph上表现都很差。即使GPT-4o,也只能达到60.2%的代码编译通过率和36.3%的问题正确率。

4.2 开源模型和闭源模型的性能提升

图4 使用本文构建的数据集对开闭源大模型的性能提升
通过我们提出的数据集和方法对大模型进行增强后,我们可以看到闭源模型的性能获得了一定提升,开源模型的性能有了非常显著的提高,验证了本工作的有效性。

4.2.1 闭源模型RAG分析

图5 RAG检索文档数对闭源模型效果的影响
我们进行了消融实验,随着RAG使用文档信息数量的增多,模型的代码编译执行通过率和回答问题正确率都有明显上升,表明增加文档信息对模型使用Python代码解决问题具有重要意义。

4.2.2 Python代码错误类型分析

图6 不同模型代码错误类型统计
同时,我们分析了开源模型和闭源模型编写代码的出错类型,使用RAG的闭源模型的错误类型和数量各不相同,但微调后的开源模型其错误分布非常相似,为后续继续增强模型的性能给出了一定的优化思路。

五、总结

在本文中,我们首次提出通过编程来提升大模型解决图分析推理任务的能力,并使用主流的开源模型和闭源模型进行研究。我们提供了新的基准数据集ProGraph,用来衡量模型解决复杂图分析推理任务的能力,也构建了用于对开源模型进行指令微调的LLM4Graph数据集。实验表明检索增强生成(RAG)和指令微调等方式可以有效利用我们构造的数据集,提升现有大模型的性能。
作者李鑫
来源:公众号【北邮 GAMMA Lab】
llustration From IconScout By IconScout Store

-The End-

扫码观看

本周上新!


“AI技术流”原创投稿计划


TechBeat是由将门创投建立的AI学习社区(www.techbeat.net社区上线500+期talk视频,3000+篇技术干货文章,方向覆盖CV/NLP/ML/Robotis等;每月定期举办顶会及其他线上交流活动,不定期举办技术人线下聚会交流活动。我们正在努力成为AI人才喜爱的高质量、知识型交流平台,希望为AI人才打造更专业的服务和体验,加速并陪伴其成长。


投稿内容

// 最新技术解读/系统性知识分享 //

// 前沿资讯解说/心得经历讲述 //


投稿须知

稿件需要为原创文章,并标明作者信息。

我们会选择部分在深度技术解析及科研心得方向,对用户启发更大的文章,做原创性内容奖励


投稿方式

发送邮件到

melodybai@thejiangmen.com

或添加工作人员微信(yellowsubbj投稿,沟通投稿详情;还可以关注“将门创投”公众号,后台回复“投稿”二字,获得投稿说明。


关于我“

将门是一家以专注于数智核心科技领域新型创投机构,也是北京市标杆型孵化器公司致力于通过连接技术与商业,发掘和培育具有全球影响力的科技创新企业,推动企业创新发展与产业升级。

将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。

如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”: 
bp@thejiangmen.com

    


点击右上角,把文章分享到朋友圈
点击“阅读原文”按钮,查看社区原文

将门创投
将门是一家以专注于数智核心科技领域的新型创投机构,也是北京市标杆型孵化器,由前微软创投在中国的创始团队于2015年底创立。公司致力于通过连接技术与商业,发掘和培育具有全球影响力的科技创新企业,推动企业创新发展与产业升级。
 最新文章