在探索人工智能边界的过程中,任务规划,特别是在大规模和复杂环境下的规划,始终是一项充满挑战的任务。近期,新加坡国立大学的研究团队在这一领域取得了突破性进展,他们创新性地融合了大型语言模型(LLMs)与蒙特卡洛树搜索(MCTS)算法,为任务规划的效率与效果带来了显著提升。论文《Large Language Models as Commonsense Knowledge for Large-Scale Task Planning》深入剖析了如何利用LLMs的丰富常识来优化任务规划策略。
在此之前,[Saycan]作为一个先进的任务规划框架,已经展示了利用语言模型进行任务规划的潜力。然而,Saycan在处理大规模任务规划时,面临着效率和泛化能力的挑战。为了克服这些限制,新加坡国立大学的研究团队在Saycan的基础上,推出了LLM-MCTS算法,进一步提升了规划性能。
▲图1|SayCan将LLMs与现实世界联系起来
LLM-MCTS算法的核心创新点在于将大型语言模型(LLMs)的两个关键能力:
「丰富的常识知识库」和「启发式策略生成」与蒙特卡洛树搜索(MCTS)算法结合起来,以应对大规模任务规划的挑战。
相较Saycan的主要改进:
●更高效的搜索算法:LLM-MCTS算法采用MCTS算法,相比于Saycan系统,显著提高了搜索效率和决策质量。
●更好的泛化能力:通过使用LLMs作为常识世界模型,LLM-MCTS在处理复杂和新颖的任务时,展现出了更好的泛化能力。
●结合常识知识与启发式策略:LLM-MCTS不仅利用LLMs的常识知识来构建世界模型,还将其作为启发式策略来指导搜索过程,这在Saycan系统中并未充分利用。
LLM-MCTS算法的核心创新在于将LLMs的两个关键能力——丰富的常识知识库和启发式策略生成——与蒙特卡洛树搜索(MCTS)算法结合起来,以应对大规模任务规划的挑战。
■2.1 LLM作为常识世界模型(L-Model)
LLMs通过在互联网规模的数据上进行训练,积累了广泛的常识知识。在LLM-MCTS算法中,研究者们利用这一特点,将LLMs用作构建常识世界模型的工具。这个模型能够预测对象可能的位置,例如,知道苹果通常放在厨房柜台或冰箱里,而不是卧室的衣柜里。
●初始状态信念:LLMs帮助确定对象初始可能的位置,为MCTS提供一个起点。
●状态信念更新:随着机器人在环境中执行动作并获得新的观察,LLMs更新其对对象位置的信念。
■2.2 LLM作为启发式策略(L-Policy)
LLMs还被用作启发式策略,指导MCTS中的选择过程。在每一步,LLMs基于当前的任务历史和观察结果,提出一系列可能的动作。
●动作选择:LLMs生成的动作建议被用作MCTS中选择动作的启发式信息,从而减少搜索空间并提高搜索效率。
●策略概率分布:通过多次采样LLMs,研究者们能够近似出一个策略概率分布,用于指导MCTS的动作选择。
■2.3 结合L-Model和L-Policy
LLM-MCTS算法将L-Model和L-Policy结合起来,以实现更有效的任务规划。
●MCTS框架:在MCTS的框架内,算法首先从由LLMs生成的初始状态信念中采样一个状态。
●搜索过程:然后,算法使用LLMs作为启发式策略来指导树搜索过程中的动作选择。
●探索与利用:通过探索(搜索可能的状态空间)和利用(选择最有可能的行动路径)的平衡,LLM-MCTS找到一条从初始状态到目标状态的路径。
▲图2|LLM-MCTS算法框架
上图展示了LLM-MCTS算法的基本流程。首先,算法根据LLM生成的初始信念采样一个状态,然后在MCTS中模拟一系列动作,根据LLM提供的策略来选择动作。模拟结束后,算法选择具有最高Q值的动作作为最终动作。
■2.4 MDL原则指导模型与策略选择
最小描述长度(MDL)原则是一个强大的工具,用于在模型选择和策略生成中做出决策。MDL原则基于一个简单的理念:在描述长度较短的假设中选择,通常会导致更好的泛化。
MDL原则的理论基础是信息论,特别是关于如何量化模型或策略的复杂性。一个模型或策略的描述长度越短,它所需的信息就越少,因此更倾向于简单和泛化。在LLM-MCTS算法中,MDL原则被用来决定是将LLM作为模型还是策略来使用。
模型与策略的权衡:
在某些情况下,描述世界模型所需的信息可能远少于描述一个完整的策略。例如,在对象重排任务中,描述物品可能位置的模型可能比描述每一步动作的策略要简单得多。在这种情况下,使用LLM作为模型(L-Model)可能比作为策略(L-Policy)更有效。
下面是一个有关 LLM作为启发式策略的prompt示例,也是用来建立常识性信念的确切提示。
英文版本:``1)You need to generate a high-level plan for completing a household task using the allowed actions and visible objects.``2)Allowed actions: walk to <object>, walk to <room>, walk to <container>, walk to <surface>, grab <object>, open <container>, close <container>, put <object> on <surface>, put <object> inside <container>.``3)Rooms in the house: bedroom, bathroom, living room, kitchen.``4)You need to strictly follow the format in the following examples:``5)Goal: Put one apple inside the fridge.``6)Completed actions: walk to the kitchen, walk to the apple.``7)Current Observation: A kitchen table is inside the kitchen, a kitchen counter is inside the kitchen, an apple is on the kitchen counter, a plate is on the kitchen table, a banana is on the kitchen counter, a fridge is inside the kitchen and fridge is closed, a kitchen cabinet is inside the kitchen and kitchen cabinet is closed, a cutlery knife is on the kitchen table, a microwave is inside the kitchen and microwave is closed, a dishwasher is inside the kitchen and dishwasher is closed.``8)Next actions: grab the apple, walk to the fridge, open the fridge, put the apple inside the fridge, done.``9)Now, finish the next following task.``10)Goal: Put one apple on the kitchen table.``11)Completed actions: walk to the kitchen.``12)Current observation: A kitchen table is inside the kitchen, an apple is on the kitchen table, a kitchen counter is inside the kitchen, an apple is on the kitchen counter, a cutlery knife is on the kitchen table, a fridge is inside the kitchen and fridge is closed, a kitchen cabinet is inside the kitchen and kitchen cabinet is closed, a kitchen table is inside the kitchen, a plate is on the kitchen table, a pounding cake is on the kitchen table, a microwave is inside the kitchen and microwave is closed, a dishwasher is inside the kitchen and dishwasher is closed.``13)Next actions:`` ``中文版本:``1)你需要生成一个高级计划来完成一个家庭任务,使用允许的动作和可见的物体。``2)允许的动作:走向<物体>,走向<房间>,走向<容器>,走向<表面>,抓取<物体>,打开<容器>,关闭<容器>,把<物体>放在<表面>,把<物体>放进<容器>。``3)房间:卧室,浴室,客厅,厨房。``4)你需要严格遵循以下示例中的格式:``5)目标: 将一个苹果放入冰箱。``6)已完成的动作: 走到厨房,走到苹果处。``7)当前观察: 厨房里有一张厨房桌子,厨房柜台上有一个苹果,厨房桌子上有一个盘子,厨房柜台上有一根香蕉,厨房里有一台冰箱并且冰箱是关闭的,厨房里有一个橱柜并且橱柜是关闭的,厨房桌子上有一把刀具,厨房里有一个微波炉并且微波炉是关闭的,厨房里有一个洗碗机并且洗碗机是关闭的。``8)下一个动作: 抓住苹果,走向冰箱,打开冰箱,把苹果放入冰箱,完成。``9)现在,完成接下来的任务。``10)目标: 将一个苹果放在厨房桌子上。``11)已完成的动作: 走到厨房。``12)当前观察: 厨房桌子上有一个苹果,厨房里有一个厨房柜台,柜台上有一个苹果,厨房桌子上有一把刀具,厨房里有一个冰箱并且冰箱是关闭的,厨房里有一个橱柜并且橱柜是关闭的,厨房桌子上有一个盘子和一个蛋糕,厨房里有一个微波炉并且微波炉是关闭的,厨房里有一个洗碗机并且洗碗机是关闭的。``13)下一个动作:
为了验证LLM-MCTS算法的有效性,研究者们在多个领域进行了广泛的实验,包括但不限于对象重排、乘法运算和旅行规划。这些实验旨在展示LLM-MCTS算法在处理复杂任务时的优越性能,以及MDL原则在模型与策略选择中的应用。
■4.1 对象重排任务
对象重排任务是在一个虚拟家庭环境中进行的,任务涉及将随机放置的物品移动到指定的位置。例如,机器人需要将苹果放入冰箱或将盘子放在厨房桌子上。研究者们比较了LLM-MCTS算法与其他基线方法(如传统的MCTS和经过微调的GPT-2策略)的性能。
●实验设置:实验在VirtualHome平台上进行,该平台模拟了一个包含多个房间和数百个可交互物品的家庭环境。
●评估指标:主要通过完成任务的成功率和所需步骤来评估性能。
●结果:LLM-MCTS算法在简单任务和复杂任务中均显示出比基线方法更高的成功率,并且在未见过的家庭环境中表现尤为出色。
▲图3|VirtualHome虚拟家庭环境
▲图4|实验成功案例
对象重排任务是在一个虚拟家庭环境中进行的,任务涉及将随机放置的物品移动到指定的位置。例如,机器人需要将苹果放入冰箱或将盘子放在厨房桌子上。研究者们比较了LLM-MCTS算法与其他基线方法(如传统的MCTS和经过微调的GPT-2策略)的性能。
●实验设置:实验在VirtualHome平台上进行,该平台模拟了一个包含多个房间和数百个可交互物品的家庭环境。
●评估指标:主要通过完成任务的成功率和所需步骤来评估性能。
●结果:LLM-MCTS算法在简单任务和复杂任务中均显示出比基线方法更高的成功率,并且在未见过的家庭环境中表现尤为出色。
▲图5|VirtualHome虚拟家庭环境
▲图6|厨房对象重排成功案例
■4.2 旅行规划任务
旅行规划任务要求算法规划从起点到终点的最短飞行路线。这个任务需要考虑多个可能的中转站和路线。
●实验设置:研究者们使用了一个包含多个城市和飞行路线的数据库来模拟旅行规划问题。
●评估指标:主要通过路线的准确性和规划所需时间来评估性能。
●结果:LLM-MCTS算法在规划准确路线方面优于简单的LLM策略,特别是在涉及多个中转站的复杂路线规划中。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。