华为盘古大模型陷入通义千问抄袭风波,为何遵守了开源协议却依然被骂?当“遥遥领先”的民族自豪感遭遇“瓜田李下”的尴尬现实。
7 月 07
AIGC, 华为很厉害 AI伦理, AI大模型, AI抄袭, Apache 2.0, GitHub事件, honest AGI, Hugging Face, Llama 3.1, LLaMA-fingerprint, LLM, Meta, OpenAI, POWERED by盘古, PyTorch, 人工智能, 企业公关危机, 华为, 品牌形象, 增量训练, 大模型套壳, 大模型抄袭, 大模型指纹算法, 大语言模型, 字节跳动, 开源, 开源争议, 开源协议, 开源文化, 归属声明, 抄袭指控, 昇腾芯片, 模型相似度, 欧盟禁用条款, 民族主义情绪, 注意力机制, 混合专家模型(MOE), 版权声明, 瓜田李下, 盘古大模型, 盘古开源协议, 科技伦理, 科技公司纠纷, 科技评论, 老范讲故事, 自主研发, 舆论战, 英伟达芯片, 观点分析, 许可证, 豆包, 辟谣, 通义千问, 遥遥领先, 闭源, 阿里巴巴 华为盘古大模型陷入通义千问抄袭风波,为何遵守了开源协议却依然被骂?当“遥遥领先”的民族自豪感遭遇“瓜田李下”的尴尬现实。已关闭评论
华为开源了盘古大模型,被指抄袭。华为到底冤不冤呢?
大家好,欢迎收听老范讲故事的YouTube频道。华为开源了他的盘古大模型,它的模型呢,反正依然是山海经风格的起名。原来呢,没有开源,都是说我们内部开发内部使用,或者说我们专门供政府和大企业来使用。但是现在发现开源这条路不错,那我也开源吧。结果开源了以后就出事了。
它是6月30号在GitHub上就直接开源了,号称呢是在升腾芯片上训练出来的大模型。以前呢,我们的大模型大多是在英伟达芯片上训练,但是呢可以在升腾的芯片上去做推理。现在说,我直接在升腾芯片上做训练,也算是一种小的突破吧。
他呢,其实发了两个模型:一个是72B的MOE的模型,就是混合专家模型;然后呢,有一个70B的稠密模型。做呢做完了,但是准备开源还需要准备一段时间。开源这件事,不是说你做完了,把它扔出来就完了,还是有很大的工作量需要干的。比如说你要去写开源手册、许可证,这个还不是那么容易,还在做。
发出来以后呢就被质疑了。有一个叫honest AGI的账号,他在GitHub上发了一个项目,说我用这个LIM fingerprint这种方式呢进行了验证,就是叫大模型指纹的一种算法吧。它的验证是什么呢?它叫关注度的一个模型相似度吧。就是什么呢?就是说我每一次进入一个模型去提问题的时候,模型是分很多层的。在每一个层里边去响应问题的时候,基本上有四个指标:一个呢是问题question,一个呢是key,一个是value。
因为大模型里头都是先给出了问题,然后呢看看你到底是拿到了哪一个关键的key(关键钥匙),以及这个钥匙所对应的值,也就是value。还有一个呢就是它output是什么,输出了什么。就是你的问题进入到每一个层级的Transformer的这个模型里头去,你就会形成这样的四个指标。形成的向量就是问题是什么,key是什么,value是什么,输出是什么。
它把这些跟注意力相关的指标呢形成了一个指纹进行比对。指纹这种东西不要对着自己手看,跟这没关系。稍微讲一个形象点的意思:很多人都知道计算机可以做人脸识别。我们在人脸识别的时候,化个妆是不是认不出来了?不是的。计算机做人脸识别的时候,也是对人脸进行了指纹抽取。他怎么干的呢?他其实比对的是人脸上面的这个眉毛、鼻子、眼睛、嘴之间的比例和角度。为什么这么做呢?因为计算机没法判断说,我哪一次做人脸识别的时候……
你到底是正脸拍的,侧脸拍的,是拍多远多近?所以他都是先要使量化。然后呢,把你整个的眉毛、鼻子、眼睛、嘴变成一个比例和角度的简单模型。最后,只要是符合这个比例和角度的,就是你。你比如说我戴个眼镜,或者是在身上画一点别的妆容,它其实是不会影响人脸识别的。
在什么情况下,人脸识别会不准呢?就是一个小孩从小长大的这个过程中,如果没有中间过程的话,他就认不出来了。因为你这个比例变化了,人小孩长开了嘛,这个是不认得的。其他的一般都不会发生认错的情况。
所以呢,大家基本上可以理解说,从大模型的每一层进入的过程中,它的这个问题,key、value和输出,每层都算出来以后,形成了一个指纹进行比对。然后发现呢,盘古大模型所得到的这个注意力模型呢,跟千问2.5 14B高度一致。正常的两个独立训练的模型呢,这种相关性的话应该在0.7以下,这到头了就是完全一样就是1,完全不一样是0。所以正常的两个完全不相关的应该在0.7以下。
但是呢,盘古72B MOE的这个模型呢,跟通义千问的2.5 14B的这个模型,相关度达到了0.927,基本上就认为是一样的。他为了说明说你看我这个算法是准的,还把Llama3.1的这个也拿出来算了一下,说你看确实差的很远。但是呢,用他这个算法去算,比如说国内的其他一些模型的跟千问2.5 14B,也有一些到0零点八几的,也都比较像。好像百川的一些模型也很像。所以呢,也没有那么准吧。但是0.927这个事呢,确实是有点过分了。不能说这个一模一样吧,稍微有一些差别。但是呢,你穿了马甲我还是认识你的,大概就是这样的一个程度。
于是呢,大家开始质疑盘古大模型是不是在千问2.5 14B的基础上做的增量训练呢?我在你原来已经训练好的模型上,我再加一堆数据,咱们再训一遍,是不是这样得出来的一个东西?华为呢就赶快出来辟谣,说第一个你这个测试方法呀并不科学。fingerprint这个方法呢,其实存在了一段时间了。但是呢,使用这种方法直接用数值去进行模型比对出结果的这种方式呢,应该是honest AGI是第一次来使用。具体测试方法呢,其实并没有完全公开。你不公开这个方法的话,你就没法复现这个事。因为一旦是被人指责说你抄袭了,那我看看你怎么说我抄袭了,我得用你这个实验方法重新再试一次。他这个没有,所以大家也没法去反击他,说你看你这数算错了还是怎么样,这个也比较讨厌。这个盘古大模型呢。
确实是使用了开源代码,同时呢,也遵守了开源协议和开源相关的规范吧。而且呢,也进行了注明,只是注明的位置不是特别显眼。没有说上来就先讲说:“我是千问2.5 14B的一个分支的模型”,或者说:“我的基础是千问2.5 14B,我在这个基础上又做了哪些动作呀。”这个都没写。他呢,只是在一个说明文档里头的一些其他license里边标注了一下,说我这里用了千问的一些东西,而且它是归阿里巴巴集团的。而且这个标注呢,是在6月30号盘古大模型发布仓库的时候就已经发上去了。在7月4号被质疑之后稍微补充了一下,但是没有大改。并不是说被质疑了以后赶快去补这个,东西原来也写了。补的呢,也就是说我确实用了,也没有具体写清楚我到底怎么用的,或者用的这个千问的代码用的哪一部分,他也没写,只是说我确实用它了。
千问2.5的模型使用的是一个什么样的许可证呢?你用了他的模型,到底算不算抄袭呢?千问2.5的许可证是比较奇怪的。他3B的许可证不一样,他用的叫千问研究协议。所谓研究协议是什么?就只能用于研究,不能拿这玩意商用。这个是千问2.5 3B。千问2.5 72B的这个最大的这个模型呢,它的许可证也是不一样的,它是一个千问的商用协议。你如果拿它进行商业使用的话,需要到千问那边去重新申请授权去。但是中间这些像14B、32B一些模型呢,使用的就直接是Apache 2.0的协议。这个是一个大家普遍使用的很宽松的开源协议。这个协议怎么规定呢?就允许用户自由的使用、复制、修改、分发软件,包括用于商业目的,而无需向原作者或版权方通知或获取额外的许可。随便使不算抄袭,必须保留原作品的版权声明、许可证等相关信息。就是你用了以后,没事,你也不用告诉我,但是呢,你要在你的这个版权说明里你要说一声我用了。大概就是这样。
盘古呢,也确实说了说我用了,只是说的地方呢,稍微犄角旮旯一点吧。也算是符合规范,但是具体怎么用的,用了哪部分,你并不需要明确的去说这件事情。这就是Apache2.0的许可证的一个要求。盘古呢,也确实符合这个要求了。那华为自己的盘古开源大模型走的是什么开源协议?有没有人好奇这件事?他走的叫盘古开源协议。这种开源协议的事呢,有些人说我用GPL,有些人说我用Apache,或者用一些其他的,这个就属于是比较公共的一些协议。还有一些人呢说,干脆我写一些自己的。千问2.5的这个3B,千问2.5的72B。
都是千问自己写的协议,在原来的Apache 2.0的基础上改一改。盘古呢,也是自己写了一个。他呢,协议是这样写的:就是全球永久免版税、非排他,但不得转让、没有再授权。Apache2.0的模型呢,是允许再授权的。就是你拿了我的软件来了以后,你可以拿我的软件再授权给别人,再接着使去。但是盘古呢是不允许的,就是你可以用,但是呢,你不能够再授权给别人了。
盘古模型的是允许复制、修改、分发和商用,这都没问题,跟Apache2.0是一样的。允许闭源改名发布,但是需要保留协议与版权声明。这一块呢,是跟Apache2.0的稍微有一点点小差别。是什么呢?就是你发布了产品以后,上面要写上“POWERED by盘古”。盘古那个里头也写的“POWERED by千问”了,这都有。但是呢,盘古要求有强制性的商标声明,就是你必须写。而这个Apache2.0的里头是不强制的,你可以写,也可以说我不把这个商标给你露出来,都是可以的,没有那么严格。
盘古的开源系列里头还玩了个小花活,跟Apache2.0最大的差异在哪?它有地域排除。Apache 2.0就是你只要是符合这个协议的,你愿意在哪使在哪使,没关系的。但是盘古开源协里头明确规定了,禁止在欧盟境内以任何形式接触和使用哈。你不能在欧盟去部署盘古的模型,也不允许在欧盟去部署任何从盘古衍生出来的模型,或者用到盘古代码的任何产品,你都不能到欧盟境内去部署。这个是比较奇葩的一个点吧,不知道欧盟怎么跟华为之间有这样纠结吧。
这个盘古模型里头,还有一些典型的叫“按现状免责声明”,对于华为的免责和侵权赔偿条款。就是说我这东西就这样了,你不能说你拿了我的模型去以后再去发生点什么事,你找我追责这事不行。这个在Apache里也有。然后呢,是不授予商标,但是呢强制展示商标和归属。Apache呢也是不授予商标,但是没有强制展示的要求。这个什么意思呢?你不能说我用了盘古大模型了,然后你就出来说,我这是华为的东西,这事是不允许的。Apache的协议也是这么规定的。你比如说我今天用了千问的哪个模型了,然后出来说我跟阿里有什么什么关系,这都不允许出去说去。但是这样盘古就是多一条,你必须要强制的去展示商标及归属。
盘古协议并没有声明说我是从Apache 2.0协议里改出来的。其实呢,它是在Apache2.0宽松可闭源、再分发的框架下,额外增加了欧盟禁用、商标展示和不可转让这三项。讲到这儿呢。
咱们再想想说这个点,他这炮的人到底是谁呢?这个honest AGI到底是谁呢?这哥们也很神奇。他呢,突然在7月4号在GitHub上就发布了一个仓库,这个上面写着说我做了什么实验。做完实验以后呢,我发现盘古72B MOE模型跟千问2.5 14B模型高度相关,疑似抄袭,就写了这样的一个东西出来。写完了以后呢,快速的就把仓库删了,就是我快速的登记上去,快速注册,快速上传仓库,然后快速删除,这事跟他没关系了。所以这人到底是谁不知道,但是这个信息呢,很快的就被有心人转载和传播了。
国内有些媒体的报道呢说,这是一位在哥斯达黎加大学上学的韩国留学生。我也到ChatGPT、Grok呀,Gemini呀上面去查询了一下,上面都写说没有一个实际的证据说这哥们是在哥斯达黎加上学的韩国留学生,也没有任何的公开信息证明这哥们到底是谁,或者是位女士吧,这些现在都不知道。我就在豆包上去问,为什么有国内的媒体报道这个honest AGI是一位在哥斯达黎加上大学的这个韩国留学生呢?豆包搜了半天,确实没有一个实际的证据。是有一些媒体呢,上面写的是他的这个GitHub上的仓库里边有文件做的自我介绍,上面写的说我是“在哥斯达黎加大学上学的韩国留学生”,但是现在呢,这个仓库已经被删掉了,所以呢,没有办法再去核对和确认了。
那华为到底算不算抄袭,或者是不是抄袭呢?总之吧,他的姿势不是很优雅,这个事咱们还是要说的。高度重合这件事呢,肯定是有原因的。这件事呢,不是说写个在引用里头说我引用了千问就完事了,或者你告诉人家说你这个测试方法不科学,我是从头训练的,这个事并不能这么简单的就解释的过去。你还是要去解释说到底是怎么回事的。但是这个对于华为来说就比较麻烦,因为人家上传仓库,然后删库跑人了,你没法复现这个。但是你完全可以自己找一些LRM大模型指纹的算法来去复现,但是到目前为止呢,华为官方并没有做这个事情,只是发了一个公告就完事了。
公告里头呢,写的是遵循了开源许可规范,但是更多的呢,还是强调自主研发的部分。这样的话至少不太礼貌吧,没有说清楚具体使用了开源系统中的哪一部分,以及如何使用的,这个才是遭到质疑的一个核心问题。你使千问的了,你也在这个版权声明里头也写了,我确实POWERED by千问是阿里巴巴集团的,但是我到底咋用的,我用了哪部分我没说,还高度重合,最后我符合协议完事了。
这个确实有点说不过去。质疑了之后呢,依然再去强调说我是自主研发的,这个就属于是越描越黑了。所以他的姿势肯定是不对的。
官方回复中,依然只是强调我遵守协议和规范了,没有提任何引用软件的名字。他没有说我引用了千问,在官方回复文件里头,就直接把这东西给漏掉了,只是说我符合规范了。这个就属于更加的感觉有些心虚的一个状态吧。
那为什么很多人会选择不相信华为呢?肯定还会有人相信华为说什么都是对的,但还是有很多人愿意不相信他。因为华为已经习惯了强调自己的自主创新、遥遥领先、民族主义。
任正非有一次提到过什么呢?就是华为自己在全世界都有研发中心,招了大量的海外科学家参与研发,包括他国内也有大量的外国人科学家在研发。但是呢,他说我们从来不宣传这件事,让你觉得我们这都是中国人自己做的,自主研发的,跟老外没关系。其实华为大量的技术都是由全世界的科学家一起去研发出来的,但是人家不说了。所以他有这样的一个宣传的习惯。
如果盘古大模型一上来就说,我在千问的基础上做了点什么,也不会有人说他什么。但是呢,他只是把千问的版权声明放在Pytorch引用的后边提了一嘴,那就很容易被人攻击了。Pytorch是梅塔开源出来的大模型驱动的一个框架吧。Pytorch他用了,说这是梅塔的;千问我也用了,后边还写了几个,还用了什么GPT的一些开源的项目。当然它叫GPT什么我忘了,不是OpenAI开的,只是这个名字叫GPT什么。还有hugging face的一些开源软件,我也都用了。我都按照这个Apache 2.0的要求,把人家的名字写上了。只是呢,写的位置呢,稍微犄角旮旯了一点点。
这次的事情呢,大概率是被人做局了。肯定有人发现了问题,发现问题之后呢,就冲上来狠狠砸了一锤子,砸完了以后就跑了。在别人看到仓库以后,转载了信息之后,快速把仓库删掉跑路了。从整个的动作来看呢,应该是做了这种有预谋、有计划、有组织的狙击活动。
华为的品牌受众呢,甭管是喜欢华为的,还是讨厌华为的吧,都比较二极管,或者说比较极端,没法接受开源软件引用的这样的一个中间状态。你对于这些特别喜欢华为的人来说,华为就得自主创新,怎么可能用别人的呢?甚至呢他觉得,如果我抄个谷歌的,抄个OpenAI的,我们还余有荣焉。一下你抄了个千问的,你要脸吗?会有这样的想法。
我记得当年小米的空气净化器抄了一个日本牌子,但是那牌子念起来很像印度品牌。
很多人在国内就传说:“小米,你要脸吗?你抄个印度品牌。”这个也确实是中国人的这种民族自豪感比较难以接受。另外一波人呢,其实也不太懂开源,但是那波人就是属于是“华为干什么都错的”。一看说:“华为,你抄的,我就知道你走到哪你都会抄。而且你看你在这个版权文件里还写了人家千问的名字了,最后你跟人长得一模一样,这实锤了,你就是抄的。”所以呢,华为的受众,甭管正面反面的,都很难接受这种中间状态。
有些事情呢,真的叫瓜田李下。中国自古以来讲的什么呢?在瓜田旁边不系鞋带,李子树底下别扶帽子,这个都属于叫有嫌疑的事情。华为干这个活呢,就属于叫瓜田李下。华为其实在中国的开源界里头一直还算是做的比较不错的,还算是守规矩的。只是呢,华为自己的宣传跟民众认知里头无法容忍开源这种模糊的地带。
应该怎么办呢?第一,我别在瓜田下走。我就算是在瓜田下走了,我也确实是提了鞋了,那怎么办呢?有一些人会选择说:“那我站起来的时候,甭管我原来手里拿没拿着瓜,我都放点钱下来,就算是避嫌了。”要么你说:“我就彻底不用也没毛病。”用了呢,你就大大方方的承认。或者说你原来比如说只用了一点点,你可以承认说:“我使用千问这部分呢,放在比较显眼的地方,让人看到说:‘我在这呢。’”就是说我在李子树底下扶帽子之前,我先举手:“我这帽子歪了,我要扶一下。”大家都看着,我这个帽子里头原来就有仨李子,不是从上头掉下来的。你可能要稍微说一下,就是变得更加的假道学一点点吧。
最终的结论是什么呢?就是华为自己呢,面对这种攻击是比较无力的。原来呢,他是开源这波人负责开源的事。在国内呢,负责愚民的这些人呢是另外一拨人,就是每天喊“遥遥领先”。但这些人是另外一拨人,这两拨人原来是不怎么打交道的。原来就算是有一点点小交集呢,华为内部这些负责开源的人也会选择说:“我只对对我不利的信息进行辟谣,对我有利的误传,我就听之任之了。”原来有人去传说华为要去做中文开发语言的时候,华为内部所有人都知道这是假的。但是呢,没有任何人出来辟谣,因为辟谣很累,没意思。
但是你到现在了,指责他抄袭了,你现在再想出来辟谣也没那么容易了。所以他这个攻击呢,甭管他怎么回应,原来不信的人还是不会信。而且他做的这个姿态呢,也不是特别好。这就是这一次华为被人指责盘古大模型抄袭千问2.5 14B的这个事情的前因后果。到底抄没抄?我估计还是用的过程中不是特别讲究,否则不会有这么大的重合度。
如果他这个完全无法复现的话,华为早就出来辟谣了,说:“你看,我自己也试了,压根不是这么回事,他测的就是错的。”而不是出来说你测试方法不科学就完事了。
好,这个故事就跟大家讲到这里。感谢大家收听,请帮忙点赞、点小铃铛,参加discord讨论群。也欢迎有兴趣、有能力的朋友加入我们的付费频道。再见。