Ines Montani 在 2024 年 4 月 伦敦 QCon 大会上的演讲阐述了大型语言模型(LLM)如何深刻地改变了 AI 领域。这些模型背后的创新核心其实非常简单:让模型变得更大。随着每一次迭代,这些模型的能力边界都在不断扩展,而这就引发了一个关键问题:我们是否正步入一个由少数科技巨头掌控的黑箱时代,而这些巨头隐藏在 API 和专有技术的帷幕之后?
开源软件的对立
与这种忧虑形成鲜明对比的是,开源软件正在打破 AI 领域的垄断控制。开源项目确保了没有任何单一实体能够独揽 AI 领域的主导权。开源软件带来了诸多益处,使其成为个人和企业的理想选择:
透明度:开源软件是透明的,你可以确切地了解你将从中得到什么。
无锁定:你不会被特定的供应商锁定。虽然存在一些承诺,但你永远不会失去对软件的访问权。
内部运行:开源软件可以在内部环境运行,这对于保护私有数据来说至关重要,特别是对于那些不愿意将数据发送到外部服务器的人来说。
社区审核:社区审核意味着你可以知道哪些功能受到广泛欢迎,哪些解决方案被哪些用户采用,确保一定程度的信任和可靠性。
保持最新:开源项目通过合并请求和社区贡献,不断融入最新的研究成果,因此能够保持最新状态。
可编程性:软件非常具有可编程性,很少需要端到端的解决方案,可以轻松集成到现有的流程中。
易上手使用:开源软件可以轻松上手使用,你只需要使用像 pip install 这样简单地命令即可下载并开始使用。
可扩展性:软件可扩展,用户可以自行分叉和运行。
开源软件的经济维度
关于开源软件的一个普遍误解是,企业选择它主要是因为它是免费的。虽然许多开源项目可以免费获取,但它们的真正价值在于它们的可访问性和提供的自由度。虽然成本因素在初始采纳阶段起到了推动作用,但开源解决方案之所以能够占据主导地位,还有许多其他令人信服的理由。
AI 和机器学习领域的开源不仅是关于软件本身,更涉及代码和数据的协同作用。不断增长的开源模型生态系统,涵盖了从底层代码到训练数据和模型权重的各个层面,极大地提高了这些工具的可访问性。为了更清晰地理解这个领域,我们可以将这些模型大致分为以下三种类型:
任务特定模型:这些是专为特定任务量身定制的专用模型。例如,与 spaCy 及其社区项目一同发布的模型、斯坦福大学 Stanza 库中的模型,以及 Hugging Face 等平台上的众多模型。这些模型通常体积小巧、响应迅速且运行成本低廉。不过,它们在泛化能力上可能有所局限,往往需要通过特定领域的数据进行微调。
编码器模型:这些模型,例如谷歌的 BERT 及其各种衍生版本,被设计用来为任务特定模型生成嵌入向量。它们以相对较小的体积、快速的处理速度以及低廉的内部运行成本著称,相较于任务特定模型,它们具有更好的泛化能力。尽管如此,为了适应特定的应用场景,它们仍然需要进行一定程度的微调。
大型生成模型:这一类模型包括 Falcon、Mistral 和 LLaMA 等。这些模型明显更大,运行速度较慢,运行成本更高,但在泛化和适应性方面表现出色,几乎不需要微调即可执行特定任务。
对 LLM 的误解
“大语言模型”一词被泛泛而用,缺乏精确性,导致人们对这些模型能力和应用的讨论变得模糊不清。因此,弄清楚编码器模型和大型生成模型之间的区别非常重要。编码器模型专注于任务特定的网络架构,用于预测结构化数据,而大型生成模型依赖提示词生成自由形式的文本,并需要进一步的逻辑分析来提取有用的信息。
规模经济的作用
大型生成模型因其复杂性和高昂的运营成本,通常只能通过 OpenAI 和谷歌等公司提供的 API 来访问。这些公司利用规模经济的优势,从汇聚顶尖人才、批发计算资源和大规模请求中受益。这种运营模式就像繁忙都市中的火车时刻表,高需求确保了服务的频繁和规律性。
面向人类和面向机器的 AI 之间的区别
AI 领域的一个重要区别是面向人类的系统和面向机器的模型之间的区别。对于像 ChatGPT 和 Google Gemini 这样面向人类的系统,核心优势在于产品特性,包括用户体验、用户界面和定制化,通常包含了约束机制,以防生成不恰当的内容。这些产品直接与用户交互,并依赖用户的反馈来不断优化和增强其功能。相比之下,像 GPT-4 和 Bard 这样的底层模型是构成更广泛系统的关键组件,是上面这些面向消费者应用的基础。面向机器的模型是可互换的组件,基于公开发布的研究和数据,可以通过速度、准确性、延迟和成本来评估其性能。
理解这些 AI 应用类型之间的区别至关重要,这有助于消除人们对 AI 垄断的误解。像 OpenAI 这样的公司可能在面向用户的产品市场上占据主导地位,但这并不意味着它们在背后的 AI 和软件组件领域同样占据主导。虽然用户数据对于优化面向人类的产品至关重要,但对于提升基础的面向机器的任务,其重要性相对较小。获取一般性知识并不依赖于特定数据,而这恰恰是大型生成模型背后的创新精髓。
AI 在实践中的能力
AI 在实践中的能力可以分为生成性任务和预测性任务:
生成式任务:摘要、推理、问题解决、问答、释义和风格转换是由生成模型提供的能力。
预测式任务:文本分类、实体识别、关系提取、指代消解、语法分析与形态学研究、语义解析以及话语结构分析这些任务涉及将非结构化文本数据转换为结构化表示形式,以便人类更好地理解和利用这些数据。
尽管生成式 AI 提供了许多新的可能性,但许多行业挑战仍然存在,主要集中在如何结构化非结构化数据(如自然语言)上。AI 的出现使我们能够更高效、更大规模地解决这些问题,从而生成更多结构化数据和顺利完成项目。
计算机指令交互方式演变
向计算机发出指令的过程经历了几个阶段的演变:
基于规则的系统:最初,我们使用条件逻辑和正则表达式提供规则或指令。
机器学习:引入示例编程,也称为监督学习,其中模型是使用特定示例训练的。
上下文学习:通过自然语言形式(提示词)提供规则和指令。
每种方法都有其优缺点。指令直观且易于非专家使用,但对数据变化过于敏感,很容易受到数据漂移的影响。示例非常具体,能够精确表达复杂的行为,但生成它们往往需要大量的人力和时间。那么,结合这两种方法,使用大型通用模型和特定数据来开发专注的、针对特定任务的模型的工作流程会是什么样子呢?
实际应用和迁移学习
实际的 AI 工作流涉及迭代评估和纠正模型预测,使用迁移学习将通用模型提炼为特定模型。迁移学习在实际应用中仍然具有相关性,可以实现模块化、可解释和具有成本效益的解决方案。
使用大型生成模型有助于解决冷启动问题,使原型能够立即可用。这些原型在后续可以被提炼和转化为更小、更快、更专注的模型。这种方法避免了在一开始就生成大量示例的劳动密集型过程,并减少了在运行时对庞大、复杂模型的依赖。
任务特定模型的人工参与提炼
提炼任务特定模型遵循同样的软件开发最佳实践:
模块化:高度模块化符合软件开发最佳实践,有助于维护现代工作流程并相应地调整模型开发。
无锁定:用户不受任何特定供应商的约束。模型可以由不同的供应商开发,但用户可以独立控制和管理它们。
可测试性:组件可以独立测试,与不透明的单一黑盒系统相比,更容易监控和检测故障。
灵活且运行成本低:模型是系统中的灵活组件,可以针对特定的硬件平台进行优化以实现高效运行(甚至是在 CPU 上)或占用较小的空间,从而显著降低运营成本。
内部运行:这对于安全处理敏感数据来说至关重要,因为不依赖外部 API 可以确保数据的隐私性和合规性。
透明度和可预测性:用户可以了解模型的工作原理,更好地理解和预测模型行为。
可编程性:模型可以通过编程的方式集成到现有的工作流中,这不仅符合业务需求,也将集成过程中可能出现的挑战降至最低。
这些也是公司选择开源软件的原因,这并非巧合:AI 开发仍然是一种软件开发类型,相同的原则也适用于 AI 开发。
解决关注点和监管
规模经济一度被认为是形成垄断的关键因素,但现在这在技术领域面临着挑战,因为激烈的竞争降低了成本。在开发而不是生产阶段依赖成本已经不那么高的开源模型,使得规模经济的重要性进一步降低。
监管成为大科技公司为确保其在该领域垄断地位而采取的另一种策略,他们游说政府制定一系列 AI 法规,而这些法规只有他们这些具备相应资源和专业知识的公司能够遵守。
确保监管的透明度对于 AI 在没有垄断控制的情况下健康发展来说至关重要。政策制定者应当明确区分 AI 在应用层面和核心层面的技术,培养鼓励创新的竞争环境,并确保消费者利益得到保护。这种区分对于引导 AI 朝着创新和普及的方向发展来说至关重要,在这样的未来,没有任何单一实体能够对市场施加过度的影响。
结论
AI 领域的开发和部署以透明和可访问性为特征,摒弃了以往依赖秘密优势的模式。在大语言模型领域,它们是系统的组成部分而不是独立的产品,并不能固有地依赖专有知识或独家数据访问获得垄断优势。
这些模型的可替代性和可补充性是促进互操作性和竞争的关键,这与垄断形成鲜明对比。开源软件在这方面扮演着至关重要的角色,不仅确保了技术灵活性,还通过协作开发和社区审查为创新提供了强大的推动力。
然而,监管措施可能在无意中偏袒那些已经占据市场主导地位的企业,所以监管的重点应该放在规范市场行为和具体的使用案例上,而不是针对特定的技术或软件组件。
这种平衡的监管策略对于确保 AI 领域的开发既具有竞争力又具有包容性来说至关重要。它还有助于抵御来自行业游说团体的不当影响,这些团体可能会试图为了自己的利益而扭曲监管框架。
原文链接:
https://www.infoq.com/articles/ai-revolution-not-monopolized/
评论