Transformer 在大模型领域的地位可谓是难以撼动。不过,这个AI 大模型的主流架构在模型规模的扩展和需要处理的序列变长后,局限性也愈发凸显了。Mamba的出现,正在强力改变着这一切。它优秀的性能立刻引爆了AI圈。
上周四, Vision Mamba(Vim)的提出已经展现了它成为视觉基础模型的下一代骨干的巨大潜力。仅隔一天,中国科学院、华为、鹏城实验室的研究人员提出了 VMamba:一种具有全局感受野、线性复杂度的视觉 Mamba 模型。这项工作标志着视觉 Mamba 模型 Swin 时刻的来临。
CNN 和视觉 Transformer(ViT)是当前最主流的两类基础视觉模型。尽管 CNN 具有线性复杂度,ViT 具有更为强大的数据拟合能力,然而代价是计算复杂较高。研究者认为 ViT 之所以拟合能力强,是因为其具有全局感受野和动态权重。受 Mamba 模型的启发,研究者设计出一种在线性复杂度下同时具有这两种优秀性质的模型,即 Visual State Space Model(VMamba)。大量的实验证明,VMamba 在各种视觉任务中表现卓越。如下图所示,VMamba-S 在 ImageNet-1K 上达到 83.5% 的正确率,比 Vim-S 高 3.2%,比 Swin-S 高 0.5%。
VMamba 成功的关键在于采用了 Selective Scan Space State Sequential Model(S6 模型)。该模型设计之初是用于解决自然语言处理(NLP)任务。与 ViT 中注意力机制不同,S6 将 1D 向量中的每个元素(例如文本序列)与在此之前扫描过的信息进行交互,从而有效地将二次复杂度降低到线性。
然而,由于视觉信号(如图像)不像文本序列那样具有天然的有序性,因此无法在视觉信号上简单地对 S6 中的数据扫描方法进行直接应用。为此研究者设计了 Cross-Scan 扫描机制。Cross-Scan 模块(CSM)采用四向扫描策略,即从特征图的四个角同时扫描(见上图)。该策略确保特征中的每个元素都以不同方向从所有其他位置整合信息,从而形成全局感受野,又不增加线性计算复杂度。
在 CSM 的基础上,作者设计了 2D-selective-scan(SS2D)模块。如上图所示,SS2D 包含了三个步骤:
上图为本文提出的 VMamba 结构图。VMamba 的整体框架与主流的视觉模型类似,其主要区别在于基本模块(VSS block)中采用的算子不同。VSS block 采用了上述介绍的 2D-selective-scan 操作,即 SS2D。SS2D 保证了 VMamba 在线性复杂度的代价下实现全局感受野。
ImageNet 分类
通过对比实验结果不难看出,在相似的参数量和 FLOPs 下:
这些结果远高于 Vision Mamba (Vim) 模型,充分验证了 VMamba 的潜力。
COCO 目标检测
在 COOCO 数据集上,VMamba 也保持卓越性能:在 fine-tune 12 epochs 的情况下,VMamba-T/S/B 分别达到 46.5%/48.2%/48.5% mAP,超过了 Swin-T/S/B 达 3.8%/3.6%/1.6% mAP,超过 ConvNeXt-T/S/B 达 2.3%/2.8%/1.5% mAP。这些结果验证了 VMamba 在视觉下游实验中完全 work,展示出了能平替主流基础视觉模型的潜力。
ADE20K 语义分割
在 ADE20K 上,VMamba 也表现出卓越性能。VMamba-T 模型在 512 × 512 分辨率下实现 47.3% 的 mIoU,这个分数超越了所有竞争对手,包括 ResNet,DeiT,Swin 和 ConvNeXt。这种优势在 VMamba-S/B 模型下依然能够保持。
分析实验
有效感受野
VMamba 具有全局的有效感受野,其他模型中只有 DeiT 具有这个特性。但是值得注意的是,DeiT 的代价是平方级的复杂度,而 VMamaba 是线性复杂度。
输入尺度缩放
最后,让我们期待更多基于 Mamba 的视觉模型被提出,并列于 CNNs 和 ViTs,为基础视觉模型提供第三种选择。
文章来自于微信公众号 “机器之心”
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner