斯坦福 ai 团队,竟然曝出了抄袭事件,而且抄袭的还是中国国产的大模型成果 —— 模型结构和代码,几乎一模一样!跟任何抄袭事故一样……ai 圈内都惊呆了。
斯坦福的这项研究叫做 llama3-v,是于 5 月 29 日新鲜发布,宣称只需要 500 美元就能训出一个 sota 多模态大模型,比 gpt-4v、gemini ultra、claude opus 都强。
llama3-v 的 3 位作者或许是拥有名校头衔加持,又有特斯拉、spacex 的大厂相关背景,这个项目短短几天就受到了不小的关注。
甚至一度冲上了 huggingface 趋势榜首页:
然而,戏剧性的一幕开始上演了。
有位细心的网友发现,咦?这“配方”怎么如此的熟悉?
然后他定睛一看,好家伙,这不就是 minicpm-llama3-v 2.5(出自清华系明星创业公司面壁智能)嘛。
于是这位网友便跑到面壁智能 github 项目下开始爆料了:
你们家大模型被斯坦福团队抄袭了!
并且他还附上了一堆的证据,最直接的莫过于这张 2 个模型代码的对比图了:
emmm…… 用这位网友的话来说就是:
模型结构、代码、配置文件,简直一模一样,只是变量名变了而已。
至于为什么这位网友要跑到面壁智能 github 项目下面留言,是因为他之前已经给 llama3-v 作者留过言了,但斯坦福团队的做法竟是删库跑路……
没错,现在不论是 github 还是 huggingface,统统都是 404:
并且这事现在还在持续发酵的过程中,网上吃瓜的群众也是越来越多。
那么我先来一同回顾一下这件 drama 事情的始末。
“代码和架构一模一样”
正如刚才所述,一个网友爆料 llama3-v 抄袭 minicpm-llama3-v 2.5,跑到面壁智能的 github 主页提醒团队注意,并把关键证据都一一截图列举整理了下来,这才有了整个抄袭门的还原现场。
以下是来自这位网友的证据。
证据一,llama3-v 的模型架构和代码与 minicpm-llama3-v 2.5 几乎完全相同:
看下面的例子,配置文件就改了图像切片、分词器、重采样器和数据加载等格式化和变量名:
llama3-v 作者表示参考了 llava-uhd 架构,在 vit 和 llm 等选择上有一些差异。但实际上,网友发现他们的具体实现在空间模式等很多方面都与 llava-uhd 不同,却出奇与 minicpm-llama3-v 2.5 一致。
甚至,llama3-v 还用了 minicpm-llama3-v 2.5 的分词器,连 minicpm-llama3-v 2.5 定义的特殊符号都能“巧合”实属离谱。
证据二,网友质疑 llama3-v 作者是如何在 minicpm-llama3-v2.5 项目发布之前就使用上 minicpm-llama3-v2.5 分词器的。
llama3-v 作者给的回复是这样婶儿的,说是用的面壁智能上一代 minicpm-v-2 项目的:
但事实却是,huggingface 中,minicpm-v2 与 minicpm-llama3-v 2.5 分词器分别是两个文件,文件大小也完全不同。
minicpm-llama3-v 2.5 的分词器是用 llama3 分词器加上 minicpm-v 系列模型的特殊 token 组成,而 minicpm-v2 的发布都在 llama3 开源之前,怎么会有 llama3 分词器。
证据三,llama3-v 作者随后无故删除了网友在 llama3-v 页面上提交的质疑他们抄袭的问题。
而且,他们似乎对 minicpm-llama3-v 2.5 架构或他们自己的代码都不完全了解。
感知器重采样器(perceiver resampler)是单层交叉注意力,而不是双层自注意力。但是下图所示 llama3-v 的技术博客里作者的理解很明显是错的。
siglip 的 sigmoid 激活也不用于训练多模态大语言模型,而仅用于预训练 siglip。
视觉特征提取不需要 sigmoid 激活:
基于以上三点事实,这位网友认为证据足以证明 llama3-v 项目窃取了 minicpm-llama3-v 2.5 项目的学术成果。
但还没完,他随后又补充了两点证据。
几天前,当这位网友尝试运行 llama3-v 时,发现他们提供的代码无法与 huggingface 的 checkpoint 一起使用,反馈问题没有得到作者回复。
于是网友把从 huggingface 下载的 llama3-v 模型权重中的变量名改成了 minicpm-llama3-v 2.5 的,惊奇发现模型居然可以用 minicpm-v 代码成功运行。
此外,如果将高斯噪声(由单个标量参数化)添加到 minicpm-llama3-v 2.5 的 checkpoint,结果就是会得到一个行为与 llama3-v 极其相似的模型。
收到网友的提醒后,minicpm-llama3-v 2.5 团队这边也迅速展开了调查,他们按照网友的在 github 上的说明,使用 llama3-v 的 checkpoint 和 minicpm-llama3-v 2.5 的代码和配置文件正确获取了推理结果。
于是,一个更为关键性的证据出现了。
llama3-v 在一些未公开的实验性特征上表现出与 minicpm-llama3-v 2.5 高度相似的行为,而这些特征是根据 minicpm-llama3-v 2.5 团队内部数据训练的。
例如,识别清华简!
minicpm-llama3-v 2.5 特有的功能之一是识别清华简,这是一种非常罕见、于战国时期写在竹子上的中国古代文字。
训练图像是从最近出土的文物中扫描出来的,由 minicpm-llama3-v 2.5 团队进行了标注,尚未公开发布。
而 llama3-v 的识别情况和 minicpm-llama3-v 2.5 极为相似。
识别错误的情况竟也出奇一致:
minicpm-llama3-v 2.5 团队还在 1000 张竹简图像上测试了几种基于 llama3 的视觉-语言模型,并比较了每对模型的预测精确匹配。
结果,每两个模型之间的重叠为零,而 llama3-v 和 minicpm-llama3-v 2.5 之间的 && 重叠达到了惊人的 87%**。
此外,minicpm-llama3-v 2.5 和 llama3-v 甚至具有相似的错误分布。llama3-v 和 minicpm-llama3-v 2.5 分别做出 236 和 194 个错误预测,重叠部分为 182 个。
且按照网友在 github 上的指令获得的 minicpm-llama3-v2.5-noisy 显示出与 llama3-v 几乎相同的定量结果,真令人匪夷所思……
在另一个 minicpm-llama3-v 2.5 内部数据上训练的未公开功能 ——webagent 上,也出现了同样的情况。
llama3-v 甚至和 minicpm-llama3-v 2.5 团队新定义的 webagent 模式中犯的错误都一样。
鉴于这些结果,minicpm-llama3-v 2.5 团队表示很难将这种不寻常的相似性解释为巧合,希望 llama3-v 作者能对这个问题给出一个正式的解释。
斯坦福团队已删库跑路
虽然斯坦福的 2 位本科生已经下架了几乎所有与之相关的项目,但其实在此之前,他们最初在面对质疑的时候还是做出了些许的解释。
例如他们强调,llama3-v 这项工作的时间是要早于面壁智能的 minicpm,只是使用了他们的 tokenizer。
不过作者对 medium 上的声明还是做了保留:
非常感谢那些在评论中指出与之前研究相似之处的人。
我们意识到我们的架构非常类似于 openbmb 的“minicpm-llama3-v 2.5,他们在实现上比我们抢先一步。
我们已经删除了关于作者的原始模型。
对此,一部分网友表示,既然选择删掉项目,那么就表示确实存在一定的问题。
不过另一方面,对于抄袭这事也有不一样的声音 ——
minicpm-llama3-v 2.5 不也是在 llama3 的基础上做的改良吗?不过连 tokenizer 都直接拿来用就应该不算是借鉴了。
而就在刚刚,另一个戏剧性的事情发生了。
斯坦福的作者在中午时间做出了最新的回应:
但现在…… 这条回应又删掉了。
而面壁智能这边,ceo 李大海也做出了正式回应:
参考链接:
[1]https://github.com/openbmb/minicpm-v/issues/196
[2]https://github.com/mustafaaljadery/llama3-v
[3]https://www.reddit.com/r/localllama/comments/1d6f1f3/llama3-v_project_is_stealing_a_lot_of_academic/
[4]https://www.reddit.com/r/localllama/comments/1d6f1f3/llama3-v_project_is_stealing_a_lot_of_academic/?rdt=41696&onetap_auto=true&one_tap=true
[5]https://aksh-garg.medium.com/llama-3v-building-an-open-source-gpt-4v-competitor-in-under-500-7dd8f1f6c9ee
发表评论