今天凌晨3点,微软在官网开源了多模态AI Agent基础模型——Magma。与传统Agent相比,Magma具备跨数字、物理世界的多模态能力,能自动处理图像、视频、文本等不同类型数据,例如,你可以用Magma来自动下电商订单、查询天气;也可以自动操作实体机器人,或者下真实象棋时获得帮助。
此外,Magma还能内置了心理预测功能,增强了对未来视频帧中时空动态的理解能力,能够准确推测视频中人物或物体的意图和未来行为。
开源地址:https://huggingface.co/microsoft/Magma-8B
github:https://github.com/microsoft/Magma
Magma功能展示
可以用Magma来充当实体机器人的大脑,例如,把蘑菇正确地放在盆里。
也可以把汉堡放在正确的位置。
分不清物品品牌时,Magma可以帮你快速解析。
当你和朋友一起下象棋的时候,拿不准怎么走,可以让Magma充当物理外挂,帮你快速获胜。
在数字任务方面,例如,可以通过Magma自动查询天气,并打开飞行模式。
把文件自动分享给特定的人。
Magma架构简单介绍
Magma使用了视觉与大语言模型的混合架构,是其实现多模态能力的关键所在。视觉模块使用了ConvNeXt,能够将输入的图像和视频数据编码为一系列离散的tokens。
这些标记捕捉了视觉信息的核心特征,包括物体的形状、颜色、位置以及它们之间的空间关系。在编码过程中,ConvNeXt不仅关注单个图像帧的内容,还能处理视频中的时间序列信息,从而为模型提供丰富的视觉上下文。
例如,在处理高分辨率的UI截图时,ConvNeXt能够精准捕捉界面上的每一个细节,无论是微小的图标还是复杂的布局;
在处理动态视频时,能连贯地跟踪画面中的物体运动和场景变化,生成有序的标记序列,为后续的处理提供坚实的基础。
这些编码后的视觉标记会与编码任务描述的语言标记,一起输入到一个仅解码器的大语言模型中,然后将视觉标记和语言标记结合起来,生成统一的、语义丰富的表示,使得模型能够理解用户的需求,并将其与视觉场景联系起来。
Magma模型的自回归解码过程是实现从多模态理解到行动转化的核心机制。在解码阶段,模型根据输入的视觉和语言标记序列,逐步生成输出。该过程是自回归的,模型在生成每个输出标记时,都会考虑之前已经生成的内容,使得模型能够根据输入信息的复杂性,动态地调整输出,生成合理的动作指令或回答。
例如,在一个机器人操作任务中,用户可能会要求模型“拿起桌子上的红色苹果并放入篮子中”。Magma模型首先通过视觉编码器处理输入的图像或视频,识别出红色苹果的位置和篮子的位置。
然后,语言模型将这些视觉信息与任务描述中的语言指令结合起来,生成一个包含动作序列的输出。
SoM与ToM
Set-of-Mark(SoM)主要用于Magma的行动定位,作用是将视觉对象标记为可操作的点或区域,从而帮助模型确定在图像或视频中需要执行操作的具体位置。
SoM技术通过在图像中标注可操作对象的边界框,并为每个边界框分配一个唯一的标记。这些标记不仅帮助模型识别对象的位置,还提供了关于对象的语义信息。
例如,在UI导航任务中,模型会在网页截图中标记出所有可点击的按钮,并为每个按钮分配一个标记。当用户要求模型执行操作时,模型可以根据这些标记快速定位到目标对象,并生成相应的操作指令。
Trace-of-Mark(ToM)则用于行动规划通过预测未来轨迹来帮助模型规划和执行复杂的动作序列。主要利用视频数据中的时间信息,预测对象在未来时间点的位置和状态,从而为模型提供行动规划的依据。
ToM技术通过在视频中标注对象的运动轨迹,并预测这些轨迹在未来时间点的位置。这些预测的轨迹不仅帮助模型理解对象的运动模式,还为模型提供了关于未来行动的指导。例如,在机器人操作任务中,模型会预测机器人手臂的运动轨迹,从而规划出一系列动作,以完成抓取物体的任务。
ToM提高了模型的行动规划能力,同时增强了模型对时间信息的理解,通过预测未来轨迹,模型能够更好地理解视频中的动态信息,从而在执行任务时更加准确和高效。