产业互联网第一媒体。 产业家
商业公司为何热衷于开源项目?为什么要花费大量资源研发一个免费公开,甚至可能暴露竞争优势的工具?
本文作者将从商业角度探讨这个问题,重点分析AI技术生态系统中的不同利益相关者如何利用开源软件取得优势,并探讨公司如何通过开源增加业务采纳度的不同策略。
作者|Devansh
OneFlow编译
翻译|张雪聃、刘乾裕
题图由SiliconCloud平台生成
来源|OneFlow
一
AI开源软件与闭源软件的虚假对立
人们讨论开源软件时,常常将其与闭源软件对立起来。人们常将开源软件误解为“免费软件”,忽视了技术生态系统中广泛的商业模式,闭源项目对开源组件的依赖以及开源项目依靠闭源公司资金支持的现实。
为了更好地理解讨论内容,首先要澄清一个常见的误解。
开源软件非常适合解决影响范围广的大问题,而闭源软件则将开源项目创建的通用解决方案改善并应用于特定人群的特定需求。如果没有开源软件,闭源软件只能从头开始构建一切。如果没有闭源软件,开源解决方案对普通用户来说往往难以访问或使用,其潜在影响也会大大减少。
因此,开源软件与闭源软件一般是互补的,二者互相结合,最终创建出有用的产品。
要为公司制定一个好的开源战略,首先需要了解它如何影响不同的利益相关者,这是我们接下来要讨论的内容。
二
开源软件如何助力AI领域的不同利益相关者
开发者(包括研究人员):开源为开发者提供了尖端的算法、模型和工具。像TensorFlow、PyTorch和Google的BERT模型这样的平台,让程序员可以以较低成本体验先进的AI技术。这种资源加速了学习并促进了创新,开发者可以与全球专家合作,参与高质量的AI项目,从而提升其职业前景,并通过公开作品展示其在竞争激烈的领域中的专业能力。
企业:从两个角度来看——采用者(使用现有工具的公司)和构建者(构建并分享开源软件的公司)。采用视角相对容易理解——采用现有的开源工具可以降低成本、构建更安全的系统(更好地理解系统脆弱性),并加快迭代速度。
那么构建者呢?那些分享其软件的公司能够提升声誉,免费将大量研发工作外包给他人,并吸引更多用户进入其生态系统(这有助于客户获取门槛,同时减少员工培训成本)。所有这些收益的代价相对较低(构建者本来就会花费这些钱来开发内部工具,因此分享几乎没有损失)。
为了确保我们能够获得最好的技术并避免长期被锁定在封闭的生态系统中,Llama需要发展成一个完整的生态系统,包括工具、效率改进、芯片优化及其他集成。如果只有我们使用Llama,这个生态系统就无法发展,其表现不会比Unix系统闭源版本好多少。
(Meta的《开源AI是未来之路》(https://about.fb.com/news/2024/07/open-source-ai-is-the-path-forward/) 是一篇探讨开源AI好处的优质文章,建议阅读。)
有些人担心将工具开源会让竞争对手赶超自己。这其实有些杞人忧天,因为成功的产品需要精细的执行、密切的商业联系、网络效应、良好的声誉、大量资源以及处理无数细节的能力。这比复制技术要困难得多(即使有所有技术知识和工具,也很难复制Facebook或ChatGPT的成功)。
终端用户:AI应用程序在开源协作中不断改进,终端用户便受益于此。开源AI框架的广泛应用带来更强大、高效、功能丰富的产品;同时,开源软件的众包特性通常会降低成本,提升技术可及性。(参考Llama权重被泄露后,开源软件社区是如何降低模型的成本的)。
政府和公共部门:政府可以充分利用开源软件的优势,提升安全性和公平性。许多AI的公平性功能更接近于企业的成本中心(增加成本却不增加收入),因此其在纯粹的自由市场中并不是更优选。因此,这些功能需要更积极的监管。开源软件是促进公私合作的好方式,因为在这种方式下,安全监管不会抑制创新。我将另写一篇文章详细讨论这个话题。
三
企业如何调整策略以从开源代码AI中受益
通过以下几种方式,公司可以集成开源软件以实现其商业目标。支持与服务:公司可以为开源AI工具提供专业的支持、咨询和定制服务。鉴于AI技术十分复杂,企业通常需要专家的帮助来有效实施和优化AI解决方案。这也是我的工作模式。我的客户聘请我并不是为了向他们提供任何秘密技巧,而是为了帮助他们判断哪些想法最符合他们的需求(并在需要时实施这些想法)。提供开源AI框架的培训和认证不仅可以为公司创造收入,还能建立依赖于其专业知识技能的用户社区。然而,平台方通常倾向于通过免费课程和认证来吸引更多用户进入他们的平台。例如,谷歌云平台(GCP)提供免费的谷歌云课程,从而增加了市场上GCP开发者数量。这使得中立公司在构建解决方案时更有可能选择谷歌云,因为架构师们会对其更加依赖。所有主要的云服务提供商都采取了这种策略,我选择GCP作为例子,因为我认为他们在开发者关系方面的表现优于其他竞争对手。双重许可:公司可以对其AI软件采用双重许可模式,提供一个开源版本以促进广泛使用,同时提供一个包含额外功能或支持的商业版本。这一策略使公司能够从社区对开源版本的贡献中受益,同时通过企业客户获取收入,满足他们对增强功能或服务质量保证的需求。这一策略的一个强有力变体是向学生和教育机构免费提供高级产品的版本。这样做可以让学生对产品产生依赖感,即使日后需要付费,他们也更愿意继续使用(这也有助于交叉销售)。通过让更多学生熟悉平台或解决方案,还可以让他们成为潜在的销售人员,类似于上一部分提到的GCP策略。Open Core模式:在AI领域,Open Core模式指的是将基础的AI算法或模型开源发布,同时提供专有的工具或平台,增强这些模型的商业应用。该方法鼓励社区在核心层面进行参与和创新,同时通过专有增强功能(如用户友好界面、可扩展性解决方案或高级分析工具)来实现盈利。HuggingFace就是采用这种模式的公司之一,该公司从包括Alphabet和Nvidia在内的科技巨头筹集了近4亿美元。开发了开源的BLOOM和StarCoder模型,但该公司并没有专注于开发模型,而是通过其开源模型共享平台来出售计算能力和企业支持服务。HuggingFace产品负责人Jeff Boudier表示,"开源模型往往能创造一个生态系统,而闭源模型只能找到客户,开源能产生十倍、百倍的放大效应。"托管AI服务:基于开源工具提供云端托管的AI服务是一个十分有前景的方向。公司可以提供可扩展的AI平台,允许客户在不需管理底层基础设施的情况下部署机器学习模型。这种策略通过提供便利性来实现盈利,在像AI这样分散的行业中尤其有效——在每个流程步骤中都有几十种不同的选择。互补性专有产品:公司可以开发与开源AI框架集成的专有应用程序或工具。通过提供专门的AI模型部署平台、性能优化工具或特定领域的AI解决方案,可以为客户增加价值并创造收入机会。通过确保无缝集成,企业不仅促进了其专有产品的长期使用,还推动了底层开源AI技术的持续应用。合作伙伴关系与生态系统发展:与其他组织合作创建集成AI解决方案可以扩大市场机会。通过围绕开源AI工具建立生态系统,公司可以影响行业标准并从网络效应中获益。合作伙伴关系可以促成AI模型的共同开发、共享研究和联合产品发布,从而增强所有参与方的价值主张。培育这样的生态系统能够激发创新,加速AI技术在各个行业的部署。Nvidia与GPU是一个很好的案例。尽管TPU性能优于GPU,但GPU成为主流“AI芯片”的一个重要原因是其更强大的社区支持和知名度。这让开发者更倾向于在GPU上优化AI解决方案,进而增加了对GPU的认知,形成了良性循环。构建强大的合作伙伴关系和生态系统,可能比实际性能更重要(即使产品再好,如果使用起来非常困难,又有什么意义呢?)。这就是我对开源技术商业化的总体看法。我将在文章的剩余部分深入探讨这些观点。开源如何推动商业发展
像红帽这样的公司专注于用开源创造专业产品。他们将免费的资源—Linux—转变成了一个经过严格测试的产品,即红帽企业版Linux。在这个过程中,他们聚焦于消除CTO在面对配备一站式维护的可靠计算堆栈时所遇到的痛点。仅靠开源代码是无法实现的。红帽销售的是客户真正需要的东西。这种商业模式并不新奇。正如亨利·福特所说:“一个完全致力于服务的企业在利润方面只有一个烦恼:那就是利润会大到令企业自己都意外。”——《为什么开源软件是一笔大生意》(https://medium.com/@usetech/why-open-source-software-is-big-business-071c1e49168d)
不熟悉技术的人常常认为,OSS充其量是个亏损销售策略——公司免费提供软件以获得市场份额并分散竞争对手注意力。在他们看来,软件存在两个极端——闭源和开源,开源软件或AI模型是闭源版本的免费(且劣质)替代品。
这种不完整的表述将一个非常复杂且动态的生态系统简化为错误的二元对立。这就像试图把我的“GOAT”(最伟大的球员)安东尼简化为一个简单的“曼联边锋,经常旋转”的形象。实际上,开源与闭源软件是两种不同的模式,公司通过将两者结合可以在开发中获益。
因为开源软件(OSS)利用了众包的专业知识,所以在解决宏观问题方面非常出色,这些问题通常涉及大量的人群,是重要且广泛的问题。因此,开源项目经常形成基础组件,如框架、平台、核心技术等。然而,你不能通过解决一般性问题来构建成功的产品,因为“普通人”并不存在。人们有具体的挑战、特点和优势,这才是他们愿意付费的地方。一个坚实的基础对于房子很重要,但没有人会买只有基础的房子。闭源软件在这方面非常出色,因此许多成功的AI/科技公司围绕开源技术构建了庞大的企业,以解决特定企业的具体挑战。考虑一下Databricks的例子,这是一家围绕Apache Spark建立的公司。自发布以来,各行各业的企业迅速采用了统一分析引擎Apache Spark。互联网巨头如Netflix、Yahoo和eBay已经大规模部署了Spark,共同在超过8000个节点的集群上处理多PB数据。它迅速成为大数据领域最大的开源社区,拥有来自250多个组织的1000多名贡献者......“Apache Spark是100%开源的,托管在独立于供应商的Apache软件基金会。在Databricks,我们完全致力于维护这种开放的开发模式。Databricks与Spark社区一起,通过开发和社区推广,继续对Apache Spark项目做出重大贡献。”Databricks提供了一个托管Spark的平台,配备了针对企业使用量身定制的额外功能和服务。这种模式使他们能够:- 从Apache Spark的创新和社区支持中受益:Databricks利用了Spark的强大能力和灵活性,后者不断由全球开发者组成的社区进行改进(解决大型社区面临的更精细的“一般性问题”)。
- 通过增值服务差异化:Databricks提供了企业级的功能,如安全、合规和托管基础设施,这些功能在开源版本中是没有的。
- 回馈生态系统:Databricks积极贡献于Apache Spark的开发,确保其持续增长和相关性。
这种共生关系使Databricks和Apache Spark社区都受益。Databricks获得了一个强大且广泛应用的技术基础,而Spark社区则从成功公司的贡献和支持中受益。简而言之,这就是开源和闭源软件之间的共生关系。对于那些真正想了解如何为你的项目或公司制定开源战略的人来说,深入了解开源软件如何影响生态系统中的每个参与者是非常重要的。接下来我们就来讨论这一点。五
不同的利益相关者如何参与开源
开源和个人/独立开发者
像TensorFlow、PyTorch和HuggingFace Transformers这样的平台提供了访问最前沿的算法、预训练模型和复杂工具的机会——所有这一切都不需要承担与专有软件相关的高昂成本。这种可访问性使AI开发民主化,使个人和小型团队能够实验先进的技术,并为创新的最前沿做出贡献。开源不仅仅提供访问机会;它还提供了一个独特的学习环境。开发者可以深入研究成熟项目的源代码,了解其背后的设计决策,并向该领域顶尖人才学习。这种透明性加速了学习曲线,促进了对AI原理更深入的理解(即“边做边学”原则)。最后,积极贡献于开源项目使开发者能够建立一个展示其技能和专长的公共作品集,从而在高度竞争的就业市场中提升职业前景。通过与全球社区合作,开发者可以磨练自己的技能,获得对其贡献的认可,最终加速职业发展。活跃开发者社区的存在将极大地提升任何项目的质量。因此,所有团队都必须投入资源创建一个对开发者友好的开源项目。这不仅仅是将代码公开,更重要的部分在于——提供清晰全面的文档
建立明确的贡献准则(新开发者往往对如何贡献到开源项目感到不知所措)
积极通过论坛和讨论渠道与社区互动,培养建设性的反馈和指导文化
通过优先考虑这些方面,项目维护者可以吸引更广泛的贡献者,加快开发进度,并确保项目的长期可持续性。这就是为什么大型公司投入大量资源在开发者关系和布道团队上的原因,这些团队充当大型开发者社区和公司之间的营销/客户成功代理。他们的工作是确保开发者能够顺利贡献开源项目,并将反馈传达回母公司。
公司想从开源中得到什么
关于开源,公司可以扮演两个不同但相互关联的角色:采用者和构建者。采用者:收获共享创新的好处
对于采用开源工具的公司,其优势是显而易见的。通过利用现有的解决方案,公司可以:降低开发成本:企业无需重复工作,可以专注构建差异化功能和特性。
加快走向市场的时间:开源组件为开发提供了良好的起点,使企业能够更快地将产品和服务推向市场。
增强安全性和透明度:通过开源代码,企业可以全面了解软件,从而更有效识别和解决潜在安全漏洞。
利用全球人才库:开源项目通常会引来一批技术娴熟的开发者,为企业提供了更广泛的人才库,可以用于支持、合作甚至招聘。
构建者:培育生态系统
虽然采用者的益处显而易见,但企业构建和分享开源软件的益处可能不那么明显。然而,战略优势是显著的:- 提升品牌声誉和开发者信任:开源技术展示了对透明度、合作和创新的坚持,增强品牌声誉并建立开发者社区的信任。良好的声誉可以成为强有力的保护,而不良的声誉则可能导致过度反应和恐慌(谷歌AI最近就经历了这种情况)。
- 众包研发和加速创新:通过开放代码,企业可以利用全球社区的集体智慧,加快创新和功能开发的速度。
- 培养繁荣的生态系统:开源项目往往会成为行业标准,从而吸引用户、贡献者以及互补的产品和服务网络。这形成了一个良性循环,促进采用、创新和增长。Meta对PyTorch的投资就是一个很好的案例。
- 降低内部开发成本:通过共享工具和技术,企业可以减少内部开发和维护的需求,释放资源用于其他战略计划。以React的VR功能为例,这些功能之所以能迅速开发出来,得益于庞大的高级Web开发者社区。VR技术的开发对扎克伯格的元宇宙愿景至关重要(我仍然认为,从长远来看,元宇宙作为一个强大的平台战略是有商业意义的。
“免费赠送”技术所带来的表面负面影响,往往会被培育合作生态系统和在特定领域建立领导地位的长期收益所超越。
六
开源将如何惠及终端用户
开源软件使得产品更便宜、更安全、更易获取,所有这些都使终端用户受益。开源项目吸引了更多样化的贡献者,其中许多人比来自资金更充裕公司的开发者更关心解决方案的效率(后者往往更注重基准性能)。一个很好的例子是RWKV模型在其他语言(如中文、日文等)上的训练通常比大多数现有开源模型更好。这一点引起了我的注意,所以我与团队进行了交流。事实证明,RWKV项目一直拥有非常多样化的贡献者,其中许多人来自资源较少的语言。他们很早就注意到OpenAI的词元分词方法在他们的语言应用上效果不佳,因此决定自己构建词元分词器。这是一个巨大的优势。开源软件对终端用户而言还有一个不太显眼的好处:促进长期创新的能力。由于开源项目不受与企业相同短期利润动机的约束,它们可以探索更多新颖的方向(企业可能会陷入局部最优,而开源项目更有可能进行探索)。类似的原则也解释了为什么许多核心技术创新来自政府(或贝尔实验室),这些机构可以投资于时间跨度更长的项目。这在政府和开源之间创造了大量的协同效应。为了不让这篇文章过长,我们将在专门的案例研究中讨论不同开源策略的复杂性。