ChatGPT在广泛的开放域任务上展现出令人瞩目的强大对话、上下文学习和代码生成能力,而且它所获得的常识知识还可以为特定领域的任务生成高级解决方案概要。不过,除了更强大的学习、理解和生成能力,ChatGPT还有哪些问题需要解决呢?
微软最近发布了TaskMatrix.AI,可能是人工智能生态系统中的另一个方向,将基础模型与数百万个API连接起来以完成任务,是Toolformer和chatGPT的结合,可能也是LLM的另一个未来。
1. 问题
ChatGPT或GPT-4在一些专业任务中仍然面临困难,因为它们在预训练期间缺乏足够的领域特定数据,或者它们在执行需要准确执行任务的神经网络计算中经常出现错误。另一方面,还有许多现有的模型和系统(基于符号或基于神经网络),可以非常好地完成一些领域特定的任务。然而,由于不同的实现或工作机制,它们不容与基础模型兼容。
此外,人工智能的用例是无穷无尽的,不仅在数字世界中提供帮助,而且在物理世界中帮助完成各种任务,从照片处理到控制智能家居设备,它可以做的往往超出想象。
因此,需要一种机制,可以利用基础模型提出任务解决方案的概要,然后自动将概述中的一些子任务与现成的具有特殊功能的模型和系统的API进行匹配,以完成它们。TaskMatrix.AI 就是这样一种机制。
2. TaskMatrix.AI 概述
TaskMatrix.AI 通过将基础模型与现有模型和 API 相结合,以服务于各种各样的任务。以下是 TaskMatrix.AI 可以执行的任务:
- 人工智能可以通过将基础模型作为核心系统来理解不同类型的输入(例如文本、图像、视频、音频和代码),执行数字和物理任务,然后生成代码来调用 API 来完成任务。
- TaskMatrix.AI 有一个 API 平台,作为各种领域任务的存储库。这个平台上的所有 API 都有一致的文档格式,这使得基础模型很容易使用,开发人员也很容易添加新的 API。
- TaskMatrix.AI 具有强大的终身学习能力,因为它可以通过向 API 平台添加具有特定功能的新 API 来扩展其处理新任务的技能。
- 由于任务解决逻辑(即操作代码)和 API 的结果都是可以理解的,因此 TaskMatrix.AI 的响应具有更好的可解释性。
3. TaskMatrix.AI de 体系结构
TaskMatrix.AI的整体架构及其四个主要组成部分:
- 多模态对话基础模型(MCFM):它负责与用户通信,理解他们的目标和(多模态)上下文,并基于 API 生成可执行代码以完成特定任务。
- API 平台:提供一个统一的 API 文档模式来存储具有不同功能的数百万个 API,并允许 API 开发人员或所有者注册、更新和删除他们的 API。
- API 选择器:根据 MCFM 对用户命令的理解推荐相关的 API。
- API 执行器:通过调用相关 API 执行生成的操作代码,并返回中间和最终执行结果。
这4个子系统共同工作,使TaskMatrix.AI能够理解用户目标,并为特定任务执行基于 API 的可执行代码。多模态会话基础模型(MCFM)作为用户交流的主要接口,可以理解多模态上下文。API 平台提供了一个统一的 API 文档模式和一个存储数百万 API 的地方。API 选择器使用 MCFM 对用户目标的理解来推荐相关的 API。最后,API 执行器执行由相关 API 生成的操作代码并返回结果。此外,该团队还利用人工反馈(RLHF)技术的强化学习来训练一种奖励模型,该模型可以优化任务矩阵(taskMatrix)。该方法可以帮助 MCFM 和 API 选择器找到最优策略,提高复杂任务的性能。
3.1 多模态会话基础模型(MCFM)
MCFM 有四个输入:基础模型的参数、API 平台、用户指令和会话上下文。使用这些输入,模型生成操作代码来完成用户的指令。此外,理想的多模式会话框架模型 (MCFM) 应该具有以下四个主要功能:
- 获取多模式输入,并根据特定任务的 API 生成可执行代码。
- 从用户指令中提取特定任务并提出解决方案大纲。
- 了解如何从文档中使用 API,并根据常识和 API 使用历史将其与特定任务进行匹配。
- 包含一个明确的代码验证机制来确认可靠性和可信性。
ChatGPT 和 GPT-4 是具有 MCFM 所需的这些能力的两个模型示例。然而,GPT-4 更适合,因为它支持多模态输入。
3.2 API 平台
API 平台有两个主要功能: 存储 API 和管理 API 的开发者或所有者。API 平台有一个统一的 API 文档模板,包括每个 API 文档的五个方面:
- API 名称: 提供 API 概述并作为操作执行者的入口。
- 参数列表: 包括输入参数和返回值,每个参数都有名称、说明、数据类型和默认值。
- API 描述: 包含有关 API 的功能、工作原理、输入和输出以及潜在错误或异常的信息。
- 应用示例(可选): 展示如何使用该 API。
- 组合指导(可选): 提供如何组合多个 API 以完成复杂用户指令的指导。
- API 平台有两个主要功能: API 的存储和开发人员或所有者对 API 的管理。
API 描述示例:打开一个文件
API Name: open_local_file
API Parameter: (file_path:string, model:string="r").
file_path: string, the pathname (absolute or relative to the current working directory) of the file to be opened.
mode: string="r", the mode is an optional string that specifies the mode in which the file is opened. It defaults to "r" which means open for reading in text mode. Other common values are "w" for writing. This file will return a File object or OSError.
API Description: Open the file and return a corresponding file object. If the file cannot be opened,an OSError is raised.
Usage Example: f = open_local_file("example.txt", "w")
Composition Instructions: Open should be used before reading and editing. The file should be closed by close_local_file after all operations.
3.3 API 选择器
API选择器旨在从API平台中识别和选择最适合任务需求的API。它可以通过检索语义相关的API来减少API平台可能拥有的过多API。API选择器可以利用模块策略来快速定位相关的API。
模块策略是指根据API的领域将API组织成特定的包或模块的方法。每个模块对应于一个特定的区域,例如可视化模型、数学、特定的软件或物理设备。通过使用这种策略,API选择器可以快速定位符合MCFM所理解的任务需求和解决方案大纲的相关API。这种方法有助于简化API选择过程,并使从API平台检索语义相关的API变得更加容易。
3.4 动作执行器
动作执行器被设计用来执行动作代码。AI 使用一个动作执行器来运行各种 API,从简单的 HTTP 请求到需要多个输入参数的复杂算法或 AI 模型。
动作执行器还需要一个验证机制来提高准确性和可靠性,并确认生成的代码的结果是否符合人类指定的任务。
3.5 以人为本的强化学习(RLHF)
TaskMatrix.AI 将利用 RLHF 来增强 MCFM 和 API 选择器,以便在复杂任务中提供更好的性能。
RLHF 将专门用于优化 API 选择器,使用基于 API 反馈的训练有素的奖励模型:
- 给 API 开发者的反馈
- API 开发人员将收到关于他们的 API 是否用于完成任务的反馈。
这将允许以最优化的方式创建 API 文档来使用给定的 API。
4. TaskMatrix 的用例
TaskMatrix. AI 可以帮助解决哪些任务呢?
TaskMatrix. AI 与基础模型、云服务、机器人技术和物联网的持续发展相结合,有潜力创造一个生产力和创造力都有所提高的未来世界。
4.1 可视化任务
基于MCFM的多模态特性,TaskMatrix.AI可以执行可视化任务,并且能够将语言和图像作为输入。它可以执行的一些视觉任务,下图显示了TaskMatrix.AI如何构建在VisualChatGPT之上,并能够更好地处理VQA任务。
图像编辑,可以删除或替换图像中的对象,也可以通过TaskMatrix.AI进行。使用图像处理技术或计算机算法Image-to-Sketch/Depth/Hed/Line,可以将图像转换为草图、深度、整体嵌套的边缘检测或线。Sketch/Depth/Hed/Line-to-Image与上面的相反,它将根据给定的选项生成图像。
下图显示了TaskMatrix.AI如何使用三个API调用(图像问答、图像字幕和替换图像中的对象)在解决方案大纲上定义和执行的示例。
4.2 多模态长内容生成
TaskMatrix.AI 的另一个用例是创建大型多模式(图像和文本)内容,以消除其他模型的字符限制。
在下面的例子中,我们可以看到 TaskMatrix.AI如何从用户那里获得高级指令并生成合理的响应。
4.3 办公自动化
TaskMatrix.AI 可以通过理解通过语音接收的用户指令并使任务自动化来轻松减少办公的工作量。此外,它还可以在没有大量培训的情况下使用复杂的软件,从而让员工能够专注于更紧急的任务。
下面的例子展示了 TaskMatrix.AI 和创建 PowerPoint 幻灯片时使用不同 API 的人之间的对话。
4.4 云服务的利用
TaskMatrix.AI 可以像智能家居自动化一样工作,能够与家里的所有设备通讯,并作为它们之间的中心连接点。下面的图片显示了一个人和 TaskMatrix.AI 之间的对话,TaskMatrix.AI 利用内部机器人的软件和硬件来完成日常任务。
此外,TaskMatrix.AI 可以在许多其他场景中使用,唯一的要求是它可以利用 API,例如访问元宇宙或 Web3。
5. TaskMatrix.AI的挑战
TaskMatrix.AI 仍然有相当多的缺点和局限性需要解决和处理, 例如:
- 对需要创建能够处理各种任务和各种输入的基础模型,从人类反馈中学习,并使用常识推理以最高质量完成任务。确定TaskMatrix.AI所需的最小模态集合并对其进行训练仍然具有挑战性。
- 创建和维护一个托管数百万 API 的平台需要解决几个挑战,API 文档生成、API 质量保证和API 创建建议,基于此,API 平台应该为 API 开发人员提供进一步的指导,以创建新的 API 来解决这些任务。
- 利用数百万个 API 完成用户指令带来了新的挑战,超越了自由文本生成,向 MCFM 推荐相关的 API 来解决特定任务至关重要。对于复杂的任务,TaskMatrix.AI 可能无法立即提出解决方案。相反,MCFM 应与用户进行交互,尝试不同的可能解决方案,找出最合适的方案。
- 安全性和隐私性可能是一个问题,需要验证模型是否完成用户指令,而不做任何超出用户意图的事情。数据传输应安全,并在与需要访问敏感数据的不同域的各种API集成时进行授权的数据访问。
- TaskMatrix.AI需要一种个性化策略来帮助单个开发者构建自己的个性化AI界面,以及帮助用户拥有自己的个人助手。降低扩展成本,与用户的少量示例对齐都是挑战。
6. 小结
回顾摩尔定律,或许,“AI的数量每18个月翻一番”会成为一个新的定律。
TaskMatrix.AI 将基础模型与数以百万计的现有模型和系统 API集成起来,从而产生一个能够执行各种数字和物理任务的“超级人工智能”。作为一个AI平台,允许人类利用大模型和 API 执行大量多样化的任务。它能够处理每一个普通的任务(例如,制作 PPT 幻灯片或者按时间表运行清洁机器人来打扫房间) ,让我们更有生产力和创造力。
【参考文献】
TaskMatrix.AI: Completing Tasks by Connecting Foundation Models with Millions of APIs,https://arxiv.org/pdf/2303.16434.pdf