微软发布Florence-2:用于处理各种视觉任务的小模型 原创
近日,微软的Azure AI团队在Hugging Face上发布了一个名为Florence-2的新视觉基础模型。
该模型以宽松的MIT许可证可用,可以处理各种视觉和视觉语言任务,使用统一的基于提示的表示形式。它有两个尺寸——232M和771M个参数,并且在字幕生成、目标检测、视觉定位和分割等任务上已经表现出色,与许多大型视觉模型相媲美甚至更好。
尽管该模型的实际性能尚待测试,但这项工作预计将为企业提供一种处理不同类型视觉应用的统一方法。这将节省投资于无法超越其主要功能的单独任务特定视觉模型,并避免了大量的精细调整过程。
Florence-2的独特之处在于什么?
目前,大语言模型(LLM)是企业运营的核心。一个模型可以提供摘要、撰写营销文案,甚至在许多情况下处理客户服务。在不同领域和任务之间的适应能力令人惊叹。但是,这一成功也让研究人员思考:在很大程度上针对特定任务的视觉模型是否能够做到同样的事情?
图:Florence-2由图像编码器和标准的多模态编码器-解码器组成。研究人员在FLD-5B数据上以统一的多任务学习范式对Florence-2进行训练,得到了一个通用的视觉基础模型,可以执行各种视觉任务。
从本质上讲,与基于文本的自然语言处理(NLP)相比,视觉任务更加复杂。它们需要全面的感知能力。基本上,为了实现对多样化视觉任务的通用表示,模型必须能够理解不同尺度上的空间数据,从广泛的图像级概念(如对象位置)到细粒度的像素细节,以及高级标题到详细描述等语义细节。
当微软尝试解决这个问题时,发现了两个关键障碍:全面注释的视觉数据集的稀缺性,以及缺乏一个统一的预训练框架,具有集成理解空间层次结构和语义细粒度能力的单一网络架构。
为了解决这个问题,研究人员首先使用专门的模型生成了一个名为FLD-5B的视觉数据集。该数据集包括了1.26亿张图像的54亿个注释,涵盖了从高级描述到特定区域和对象的详细信息。然后,使用这些数据,训练了Florence-2。它使用了序列到序列的架构(一种设计用于处理顺序数据的神经网络类型),集成了图像编码器和多模态编码器-解码器。这使得模型能够处理各种视觉任务,而无需进行任务特定的架构修改。
研究人员在详细说明该模型的论文中写道:“数据集FLD-5B中的所有注释都统一标准化为文本输出,便于使用统一的多任务学习方法,并与相同的损失函数进行一致的优化,作为目标。结果是一个多功能的视觉基础模型,能够执行各种任务...并且在一个由统一参数集管理的单一模型内完成。任务的激活通过文本提示实现,反映了大型语言模型使用的方法。”
性能优于更大的模型
在以图像和文本输入为提示时,Florence-2可以处理各种任务,包括目标检测、字幕生成、视觉定位和视觉问答。更重要的是,它以与许多更大的模型相媲美甚至更好的质量进行处理。
例如,在COCO数据集上进行零样本字幕生成测试时,Florence-2的232M和771M版本的得分分别为133和135.6,优于Deepmind的拥有800亿参数的Flamingo视觉语言模型。它们甚至比微软自己专门用于视觉定位的Kosmos-2模型表现更好。
当使用公共人工注释数据进行精调时,尽管尺寸较小,Florence-2能够在视觉问答等任务上与几个更大的专用模型竞争。
研究人员指出:“预训练的Florence-2骨干模型提高了下游任务的性能,如COCO目标检测和实例分割,以及ADE20K语义分割,超过了监督和自监督模型。与在ImageNet上进行预训练的模型相比,我们的模型训练效率提高了4倍,并在COCO和ADE20K数据集上分别取得了6.9、5.5和5.9个点的显著改进。”
目前,Florence-2的预训练和精调版本,包括232M和771M的模型,在Hugging Face上以宽松的MIT许可证下提供,允许无限制地进行商业使用或私人使用的分发和修改。
有趣的是看到开发人员如何使用它,并减少为不同任务使用单独的视觉模型的需求。小而任务无关的模型不仅可以节省开发人员使用不同模型的需要,还可以大幅减少计算成本。
译自(有删改):https://venturebeat.com/ai/microsoft-drops-florence-2-a-unified-model-to-handle-a-variety-of-vision-tasks/
本文转载自公众号AIGC最前线
原文链接:https://mp.weixin.qq.com/s/b4pNiasFGyvqz813wYzCcw