跟着蚂蚁走,它们知道路:用 ACO-ToT 增强 LLM 推理能力

利用群体智能和思维树优化解锁高级 AI 推理能力

Salvatore Raieli

                                                                作者使用 AI 生成的图片

“我发现,如果你仔细观察这个美丽的世界,总能在下面找到红蚂蚁。”——大卫·林奇

大语言模型(LLMs)展现出了极大的能力,模仿了一些通常与人类相关的技能,比如解决数学问题或写出看似富有创意的文本。这一点在多个基准测试的持续进展中得到了证明。然而,这并不意味着它们不会产生错误或计算效率低下。特别是在需要战略规划、探索或计算的应用中,这些限制尤为明显。

为了尝试解决这些模型的局限性,人们提出了一些基于认知科学原理的技术。例如,思维链(Chain-of-Thought, CoT)试图让模型推理出中间步骤,而不是直接给出答案。这种方法也成为了最近深度推理模型的基础。然而,普通的 CoT 只评估解决问题的一种方法,而人类会探索多种潜在的解决方案。因此,思维树(Tree-of-Thought, ToT)或思维图(Graph-of-Thought, GoT)等技术超越了 CoT 的线性进程,探索不同的想法。但这些方法的缺点是,它们的计算成本会随着中间步骤的增加而增长。

如何在优化过程的同时探索不同的解决路径?我们能否在不牺牲性能的情况下高效地探索不同的推理路径?

在本文中,我们探讨了这个问题,以及一些研究人员如何从蚂蚁的运动中找到解决方案。

人工智能正在改变我们的世界,塑造我们的生活和工作方式。理解它的运作方式及其影响从未如此重要。如果你想要简单、清晰地理解复杂的 AI 话题,你来对地方了。点击关注或免费订阅,以获取我最新的故事和见解。

在这篇新发表的论文中,研究者提出将蚁群优化(Ant Colony Optimization, ACO)应用到 LLMs 中,以优化推理空间。ACO 是一种受自然启发的元启发式算法,常用于解决优化问题,特别是像旅行商问题(TSP)这样的组合优化问题。它模仿了真实蚂蚁的觅食行为,蚂蚁利用信息素找到从巢穴到食物源的最短路径。

该过程可以总结为四个步骤:

  1. 蚂蚁最初随机移动,在探索环境的同时留下信息素路径。

  2. 当蚂蚁找到食物后,它会返回巢穴,同时在路径上加强信息素,使其他蚂蚁更倾向于选择信息素浓度较高的路径。

  3. 但信息素会随时间蒸发,防止系统收敛到次优解,并促使蚂蚁继续探索。

  4. 蚂蚁基于概率选择路径,概率由信息素的强度决定。信息素越强,蚂蚁选择该路径的可能性就越大。

从数学上讲,这可以表示为一个图,其中蚂蚁从节点 i 选择路径 j 的概率如下:

其中 Pij 是从 i 到 j 的路径选择概率,τij 是边 (i, j) 上信息素的强度,η 是距离的缩放系数(1/距离),N 是节点数。我们可以通过 α 来定义信息素的影响,通过 β 来控制距离的影响。

在每次迭代后,信息素水平根据以下公式更新:

其中 ρ 是蒸发率,m 是蚂蚁的数量,Δτijk 是蚂蚁 k 添加的信息素数量。

该算法鲁棒、灵活,并符合人脑的某些原理,比如赫布学习(Hebbian learning)。赫布学习是一种神经科学原理,指的是当神经元反复被激活时,它们之间的突触连接会变得更强(通常用一句话概括:“一起触发的神经元,会连接在一起”)。文章作者认为,这种原理可以与思维树(ToT)等方法结合。

“我们提出 ACO 引导的思维树(ACO-ToT),这是一种新算法,它结合了 ToT 的探索能力和 ACO 的集体智能,以发现最优的推理路径。”——来源

在这里,我们可以想象“蚂蚁”就是我们的 LLMs,它们在搜索高质量的思维(食物)。图从问题 x 开始,生成思维树 T(每个节点代表一个推理状态,每条边代表从一个思维到另一个思维的过渡)。

有多个 LLMs(类似于 ACO 中的多个蚂蚁)在我们的图中穿梭。这里,这些 LLMs 是经过不同推理能力微调的模型,提供不同的专业知识。在每个时间步 t,我们的蚂蚁(LLM)从一个思维跳到另一个思维,并释放信息素:

如何评估是否找到了食物?

每条路径 P 是一系列思维(思维链),我们评估其质量 Q(P):

其中 C(P) 是语义一致性(通过嵌入计算两个思维的余弦相似度),L(P) 用于惩罚过长的路径(基于路径长度的负对数),M(P) 是专家模型评分(多个 LLM 的评分),w1, w2, w3 是平衡这些项的权重。

在这个阶段,∆τ k ij = Q(Pk),信息素水平根据以下公式更新:

算法会持续迭代,直到达到最大迭代次数(T)或找到足够多的不同路径。此时,我们根据图中信息素最高的路径选出最佳路径。这个路径可以由中央 LLM πc 用于生成最终答案。显然,最好让中央 LLM 规模更大,而小型 LLMs 作为蚂蚁。



对于作者在理论层面的结论:

• ACO 只要选择合适的信息素更新规则和蒸发率,就可以收敛到最优解。若成功,模型会达到全局最优,同时避免局部最优。

• ACO 的探索与利用平衡由信息素动态决定。可以通过 α(信息素权重,影响利用)和 β(探索权重)控制。此外,蒸发率也影响平衡,高蒸发率促进探索,低蒸发率促进利用。

• ACO 的计算复杂度是多项式级别,随蚂蚁数量和问题规模增长。在 ACO-ToT 中,每只蚂蚁在 t 次迭代中探索 N 个思维,中间调用 LLM 总次数为 ANt。每只蚂蚁都是一个独立的 LLM,因此需要专门的计算资源(即便是 6 个也能并行处理)。

在实验中,作者使用 Llama-70B 训练了 5 个不同领域的专家模型作为蚂蚁,并在 GSM8K、ARC-Challenge 和 MATH 数据集上进行测试。ACO-ToT 在所有基准测试中表现优越,通常在 6-8 轮迭代内收敛(复杂问题 10-12 轮)。

ACO-ToT 是一种新颖的算法,它通过结合蚁群优化(ACO)与思维树(ToT)框架来增强 LLM 的推理能力。受赫布学习(Hebbian Learning)启发,该方法利用经过微调的 LLM “蚂蚁” 来探索推理路径,并通过信息素强化有效的路径。一个混合专家(Mixture-of-Experts)评分函数用于评估解决方案,从而优化复杂问题的求解。实验表明,ACO-ToT 优于现有方法,突出了生物启发搜索在 LLM 推理中的潜力。

这种快速收敛在特征性的性能曲线上表现出来:在前 3–4 次迭代中性能迅速提高,随后进入渐近稳定状态,这表明该方法能够高效地探索推理空间。——来源

该系统之所以高效,是因为它在第一轮迭代中就已经趋近收敛。路径长度不会过长,平均为 4 步,对于最困难的 MATH 问题,平均为 6 步。

消融实验中的其他发现:

• 性能在 5 个专家时趋于饱和,表明不需要更多的专家。

• 在所有三个任务中,最优的探索与利用平衡参数分别为 α = 1.0 和 β = 2.0。

• 这种平衡导致较大的树结构,从而提供更多的推理路径。

• 具有更多样化的专家比同质专家能得到更好的结果。

ACO-ToT 是一种新颖的算法,它通过结合蚁群优化(ACO)与思维树(ToT)框架来增强 LLM 的推理能力。受赫布学习(Hebbian Learning)启发,该方法利用经过微调的 LLM “蚂蚁” 来探索推理路径,并通过信息素强化有效的路径。一个混合专家(Mixture-of-Experts)评分函数用于评估解决方案,从而优化复杂问题的求解。实验表明,ACO-ToT 优于现有方法,突出了生物启发搜索在 LLM 推理中的潜力。

这项研究有趣之处在于,它结合了搜索算法和提示技术(ToT),并以受神经科学启发的方式完成。尽管该方法计算昂贵,但它展示了一种无需强化学习即可平衡探索与利用的方式,并表明异质专家组合优于同质专家。未来可能需要自动调整参数或测试不同搜索算法。

然而,该方法仍然成本高昂,因为需要运行多个 LLM 专家,对于某些应用而言,这可能是不可行的。此外,参数是手动选择的,未来可以实现自动化。不同的搜索算法也可以在未来进行测试,或者可以使用不同的模型作为专家。

跟着蚂蚁走,它们知道路:用 ACO-ToT 增强 LLM 推理能力的更多相关文章

  1. Follow your hear(跟着心走)

    端午三天的哈尔滨之旅已经over,非常开心真的非常开心.听了刘四风老师的"为爱开讲.我爱这世界"的论坛,尽管.这三天老师讲的不多.可是句句是精华.Follow your heart ...

  2. python 之走坑的道路

    ### python之 继续走函数的坑 上篇文章简单介绍了函数的一些简单的使用,这次继续踩函数的坑1.函数对象 函数其实也可以当做一个参数传给另一个函数,也可以使用赋值的方式来给另一个,而且这两个的内 ...

  3. JQ图片跟着鼠标走

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 走上模拟道路 HDU4891

    http://vjudge.net/contest/view.action?cid=51327#problem/D Description Yoda: May the Force be with yo ...

  5. Altium Designer线如何跟着原件走

  6. 蚂蚁【A001】

    [1005]出自附中练习场,其他编号(1005)[难度A]——————————————————————————————————————————————————————————————————————— ...

  7. 3111: [Zjoi2013]蚂蚁寻路 - BZOJ

    题目描述 Description在一个 n*m 的棋盘上,每个格子有一个权值,初始时,在某个格子的顶点处一只面朝北的蚂蚁,我们只知道它的行走路线是如何转弯,却不知道每次转弯前走了多长.蚂蚁转弯是有一定 ...

  8. bzoj 3111 蚂蚁 动态规划

    题目描述 在一个 n*m 的棋盘上,每个格子有一个权值,初始时,在某个格子的顶点处一只面朝北的蚂蚁,我们只知道它的行走路线是如何转弯,却不知道每次转弯前走了多长. 蚂蚁转弯是有一定特点的,即它的转弯序 ...

  9. 洛谷P3335 [ZJOI2013]蚂蚁寻路

    题目描述 在一个 n*m 的棋盘上,每个格子有一个权值,初始时,在某个格子的顶点处一只面朝北的蚂蚁,我们只知道它的行走路线是如何转弯,却不知道每次转弯前走了多长. 蚂蚁转弯是有一定特点的,即它的转弯序 ...

  10. 蚂蚁运输(ant)

    蚂蚁运输(ant)Time Limit:5000ms Memory Limit:64MB[题目描述] LYK 在观察一些蚂蚁.蚂蚁想要积攒一些货物来过冬.积攒货物的方法是这样的.对于第i只蚂蚁, 它要 ...

随机推荐

  1. Linux之密码生成工具pwgen

    linux中生成随机字符串,可以使用pwgen 安装) ubuntu: apt-get install pwgen Centos: yum install pwgen 语法及参数) pwgen [ O ...

  2. vagrant搭建开发环境

    一:我们为什么需要用这玩意 我们在开发中经常会面临的问题:环境不一致,有人用Mac有人用Windos还有几个用linux的,而我们的服务器都是linux. 在我本地是可以的啊,我测了都,没有问题啊,然 ...

  3. Spring Boot 使用 slf4j 进行日志记录

    SLF4J,即简单日志门面(Simple Logging Facade forJava),不是具体的日志解决方案,它只服务于各种各样的日志系统.按照官方的说法,SLF4J 是一个用于日志系统的简单Fa ...

  4. 在window 使用 docker 安装redis 踩坑记

    1. 安装REDIS 在安装的时候,使用 docker pull redis 就可以了. 但是 实际上 发现镜像居然拉不下来. 修改了一下 docker 镜像. 配置如下: "registr ...

  5. NET任务调度框架Hangfire使用指南

    Hangfire 是一个开源的 .NET 任务调度框架,它允许开发人员轻松地将长时间运行的任务.定时任务和其他后台处理从主线程中分离出来,以提高应用程序的响应速度和性能 1. 安装 Hangfire ...

  6. SaaS架构中多租户的概念

    SaaS架构中多租户的概念 租户可以理解为部署在云端的客户,通常出现在2B的企业中,比如现在学校的一卡通管理,通常是一个公司来做的,学校本地不需要做任何部署,而这个公司又是服务了很多个学校,那么学校对 ...

  7. CI/CD集成规范

    集成方式说明 a.用户向Gitlab提交代码,代码中包含 Dockerfile, JenkinsFile文件. b.Jenkins监听Gitlab代码库的推送和变更事件 c.Jenkins调用mave ...

  8. 【微软】微软程序注册(zfile自建API)

    Zfile支持设置自己的回调地址,怎么设置呢? 参考:https://docs.zfile.vip/advanced/onedrive-api/ 上面文档写的很清楚了,我提醒两点 1.进入 https ...

  9. 使用docker-compose快速部署Prometheus+grafana环境

    由于最近公司服务频繁出问题,老板很生气,下面的人都很不好过,于是老大让加一下业务监控,来观察线上数据状态.但是由于qa环境数据量太少,所以自己搭建了一套环境做相关监控,并且写了个脚本模仿生产上的数据, ...

  10. Consul health check pass by Spring security filter

    https://stackoverflow.com/questions/35079930/consul-health-check-pass-by-spring-security-filter By d ...