乐于分享
好东西不私藏

端午节学习AI:大模型的开源与闭源

端午节学习AI:大模型的开源与闭源
导读:
啥是开源模型
啥是训练阶段、推理阶段
啥是知识蒸馏、模型盗版
人工智能模型,目前是指大语言模型,也就是已经有“智力”了的东西。
其中有一类叫开源的,其实并非完全公开透明,这只对“推理(使用)”阶段成立。如果你只想让它回答问题,确实装好就可以用。但如果你想“复制”再造这个智力(即重现这个过程),那就难了。
原因在于,开源的含义包括:

代码(骨架):通常开源,告诉你神经网络长什么样。

参数(肌肉):通常开源(即权重文件),是经过训练后“定型”的数值。

训练数据(诞生经历):绝大多数不开源(如DeepSeek等开源模型都不公开完整原始数据集)。也就是说开源模型并没有开源其“诞生”的详细过程。

为什么“没开源训练数据”导致“很难复制”?

如果你是一位顶级科学家,拿到了Meta开源的Llama 3全部参数和代码,但没拿到它训练用的15万亿个Token的原始数据。你想“复制”出一个一模一样的Llama 3,会面临三个无解难题:

配方黑洞(数据配比):大模型不是简单地把全网数据扔进去。Llama 3用了极其复杂的数据配比——比如70%的通用文本、20%的代码、5%的数学、5%的多语言。这个百分比小数点后的数字是各家公司的核心商业机密。配比差一点点,模型智商可能差一个档次。没给配方,你根本复刻不出同样的“智力结构”。

清洗流水线(数据提纯):原始互联网数据充满乱码、广告、色情和重复内容。各大厂花了数十亿美元构建数据清洗流水线(去重、安全过滤、质量评分)。他们开源了清洗后的结果(参数),但没开源清洗流程(代码和规则)。这就好比给了你一块冶炼好的高端钢材,但没告诉你矿石是怎么冶炼的,你想复刻这块钢,得从头摸索几万道工序。

随机种子的玄学:训练过程中有大量的随机初始化、Dropout(随机失活)和显存溢出时的梯度截断策略。这些“意外因素”被冻结在了参数里,但没有任何文档记录。哪怕给你一模一样的数据,只要初始化随机数不同,训练出来的模型能力也会有很大差异(这就是所谓的“大模型炼丹”)。

更深一层:开源协议的法律约束

即使你克服了技术难题,自己找数据训练出了一个一模一样的模型,法律上也复制不了。

大多数开源模型(如Llama、Qwen)使用的是社区许可协议,而非真正的“自由软件”协议。它们通常附带“可接受使用政策”,明确禁止“使用该模型的输出去训练其他模型”,或者禁止“逆向工程”。

所以,从法律上讲,你可以用这个“智力”,但你不能把它的“智力”抽出来,放到另一个瓶子里说是自己的。

既然数据不开源,参数开源的意义在哪?

在于“站在巨人肩膀上”。

对于普通用户:参数开源让你免去了数万张显卡和数千万美元的训练成本,直接获得智力,这是最大的实惠。

对于开发者:参数开源让你可以“微调(Fine-tuning)”。虽然我不知道它怎么学会的,但我可以在它已有的智力基础上,用我自己的几百条垂直领域数据,把它改造成法律顾问或医疗助手。这叫“迁移学习”——你不需要复制它的诞生成长过程,只需要给它上几天“专业课”。

如果你只是想雇佣这个超级大脑(拿来推理),那足够了。如果你想克隆这个大脑(完全复现),那没给这个大脑从小学到大学读过的所有书籍、看过的所有视频和做过的所有习题集(过程),确实不可能。如果你想培养这个大脑去干新活(微调),那不需要教材,只需要上“补习班”就行。

(完)

附:(1)大模型训练和推理

可以把训练看成学生的“学习阶段”,而推理则是学生的“考试/应用阶段”。

训练和推理,它们代表了同一个模型生命周期的两个不同阶段,有着截然不同的目标和计算模式。

这两个阶段的计算的区别对比:

训练的计算特征, 就是一个前向-反向-更新的迭代闭环。核心是计算图的可微性,需要存储大量中间状态用于梯度计算,因此是计算密集和内存密集的双重挑战。

推理阶段,模型已经完成了学习,其参数被固定下来。推理的目标就是简单直接地使用这个训练好的函数来处理新的输入。

其计算特征,是一个单向的、确定的计算过程。不需要反向传播,不需要存储梯度,也不需要优化器状态。这为优化提供了巨大的空间。

理解了训练和推理在计算原理上的区别,再看它们在算力需求和数据中心建设上的差异

总的来说,训练数据中心追求的是“算力极限”,是一个不惜成本打造的科学计算装置;而推理数据中心追求的是“服务规模和成本效益”,是一个需要精打细算、灵活伸缩的商业服务平台。 

这也是为什么许多云厂商会同时提供训练和推理两种服务,并且采用截然不同的架构和定价策略。

(2)知识蒸馏是啥?

可以把它想象成一位经验丰富的老教授(大模型),把他毕生所学,精炼成一套深入浅出的教材,教给一个聪明的本科生(小模型),最终让这个本科生也能解决和教授差不多水平的问题。

它的本质,其实是一种模型压缩和知识迁移的方法。知识蒸馏是为了优化或者说提升“推理”的能力。

知识蒸馏的精髓在于,让学生模型去学习教师模型的软标签(Soft Labels)。

教师模型输出的是一个概率分布。比如,对于一张猫的图片,教师模型可能输出:猫(90%)、狗(7%)、兔子(3%)。

这个概率分布里,包含了教师模型对事物之间“相似性”的理解。它告诉学生:“猫和狗比猫和兔子更像,因为它们都是宠物,都有四条腿。” 这相当于把教师模型庞大的“知识图谱”和“推理逻辑”蒸馏了出来。学生模型通过模仿这些概率分布,不仅能学会正确答案,还能学会教师模型的“思考方式”。

为什么要用蒸馏?

极致压缩,保留能力:这是最有效的模型压缩手段之一。一个拥有1750亿参数的GPT-3,通过蒸馏可以变成一个几十亿甚至几亿参数的小模型,但其性能可能达到原模型的90%以上。这对部署在手机、车载系统等边缘设备至关重要。

提升小模型的上限:如果直接用小模型去训练,它可能因为容量有限而“学不透”。但有了大模型这位“名师”指点,小模型能更快、更好地收敛,达到超过自身单独训练时的性能。

隐私保护和知识整合:可以用多个专有领域的大模型(如金融、医疗)作为教师,蒸馏出一个通用的学生模型。在这个过程中,原始数据可以不用公开,只传递“知识”(即概率分布),一定程度上保护了数据隐私。

回到我们之前讨论的训练和推理,知识蒸馏是连接两者的一座桥梁:

在训练阶段,我们不遗余力地训练出庞大的教师模型。然后通过蒸馏,将这个庞然大物的“知识”萃取出来。

最终,我们将这个精炼后的小模型用于推理阶段,从而大大降低计算成本、延迟和功耗,实现高效的服务部署。

所以,知识蒸馏本质是一种用离线计算的成本(训练大模型并蒸馏),换取在线推理的效率和经济效益的绝佳策略。

模型盗版

“知识蒸馏”在学术界是正大光明的技术,但在商业和伦理的灰色地带,它确实被一些人用作“模型窃取”的攻击手段。

这就像一个顶级画家画了一幅画,别人不直接临摹(那会被发现侵权),而是请一个学生去“学习”画家的风格和笔触,然后这个学生画出一幅新画,声称是自己的原创。这在AI领域,被称为模型萃取攻击(Model Extraction Attack)或模型盗版。

攻击者不需要访问目标模型(受害者)的内部结构、参数或训练数据,只需要一个“查询接口”——也就是常见的API(应用程序接口),比如OpenAI的GPT-4接口。

典型的攻击流程是这样的:

构造查询数据集:攻击者精心构造大量的问题或输入样本(可能是随机生成的,也可能是从网上搜集的公共文本)。

获取“软标签”:攻击者将这批数据发送给目标大模型(受害者)的API,获取其输出的概率分布(即软标签)。这部分是核心“盗窃”对象。
训练“学生模型”:攻击者用自己的一个小模型(学生),以上述查询数据和获取到的“软标签”作为训练目标,进行知识蒸馏训练。
获得“孪生模型”:经过足够多的查询和训练,攻击者的小模型虽然在参数规模和通用知识上无法完全匹敌原模型,但在特定任务(比如问答、代码生成)上的表现会非常接近受害者模型。

大模型最值钱的部分不是它的代码,而是它通过海量算力和数据训练出来的“智能权重”。当模型以API服务形式公开时,其输出(特别是包含概率信息的logits或软标签)本身就是这种智能的一种“投影”或“快照”。攻击者正是利用蒸馏技术,从这个投影中逆向重构出一个功能相近的模型。

攻击者从头到尾没有看过原模型的一个参数,也没有使用原模型的私有训练数据,他只是通过API“问了”很多问题,并“记录”了答案。

训练GPT-4需要数万张GPU和数千万美元。但“蒸馏”一个GPT-4的特定能力,可能只需要数千美元调用API的费用,以及少量GPU进行微调。这是巨大的商业套利空间。

知识蒸馏是一把“双刃剑”。它既是AI民主化、让大模型能力“飞入寻常百姓家”的利器,也成了模型盗窃者投机取巧的“魔法飞毯”。