大模型自主智能体爆火,OpenAI也在暗中观察、发力,这是内部人的分析博客(2)

简介: 大模型自主智能体爆火,OpenAI也在暗中观察、发力,这是内部人的分析博客

分层可导小世界(HNSW,Hierarchical Navigable Small World):这个方法受到小世界网络(small world networks,是一种图结构)的启发,其中大多数节点可以在很少的步骤内与其他节点相连。HNSW 构建了这些小世界图的层次结构,其中底层包含实际的数据点,中间层创建了快捷方式以加速搜索。在执行搜索时,HNSW 从顶层的一个随机节点开始,并向目标节点导航,当无法再靠近目标时,它向下移动到下一层,直到达到底层。在上层进行的每一次移动都有可能在数据空间中覆盖较大的距离,而在下层进行的每一次移动都会提高搜索的精度。

Facebook AI (现 Meta AI)团队开源的库 FAISS:FAISS 运作的基本假设是,在高维空间中,节点之间的距离遵循高斯分布,因此应该存在数据点的聚类。FAISS 通过将向量空间分割成聚类并在聚类内进行量化来应用向量量化。

可扩展最近邻(ScaNN):ScaNN 的主要创新是各向异性矢量量化(Anisotropic Vector Quantization,AVQ),它将数据点 x_i 量化为,使得内积尽可能接近原始距离,从而减少了数据点之间的距离误差。

MIPS 算法比较。

组件 3:使用工具

使用工具是人类的一个显著特点。我们创造、修改和利用外部物体来探索和认知现实世界。类似地,给 LLM 配备外部工具可以大幅扩展模型的能力。

一张海獭在水中漂浮时用石头敲开贝壳的照片。虽然其他一些动物也能使用工具,但其复杂性无法与人类相比。图源:Animals using tools

MRKL(Karpas et al. 2022)是一种用于自主智能体的神经 - 符号(neuro-symbolic)架构,命名来源于模块化推理(Modular Reasoning)、知识(Knowledge)和语言(Language)的简称。每个 MRKL 系统包含一些「专家」模块,通用 LLM 作为一个路由器,负责将查询路由到最合适的专家模块。这些模块可以是神经的(如深度学习模型),也可以是符号的(如数学计算器、货币转换器、天气 API)。

MRKL 的研究团队使用数学计算作为测试案例,进行了一个微调 LLM 调用计算器的实验。由于 LLM(7B  Jurassic1-large 模型)未能可靠地提取基本计算的正确 argument,因此该实验表明解决口语简单阐述的数学问题比明确说明的数学问题更难。该实验结果强调了当外部符号工具能够可靠地工作时,知道何时和如何使用这些工具是至关重要的,而这由 LLM 的能力决定。

另外两项研究 TALM(Parisi et al. 2022)和 Toolformer(Schick et al. 2023)都对语言模型(LM)进行了微调,以学习使用外部工具 API。数据集则是根据新增加的 API 调用注释是否能提高模型的输出质量来扩展的。

ChatGPT 插件和 OpenAI 的 API 函数调用是 LLM 使用工具增强能力的最好实例。工具 API 的集合可以由其他开发者提供(插件)或自定义(函数调用)。

HuggingGPT(Shen et al. 2023)则是一个使用 ChatGPT 作为任务规划器的框架,根据模型描述选择 HuggingFace 平台中可用的模型,并根据执行结果归纳总结出响应。

HuggingGPT 工作原理示意图。图源:Shen et al. 2023

HuggingGPT 系统由 4 个阶段组成:

(1)任务规划:LLM 作为大脑,将用户请求解析为多个任务。每个任务有四个关联属性:任务类型、任务 ID、依赖项和参数。研究团队使用少量例子来指导 LLM 进行任务解析和规划。


The AI assistant can parse user input to several tasks: [{"task": task, "id", task_id, "dep": dependency_task_ids, "args": {"text": text, "image": URL, "audio": URL, "video": URL}}]. The "dep" field denotes the id of the previous task which generates a new resource that the current task relies on. A special tag "-task_id" refers to the generated text image, audio and video in the dependency task with id as task_id. The task MUST be selected from the following options: {{ Available Task List }}. There is a logical relationship between tasks, please note their order. If the user input can't be parsed, you need to reply empty JSON. Here are several cases for your reference: {{ Demonstrations }}. The chat history is recorded as {{ Chat History }}. From this chat history, you can find the path of the user-mentioned resources for your task planning.


(2) 模型选择:LLM 会从一个模型列表中选择模型,将任务分配给专家模型。由于上下文长度有限,需要进行基于任务类型的过滤。


Given the user request and the call command, the AI assistant helps the user to select a suitable model from a list of models to process the user request. The AI assistant merely outputs the model id of the most appropriate model. The output must be in a strict JSON format: "id": "id", "reason": "your detail reason for the choice". We have a list of models for you to choose from {{ Candidate Models }}. Please select one model from the list.


(3) 任务执行:专家模型执行具体任务,并记录执行结果。


With the input and the inference results, the AI assistant needs to describe the process and results. The previous stages can be formed as - User Input: {{ User Input }}, Task Planning: {{ Tasks }}, Model Selection: {{ Model Assignment }}, Task Execution: {{ Predictions }}. You must first answer the user's request in a straightforward manner. Then describe the task process and show your analysis and model inference results to the user in the first person. If inference results contain a file path, must tell the user the complete file path.


(4) 响应生成:LLM 接收执行结果,并向用户提供总体结果。

为了将 HuggingGPT 投入实际使用,需要解决几个挑战:(1)需要提高效率,因为 LLM 推理和与其他模型的交互都会减慢进程;(2)它依赖一个长的上下文窗口来沟通复杂的任务内容;(3)提高 LLM 输出和外部模型服务的稳定性。

API-Bank(Li et al. 2023)是一个评估工具增强型 LLM 性能的基准。它包含 53 个常用的 API 工具,一个完整的工具增强型 LLM 工作流,以及涉及 568 个 API 调用的 264 个已注释的对话。API-Bank 基准中可选择的 API 相当多样化,包括搜索引擎、计算器、日历查询、智能家居控制、日程管理等等。LLM 首先可以通过 API 搜索引擎找到合适的 API 进行调用,然后使用相关文档调用 API。

LLM 在 API-BANK 中进行 API 调用的伪代码。(图片来源:Li et al. 2023)


在 API-Bank 的工作流中,LLM 需要做出一些决定,包括:

  • 是否需要调用 API;
  • 确定要调用的正确 API:如果不够好,LLM 需要反复修改 API 输入(例如更换搜索引擎 API 的搜索关键词);
  • 基于 API 结果的响应:如果结果不满意,模型可以选择优化并再次调用。


这个基准在三个层次上评估了智能体的工具使用能力:

  • 调用 API 的能力:根据 API 的描述,模型需要确定是否调用给定的 API,正确地调用,并对 API 的返回结果作出正确的反应;
  • 检索 API 的能力。模型需要搜索可能解决用户需求的 API,并通过阅读文档学习如何使用它们。
  • 检索和调用之外规划 API 的能力。考虑到不明确的用户要求(例如安排小组会议,为旅行预订航班 / 酒店 / 餐厅),模型可能需要进行多次 API 调用来解决实际问题。


案例研究

用于科学发现的智能体

ChemCrow 是一个由大型语言模型(LLM)设计的化学智能体,旨在完成有机合成、药物发现和材料设计等任务。通过整合 17 种专家设计的工具,ChemCrow 提高了 LLM 在化学方面的性能,并衍生出新的能力。

关于 ChemCrow ,一个有趣的观察是,尽管基于 LLM 的评估结果得出的结论是 GPT-4 和 ChemCrow 的性能几乎相当,但经过专家人工评估表明,ChemCrow 在很大程度上优于 GPT-4。这意味着在需要深度专业知识的领域使用 LLM 来评估其自身的性能可能存在潜在问题。缺乏专业知识可能导致 LLM 不了解其缺陷,因此无法很好地判断任务结果的正确性。

Boiko 等人的论文则研究了用于科学发现的 AI 智能体,它被用来处理复杂科学实验的自主设计、规划和执行。这个智能体可以使用工具浏览互联网、阅读文档、执行代码、调用机器人实验 API 和利用其他 LLM。

举例来说,当智能体收到提示「develop a novel anticancer drug(开发一种新的抗癌药物)」时,其推理步骤是这样的:

  • 询问当前抗癌药物发现的趋势;
  • 选定目标;
  • 开始寻找针对这个目标的化合物;
  • 一旦确定了化合物,模型就尝试合成它。


生产式智能体

生成式智能体将 LLM 与记忆、规划和反射机制相结合,使智能体能够根据过去的经验做出反应,并与其他智能体进行交互。

生成式智能体架构图。

概念验证示例

这里作者提到了 AutoGPT(自主人工智能),有了它,人类无需插手,AutoGPT 就能自主完成任务。Andrej Karpathy 也大赞:「AutoGPT 是 prompt 工程的下一个前沿。」

具体来说,AutoGPT 相当于给基于 GPT 的模型一个内存和一个身体。有了它,你可以把一项任务交给 AI 智能体,让它自主地提出一个计划,然后执行计划。此外其还具有互联网访问、长期和短期内存管理、用于文本生成的 GPT-4 实例以及使用 GPT-3.5 进行文件存储和生成摘要等功能。AutoGPT 用处很多,可用来分析市场并提出交易策略、提供客户服务、进行营销等其他需要持续更新的任务。

此外,作者还列举了 GPT-Engineer 项目,和代码生成类工具差不多,其能根据提示生成代码库(codebase)。就像前面讲到的,只要你提出合理的要求,GPT-Engineer 都能完成。

挑战

在了解了构建以 LLM 为中心的智能体关键思想和演示之后,我们应该也看到一些限制:

有限的上下文长度:LLM 处理上下文信息的能力有限,尽管 self-reflection 等机制可以从过去的错误中学习,但更长或无限的上下文窗口将会带来很大的好处。虽然向量存储和检索可以提供对更大知识库的访问,但它们的表示能力不如全注意力(full attention)强大。

LLM 在长期规划和任务分解中的挑战:LLM 在面对意外错误时很难调整规划并进行改正,与人类可以不断试错相比,LLM 鲁棒性还是比较差的。

自然语言接口的可靠性:当前的智能体系统依赖于自然语言作为 LLM 与内存和工具等外部组件之间的接口。然而,模型输出的可靠性是值得怀疑的,因为 LLM 可能会出现格式错误,偶尔还会表现出叛逆行为(例如,拒绝遵循指令)。

相关文章
|
3月前
|
机器学习/深度学习 人工智能 并行计算
"震撼!CLIP模型:OpenAI的跨模态奇迹,让图像与文字共舞,解锁AI理解新纪元!"
【10月更文挑战第14天】CLIP是由OpenAI在2021年推出的一种图像和文本联合表示学习模型,通过对比学习方法预训练,能有效理解图像与文本的关系。该模型由图像编码器和文本编码器组成,分别处理图像和文本数据,通过共享向量空间实现信息融合。CLIP利用大规模图像-文本对数据集进行训练,能够实现zero-shot图像分类、文本-图像检索等多种任务,展现出强大的跨模态理解能力。
276 2
|
29天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
25天前
|
算法 机器人 Linux
Agent-Based概率模型让多无人机野外搜救更高效
【论文解读】Agent-Based概率模型、Receding Horizon规划策略、动态分区算法相结合,提升多无人机野外搜救效果
71 13
Agent-Based概率模型让多无人机野外搜救更高效
|
11天前
|
人工智能 安全 机器人
OpenAI重拾规则系统,用AI版机器人定律守护大模型安全
在人工智能领域,大语言模型(LLM)展现出强大的语言理解和生成能力,但也带来了安全性和可靠性挑战。OpenAI研究人员提出“规则基于奖励(RBR)”方法,通过明确规则引导LLM行为,确保其符合人类价值观和道德准则。实验显示,RBR方法在安全性与有用性之间取得了良好平衡,F1分数达97.1。然而,规则制定和维护复杂,且难以完全捕捉语言的多样性。论文:https://arxiv.org/pdf/2411.01111。
53 13
|
8天前
|
人工智能 自然语言处理 机器人
OpenAI推出具有图像上传和分析功能的完整o1模型,并首次推出ChatGPT Pro
OpenAI推出具有图像上传和分析功能的完整o1模型,并首次推出ChatGPT Pro
|
1月前
|
人工智能 自然语言处理 计算机视觉
OpenAI发布sCM提升50倍效率,扩散模型重大技术突破!
OpenAI近期发布了Simplified Consistency Models (sCM) 技术,这是在扩散模型基础上的重大改进,实现了50倍效率提升。sCM通过简化和稳定连续时间一致性模型的训练过程,解决了传统模型中的离散化误差和训练不稳定性问题,显著提升了生成模型的性能和效率。在多个数据集上的测试结果表明,sCM不仅超越了现有模型,还在生成模型的实际应用中展现了巨大潜力。论文地址:https://arxiv.org/abs/2410.11081
48 3
|
2月前
|
机器学习/深度学习 人工智能 算法
视频生成模型变身智能体:斯坦福Percy Liang等提出VideoAgent,竟能自我优化
斯坦福大学Percy Liang团队推出VideoAgent,一种能生成高质量视频并自我优化的模型。它结合强化学习和监督学习,根据用户反馈和环境变化自动调整,提升视频生成质量和用户体验,但同时也面临模型不稳定性和高资源需求等挑战。
35 6
|
2月前
|
自然语言处理 Python
使用Python和Qwen模型实现一个简单的智能问答Agent
使用Python和Qwen模型实现一个简单的智能问答Agent
141 4
|
2月前
|
人工智能 计算机视觉 网络架构
OpenAI攻克扩散模型短板,清华校友路橙、宋飏合作最新论文
扩散模型在生成AI领域取得显著成果,但其训练不稳定性和采样速度慢限制了发展。OpenAI与清华校友合作,提出连续时间一致性模型(CMs),通过TrigFlow等创新解决了这些问题,大幅提升了训练稳定性和计算效率,实现了与最优模型相当的样本质量,同时减少了计算资源消耗。
46 2
|
2月前
|
SQL 机器学习/深度学习 人工智能
今日 AI 开源|共 4 项|DeepSeek 推出新一代 AI 推理模型,实力比肩 OpenAI o1-preview!
本文介绍了四个最新的 AI 开源项目,涵盖多模态生成式 AI、自然语言到 SQL 转化、多模态数学推理和复杂逻辑推理等多个领域,为 AI 应用开发提供了丰富的资源和工具。
161 0
今日 AI 开源|共 4 项|DeepSeek 推出新一代 AI 推理模型,实力比肩 OpenAI o1-preview!

热门文章

最新文章