智源BGE向量模型再升级:代码、多模态检索全面领先,并开放使用

智源发布BGE系列代码、多模态、可视化文档向量模型,全面登顶SOTA!代码检索、图文匹配、文档分析,AI检索能力再升级!

原文标题:代码、多模态检索全面登顶SOTA!智源BGE向量模型三连击,并全面开放

原文作者:机器之心

冷月清谈:

智源研究院联合多所高校发布了BGE系列的三款全新向量模型:BGE-Code-v1、BGE-VL-v1.5和BGE-VL-Screenshot,分别针对代码、通用多模态及可视化文档检索进行了优化。这些模型在CoIR、Code-RAG、MMEB、MVRB等多个权威基准测试中均取得领先地位。BGE-Code-v1基于Qwen2.5-Coder-1.5B,提升了代码理解能力,适用于代码库检索等场景;BGE-VL-v1.5基于LLaVA-1.6,强化了图文理解与检索能力,适用于图文匹配等多模态场景;BGE-VL-Screenshot则专注于处理网页、文档等多元素混合数据,并在MVRB基准测试中表现出色。这三款模型均已向社区开放,旨在为检索增强技术在代码和多模态领域的应用提供更强大的支持。

怜星夜思:

1、BGE-Code-v1模型在代码检索方面表现出色,那么在实际开发中,你认为它能解决哪些痛点?除了文章中提到的,还有哪些应用场景值得探索?
2、BGE-VL-v1.5在多模态检索方面有很强的通用性,那么在实际应用中,如何根据不同的场景选择合适的训练数据,以进一步提升模型的性能?
3、BGE-VL-Screenshot模型专注于可视化文档的检索,那么在信息安全领域,它有哪些潜在的应用?例如,如何利用它来检测钓鱼网站或恶意文档?

原文内容

机器之心发布

机器之心编辑部


检索增强技术在代码及多模态场景中的发挥着重要作用,而向量模型是检索增强体系中的重要组成部分。针对这一需求,近日,智源研究院联合多所高校研发了三款向量模型,包括代码向量模型 BGE-Code-v1,多模态向量模型 BGE-VL-v1.5 以及视觉化文档向量模型 BGE-VL-Screenshot。这些模型取得了代码及多模态检索的最佳效果,并以较大优势登顶 CoIR、Code-RAG、MMEB、MVRB 等领域内主要测试基准。BGE 自 2023 年 8 月发布以来,已成为中国首个登顶 Hugging Face 榜首的国产 AI 模型以及 2023 年所有发布模型的全球下载量冠军。



目前,BGE-Code-v1、BGE-VL-v1.5、BGE-VL-Screenshot 三款模型已向社区全面开放,为相关技术研究与产业应用提供助力。


BGE-Code-v1:


  • 模型地址:https://huggingface.co/BAAI/bge-code-v1

  • 项目主页:https://github.com/FlagOpen/FlagEmbedding/tree/master/research/BGE_Coder

  • 论文链接:https://arxiv.org/abs/2505.12697


BGE-VL-v1.5:


  • 模型地址:https://huggingface.co/BAAI/BGE-VL-v1.5-zs

  • 项目主页:https://github.com/FlagOpen/FlagEmbedding/tree/master/research/BGE_VL

  • 论文链接:https://arxiv.org/abs/2412.14475


BGE-VL-Screenshot:


  • 模型地址:https://huggingface.co/BAAI/BGE-VL-Screenshot

  • 项目主页:https://github.com/FlagOpen/FlagEmbedding/tree/master/research/BGE_VL_Screenshot

  • 论文链接:https://arxiv.org/abs/2502.11431



由智源研究院主导研发的通用向量模型系列 BGE,旨在为各类数据提供高效一站式向量表征与语义检索方案,已推出覆盖中英文、多语言检索及重排模型等多个版本,持续刷新 MTEB、C-MTEB、BEIR、MIRACL 等主流文本向量评测基准。BGE 凭借高性能与开源特性备受业界关注,已广泛应用于 RAG、神经搜索等场景,累计下载超 6 亿次,被国内外多家 AI 企业集成。


目前,检索增强技术正从传统的文本场景逐步拓展至涵盖代码与视觉等多模态数据的应用。然而,相较于文本领域,现有向量模型在代码和视觉模态中的检索效果仍有待提升。此次智源研究院发布的三款新模型,为构建更强大的多模态检索增强系统提供了有力的支持。


BGE-Code-v1

新一代代码优化语义向量模型



随着基础模型代码能力快速发展,Cursor、Copilot 等辅助编程工具大幅提升生产力。在面对百万行级代码库时,代码块检索增强需求凸显,因此检索模型的代码理解能力至关重要。


BGE-Code-v1 是以 Qwen2.5-Coder-1.5B 为基座打造的新一代代码向量模型,专为各类代码检索相关任务而设计,同时配备了强大的多语言文本理解能力。模型基于 CoIR 训练集和大量高质量代码 - 文本的合成数据进行训练,并使用课程学习,以 BGE-gemma2-multilingual 的 retrieval、STS 数据为辅助,进一步提升代码与文本的理解能力。BGE-Code-v1 适用于开发文档搜索、代码库语义检索、跨语言信息获取等多种实际应用场景,是面向代码 - 文本检索任务的最优选择。



CoIR 代码检索基准,收集了覆盖 14 种编程语言的 4 大类 8 个子任务,能够有效地评估模型在自然语言和代码的各类混合场景中的检索能力。CodeRAG-Bench 基准评估了代码检索模型在代码检索增强(RACG)中的表现。BGE-Code-v1 在两个基准上均以显著优势超越谷歌、Voyage AI、Salesforce、Jina 等商业 / 开源模型,登顶 SOTA


BGE-VL-v1.5

通用多模态检索模型


图片

BGE-VL-v1.5 完成多模态检索任务


BGE-VL-v1.5 是基于 LLaVA-1.6(7.57B 参数)训练的新一代通用多模态检索模型,全面升级了图文理解能力并具有更强大的检索能力。BGE-VL-v1.5 在 MagePairs 300 万 (3M) 图文对齐数据基础上又收集了共 100 万条自然与合成数据(涵盖 image-captioning 数据、视觉问答数据、分类任务数据)进行多任务训练,显著地提升了模型在各类任务上的泛化性与理解能力。


基于 MegaPairs 数据,BGE-VL-v1.5 在多模态检索任务中性能优势显著,不仅在图像检索中表现强劲,更在通用多模态场景中展现高适应性与准确率,适用于图文匹配、多模态问答、跨模态推荐等场景。


左为 BGE-VL-v1.5-zs 和其他 zero-shot 模型在MMEB上的表现,右为 BGE-VL-v1.5-MMEB 在 MMEB 基准检索任务上的表现


MMEB 是当前使用最广泛的多模态向量基准,由:分类、视觉问答、检索、视觉基础知识,四类任务构成。基于 zero-shot 设置(未使用 MMEB 训练集),BGE-VL-v1.5-zs 在 MMEB 基准中刷新 zero-shot 模型最佳表现;在检索任务上,基于 MMEB 微调的 BGE-VL-v1.5-MMEB 以 72.16 分登顶 SOTA。


BGE-VL-Screenshot

实用强大的视觉化文档向量模型


实际场景中网页、文档等多模态任务常由图文、符号、图表等多元素混合数据构成,这类任务称为 “可视化信息检索”(Vis-IR),因此,多模态模型不仅需要具备从复杂结构中提取关键信息的视觉能力,还需精准理解文本与视觉语义。目前,现有检索模型在此类任务中表现欠佳。


图片

BGE-VL-Sc 基于截图与文本检索


BGE-VL-Screenshot 模型基于 Qwen2.5-VL-3B-Instruct ,以新闻、商品、论文、文档、项目主页等七类数据源进行训练,收集超过 1300 万张截图和 700 万组标注截图问答样本。


为了准确评估模型在 Vis-IR 任务上的表现,团队设计并推出了多模态检索基准 MVRB (Massive Visualized IR Benchmark,榜单链接:https://huggingface.co/spaces/BAAI/MVRB_leaderboard),涵盖截图检索、复合截图检索、截图 QA 和开放分类 4 项任务共 20 个数据集。


左为多语言 MVRB 测评结果,右为不同尺寸多模态检索模型 MVRB 评测结果对比


BGE-VL-Screenshot 在 4 项任务中表现出色,以 60.61 的综合得分达到 SOTA。在此基础上,通过少量 query2screenshot 多语言数据训练,模型实现了在英文之外的多语言任务上的出色表现。


智源研究院将继续深耕向量模型与检索增强技术,进一步提升 BGE 模型系列的能力与通用性。未来期待与更多科研机构与产业伙伴合作,共同推动检索与人工智能发展。欢迎广大研究者与开发者关注并使用 BGE 系列模型,共建开放繁荣的开源生态。


© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com

从学术的角度来看,BGE-Code-v1 在代码检索上的突破,核心在于其对代码语义的理解能力。传统方法往往依赖于关键词匹配或简单的语法结构分析,而忽略了代码的本质——解决问题的逻辑。BGE-Code-v1 通过深度学习技术,能够将代码转化为向量表示,从而在向量空间中进行相似度计算,实现更精准的语义检索。

除了已知的应用场景,我认为 BGE-Code-v1 在软件架构设计中也能发挥作用。例如,它可以用于快速检索现有的设计模式或软件组件,帮助架构师更好地进行系统设计和模块划分。此外,在安全领域,BGE-Code-v1 还可以用于检测代码中的安全漏洞,例如通过检索已知的漏洞模式,来发现潜在的安全风险。

总的来说,BGE-Code-v1 的出现为代码检索和理解带来了新的可能性,值得我们深入研究和探索。

针对您提出的问题,我尝试从一个更偏工程化的角度来分析。数据选择并非一蹴而就,而是一个迭代优化的过程。首先,我们需要对目标场景进行深入的需求分析,明确模型需要具备哪些能力。例如,在智能客服场景中,模型需要能够理解用户通过图片表达的诉求,因此需要大量包含用户真实提问的图文对数据。

其次,构建初始数据集。可以从公开数据集、自有数据以及合作方数据等多个渠道收集数据。同时,需要对数据进行清洗和预处理,例如去除重复数据、纠正错误标注等。

然后,进行模型训练和评估。通过观察模型在验证集上的表现,分析模型存在的不足。例如,如果模型在处理特定类型的图片时效果不佳,可以考虑增加该类型图片的训练数据。

最后,持续优化数据集。可以通过数据增强、数据挖掘等方式,不断扩充和优化数据集,从而提升模型的性能。

此外,主动学习也是一个值得考虑的方法。通过主动选择模型认为最有价值的数据进行标注,可以以更小的代价获得更大的性能提升。

我觉着这玩意儿如果能跟一些IDE集成就好了,这样写代码的时候遇到问题直接自然语言提问,就能搜到相关的代码片段,省的到处去找了,效率肯定能提高不少!

在信息安全领域,BGE-VL-Screenshot 的应用潜力确实不可小觑。从技术层面分析,其核心优势在于能够将视觉信息和文本信息进行融合,从而实现对文档内容的全面理解。这为检测钓鱼网站和恶意文档提供了新的思路。

检测钓鱼网站:传统的钓鱼网站检测方法主要依赖于黑名单、URL 特征和网页内容分析。然而,攻击者可以通过使用图片来隐藏恶意链接或代码,绕过这些检测方法。BGE-VL-Screenshot 可以通过分析网页截图中的视觉元素,例如 Logo、按钮、排版等,来识别钓鱼网站。此外,还可以结合 OCR 技术,提取截图中的文本信息,进一步提高检测的准确性。

检测恶意文档:恶意文档通常包含恶意代码或宏。BGE-VL-Screenshot 可以通过分析文档截图中的代码片段和宏代码,来识别恶意文档。此外,还可以结合反病毒引擎,对文档进行扫描,从而发现潜在的威胁。

当然,BGE-VL-Screenshot 在信息安全领域的应用还面临一些挑战。例如,攻击者可能会通过修改图片或文档内容,来欺骗模型。因此,需要不断更新和优化模型,提高其鲁棒性和抗攻击能力。

数据选择是个关键问题!我觉得要针对具体场景进行分析。比如,如果是电商场景,可以多用商品图片和描述数据来训练;如果是新闻场景,可以多用新闻图片和标题数据来训练。

另外,数据质量也很重要。要尽量选择清晰、标注准确的数据。如果数据质量不高,反而会影响模型的性能。

还有一点,可以考虑使用一些合成数据。比如,用GAN生成一些图片,然后用自然语言描述这些图片,这样可以扩充数据集,提高模型的泛化能力。

要我说啊,直接给网警叔叔安排上,每天自动扫描全网的网站截图,遇到可疑的就报警,让那些搞诈骗的无处遁形!这才是科技向善的正确打开方式!

这个问题问得好!我觉得BGE-Code-v1最大的优势在于它能理解代码的语义,而不仅仅是字面上的匹配。这就能解决开发中常见的“搜出来的代码不是我想要的”问题。比如,你想找一个处理JSON数据的函数,用传统搜索可能搜出一堆无关代码,但BGE-Code-v1能理解你的意图,找到真正能用的函数。

除了文章里说的,我觉得它还能用在代码质量检测上。比如,用自然语言描述一段代码的功能,然后用BGE-Code-v1去检索代码库,看有没有功能相似但实现质量更高的代码。这就能帮助开发者发现潜在的bug或者性能瓶颈。

另外,我觉得在教育领域也有潜力。比如,学生用自然语言描述一个算法,然后用BGE-Code-v1去检索代码示例,这能帮助他们更好地理解算法的实现。

嘿嘿,我觉得吧,可以搞个“数据盲盒”,用户上传图片和描述,模型猜这是啥,猜对了就奖励用户,猜错了就让用户帮忙标注。这样既能收集数据,又能增加用户粘性,一举两得!

这脑洞可以啊!BGE-VL-Screenshot能理解截图里的文本和图像,这在安全领域绝对有用武之地。

检测钓鱼网站:可以把钓鱼网站的截图和正常网站的截图都喂给模型,让它学习钓鱼网站的特征。以后遇到新的网站,截个图给模型看看,它要是觉得像钓鱼网站,就发出警报。

检测恶意文档:恶意文档里经常藏着一些恶意代码或者图片。BGE-VL-Screenshot可以识别这些东西,然后跟已知的恶意代码库或者图片库进行对比,看看是不是有匹配的。

另外,我觉得它还能用在防伪上。比如,可以把商品的真品截图和假货截图都喂给模型,让它学习真品的特征。以后用户买东西的时候,截个图给模型看看,它要是觉得像假货,就提醒用户注意。