Florence-2模型在多种视觉任务中展现了卓越的零样本和微调能力,例如图像描述、目标检测、定位和分割。尽管模型体积小巧,但其性能却能与比它大数倍的模型,如Kosmos-2相媲美。Florence-2的优势并不在于复杂的架构,而在于其背后庞大的FLD-5B数据集,该数据集包含了1.26亿张图片和54亿条全面的视觉标注。
可以通过HF Space或Google Colab尝试使用Florence-2模型。视觉任务在空间层次结构和语义粒度上各不相同。例如,实例分割提供了关于图像中对象位置的详细信息,但缺乏语义信息。另一方面,图像描述允许更深入地理解对象之间的关系,但并不涉及它们实际的位置。
Florence-2的决定不训练一系列能够执行单个任务的独立模型,而是统一它们的表示,并训练一个能够执行10多项任务的单一模型。但这需要一个新的数据集。目前,尚无大型统一数据集可用。现有的大规模数据集仅涵盖了单个图像的有限任务。用于训练Segment Anything(SAM)的SA-1B数据集仅包含掩码。尽管COCO支持更广泛的任务,但其规模相对较小。
为了构建统一的数据集,决定使用现有的专业模型自动化标注过程。这导致了FLD-5B数据集的创建,该数据集包含1.26亿张图片和50亿条标注,包括框、掩码以及不同粒度级别的各种标题。值得注意的是,该数据集不包含任何新图片;所有图片原本都属于其他计算机视觉数据集。FLD-5B尚未公开可用,但在CVPR 2024上宣布了其即将发布。
Florence-2模型接受图片和任务提示作为输入,以文本格式生成所需的结果。它使用DaViT视觉编码器将图片转换为视觉标记嵌入。然后,这些嵌入与BERT生成的文本嵌入连接,并由基于变换器的多模态编码器-解码器处理以生成响应。对于特定区域的任务,代表量化坐标的位置标记被添加到分词器的词汇表中。
Florence-2比其前身更小、更准确。Florence-2系列包括两个模型:Florence-2-base和Florence-2-large,分别拥有2.3亿和7.7亿参数。这种规模允许其甚至在移动设备上部署。尽管体积小巧,Florence-2在所有基准测试中的零样本结果都优于拥有16亿参数的Kosmos-2。
虽然Florence-2理论上可以在CPU上运行,但建议在GPU上运行Florence-2。如果在CPU设备上运行Florence-2,预计推理将需要几秒钟。相比之下,如果在NVIDIA T4上运行Florence-2,预计每张图片的推理时间约为1秒。