25年前,著名的计算机程序员、开源软件运动旗手Eric S·Raymond出版了《大教堂与集市》一书,首次提出了开放源代码(Open Source)的概念,提倡软件源代码能被任何人查看、修改、分发。开源自此深刻影响了互联网行业的每一个角落。
在大模型和GenAI崛起的当下,开源再次成为业界关注焦点,对于开源和闭源的争论也久久未能平息。然而,大模型开源相比传统软件开源,情况要更加复杂。在开源的定义、性质、开放内容和开源策略上都有完全不同的标准和内容。因此,“开源派”的帽子并不是那么好戴的。
“开源”大模型再起波澜
10月29日,全球权威的开放源代码促进会(Open Source Initiative,OSI)发布了关于“开源AI定义(OSAID)”1.0版本,正是这一定义引起了业界不小的波澜。
根据OSAID,AI模型若要被视为“开源”,必须提供足够的信息,使任何人都可以“实质性地”重建该模型。根据新定义,AI大模型若要被视为开源有三个要点:
第一,训练数据透明性。必须提供足够的信息,使任何人能够“实质性”地重建该模型,包括训练数据的来源、处理方式和获取方式;
第二,完整代码。需要公开用于训练和运行AI的完整源代码,展示数据处理和训练的规范;
第三,模型参数。包括模型的权重和配置,需提供相应的访问权限。
OSAID还列出了开发者使用开源AI时应享有的使用权,例如可以为任何目的使用和修改模型,而无需获得他人许可。
OSI称,新定义是为了避免当前行业中对“开源大模型”的过度营销和使用误解。据此标准,当前市场上表面开源的大模型几乎都“名不副实”,包括大名鼎鼎的“开源大模型”标杆Meta的Llama和谷歌的Gemma。
过去两三年中,OSI发现传统软件行业的“开源”与大模型有着本质区别,定义并不适用当前火热的AI大模型。因为AI大模型远比传统开源软件更复杂:它不仅包含代码,还涉及大量的数据、复杂的模型架构以及训练过程中的各种参数等。而这些数据的收集、整理、标注等过程都对模型的性能和结果产生重要影响。传统的开源定义无法全面涵盖这些新的要素,导致在AI领域的适用性不足。
目前,全球许多初创企业和大型科技公司,称其AI模型发布策略为“开源”,因为将大模型描述为“开源”会被开发者认为更易开发、更低成本、更多资源。但研究人员发现,许多开源模型实际上只是名义上开源,它们限制了用户可以对模型做什么,并且实际训练模型所需的数据是保密的,而且运行这些模型所需要的计算能力超出了许多开发者的能力范围。例如,Meta要求月活跃用户超过7亿的平台获得特殊许可才能使用其Llama模型。
无独有偶,今年6月,《Nature》的一篇报道指出,很多科技巨头宣称他们的AI模型是开源的,但实际上并不完全透明。这些模型的数据和训练方法往往没有公开,这种做法被称为 “开源洗白”,严重妨碍了科学研究的可复现性和创新。
荷兰拉德堡德大学的人工智能研究学者Andreas Liesenfeld和计算语言学家Mark Dingemanse也发现,虽然“开源”一词被广泛使用,但许多模型最多只是“开放权重”,关于系统构建的其他大多数方面都隐藏了起来。
比如Llama和Gemma虽然自称开源或开放,但实际上只是开放权重,外部研究人员可以访问和使用预训练模型,但无法检查或定制模型,也不知道模型如何针对特定任务进行微调。
“开源”大模型到底开放了什么?
对于社区中的开源软件来说,源代码是其核心。开发者通过阅读源代码可以掌握该软件的全部细节,进而可以为该软件开发新的功能、提供测试、修复Bug以及做代码评审等。
开发者提交自己的代码到开源项目,合入后就形成了新的版本。这就是开放式协作开发,它是开源软件的基本开发模式,与普通软件的开发过程并没有本质的不同,只是开发人员在地理位置上是分散的,他们依靠一些远程协作平台,比如GitHub、Gitee 等,以开放式治理的方式进行协作。
但是对于大模型来说,除了源代码以外,数据是更为重要的核心资产。大模型是基于深度学习技术,通过海量数据进行训练而来的深度学习模型,大模型能够基于自然语言来实现文本的生成和理解,根据输入的数据得到输出,从而完成多类型的通用任务。
在大模型的运转方面,主要就是训练和推理两个过程,训练过程就是大模型产生的过程,训练过程的基本原理是在深度学习框架上运行特定的模型架构,然后把训练数据集输入给架构,再通过复杂的计算和多次迭代,最后得到一套想要的权重,而这套权重就是训练后的结果,也叫预训练模型。
预训练模型在经过部署之后,以及在得到深度学习框架的支持之下,根据给定的输入内容得到对应的输出结果,这一套流程就是推理过程。
但需要说明的是,在大模型训练和推理过程中,往往所需要的算力和资源的差异很大。在训练过程中,需要很多次的迭代计算,且需要具备海量GPU算力做支持,这样才能在合理的时间范围内完成一次完整的训练过程。另外,在推理过程中,需要的算力资源却相对较小,因为推理的时候在消费型GPU以及普通的GPU上就可以完成一次一般类型的推理。
根据目前情况来看,市面上绝大多数开源大模型开放出来的只是一套权重,也就是预训练模型,如果开发者想要复现该开源大模型的训练过程,需要通过优化数据集、方法等训练出一个更优质的模型,而且需要数据集、训练过程和源代码,但是大部分开源大模型在开源的时候并未提供上面所需要的这些内容,就算开发者掌握算力也无法复现。
市面上这些类比传统软件的开源大模型更像是一个开放了的二进制包,比如.exe文件,只是闭源、免费开放使用的,它其实是一个“免费软件”而不是一个“开源软件”。
大模型所谓的“开源”,实际上是有三个对象,源码只是其中之一,需要同时具备算法、高算力、大数据这三大要素,才有可能最终得到一款和ChatGPT类似效果拔群的模型。
大模型的源码就在算法,算法的核心部分主要包括有模型结构和训练方法,这两部分都有对应的源码。拿到源码只是第一步,高算力和大数据是大多数企业无法逾越的门槛。相比高算力而言,大数据是最难获取同时也是价值最高的部分。
那么,开源大模型在不提供数据集和源代码的前提下,是不是就不能进行协作了呢?并非完全如此。
基于大模型的实现原理和技术特性,开发者可以通过微调的方式对预训练大模型进行能力扩展,通过额外的数据集进行进一步的训练,优化模型在特定领域的效果,得到一个新的衍生模型。
微调数据规模可大可小,但通常比原始训练数据集小得多,所以产生一个微调模型所需的算力成本也低得多。
因此,在开源大模型界,出现了一些以主流预训练模型为基础底座衍生的微调大模型,并形成了谱系。
大模型根本没有“真”开源?
从当前各家大模型厂商的宣传看,大多采用了“以偏概全”“避重就轻”的方式,很容易让人混淆模型开源和软件开源的概念,让开发者或企业误认为开源大模型与开源软件是同等开源水平。
无论是大模型还是软件,发挥开源优势,本质上是吸收开发者对大模型或软件的改进。但其实,目前所谓的开源大模型无法真正像开源软件一样,靠社区开发者一起参与来提升效果和性能。应用开源大模型的企业,也很难迭代并优化这些模型,以至于无法高效地应用于企业场景。
至于什么是开源大模型,业界并没有像开源软件一样达成一个明确的共识。
综合来看,大模型的开源和软件开源在理念上的确有相似之处,都是基于开放、共享和协作的原则,鼓励社区共同参与开发和改进,推动技术进步并提高透明性。
然而,在实现和需求上有显著区别。
软件开源主要针对应用程序和工具,开源的资源需求较低,而大模型的开源则涉及大量计算资源和高质量的数据,并且可能有更多使用限制。因此,虽然两者的开源都旨在促进创新和技术传播,但大模型开源面临更多的复杂性,社区贡献形式也有所不同。
国内此前也曾爆发过大模型开源与闭源的讨论。百度创始人李彦宏多次强调了两者的区别,大模型开源不等于代码开源:“模型开源只能拿到一堆参数,还要再做SFT(监督微调)、安全对齐,即使是拿到对应源代码,也不知道是用了多少比例、什么比例的数据去训练这些参数,无法做到众人拾柴火焰高,拿到这些东西,并不能让你站在巨人的肩膀上迭代开发。”
由此来看,目前对开源大模型的改进主要通过微调实现,但因微调主要针对模型输出层调整不涉及核心构架和参数,无法从根本上改变模型的能力和性能。
即便是“真开源”,受技术特性与训练成本所限,开放式协作对大模型性能提升效果也有限。大模型训练过程需要耗费大量算力,算力成本居高不下,即便创作者开源数据集和训练细节,普通开发者也很难承担复现训练过程的高昂训练成本,模型能力难以因开放而得到实质提升。
数据显示,ChatGPT一次完整的模型训练成本超过8000万元。如果进行10次完整的模型训练,成本便高达8亿元。
站在企业角度,选择一款大模型产品或应用,需要根据组织的具体需求和战略目标来决定。
李彦宏认为,评价一个模型,维度是多方面的,不仅是看到榜单上的多项能力,也要看效果看效率。当大模型加速驶入商业应用之后,在追求高效率和低成本的情况下,真正的衡量标准应是模型在实际应用中能否满足用户需求和产生价值。
大模型应用是涵盖“技术+服务”的一套完整解决方案,对单一方面的忽略或考虑不足都会影响到企业的“降本增效”效果,更有甚者会起到“增本降效”的负面效果,因此需要通过“算总账”进行综合考量。
对于如何选择大模型这件事,企业也无需过于纠结,应该将关注点放在哪个大模型更好用、如何匹配自身的实际业务需要,从而选择最适合企业自身业务场景的大模型平台,然后专注于应用开发。那么企业如何选择呢?
首先,要计算硬件资源成本。一些商业大模型会配套相应的工具链,包括训练工具链、推理工具链,这些工具链能够起到比较好的降本效果,对企业来说,训练环节能大约省10~20%的硬件成本,推理环节则省得更多,业务规模越大,省得越多。
其次,要看模型带来的业务收益。一些业务对于90%还是95%的准确率敏感度没那么高。但有一些业务,比如商业广告类,CPM、CTR差一个点,对广告平台来说一天可能就有上千万的出入,这时候对模型的效果要求越高的企业,就更愿意去买一个效果更好的模型。
第三,要考虑机会成本和人力成本。在一些商业大模型中,厂商会根据企业业务需求把模型和硬件进行适配,并调到最优状态,让企业可以直接复制成熟经验,这样就大大降低了大模型在适配过程中的算力、人力等多项成本。
面对行业的大模型开源闭源、真假开源之争,我们无需以道德绑架要求所有大模型都开源,因为这涉及大量技术、资源和安全考量,需要平衡开放与安全、创新与责任。正如科技领域的其他方面一样,多元化的贡献方式才能构建一个更丰富的技术生态系统。
真正的大模型开源时刻还远未到来,正如开源和专有软件共同塑造了今天的软件生态,大模型的开源与否以及开源程度也并非完全对立,多种技术路线并存发展是推动AI技术不断进步、满足不同应用场景需求的重要动力。最终,用户和市场会作出适合自己的选择。