06 LLMs 本身


当然,人工智能驱动的应用领域的明星是 LLM,它充当着所有应用的大脑。LLM 可以分为两种主要类型:「闭源专有模型」和「开源模型」。

让我们先谈谈专有模型。截至撰写本报告时,OpenAI 的 GPT-4 是当前最好、性能最佳的 LLM 模型。 它可以通过 API 获取。他们最近发布了一个企业版,没有使用限制,传输加密,不存储或训练企业数据等。

然而,他们绝不是唯一的 LLM。AnthropicClaudeCohereCommand。Google 有 Bard,又名 Palm 2,以及其他一套小型模型,如图像生成器和名为 Codey 的编码模型,它们在 Vertex AI 平台上提供。 inflection 有 Pi。Aleph Alpha(作为欧洲少数几家初创公司之一,由于欧洲常常具有挑战性的监管和融资环境)有 Luminous。还有更多即将推出的模型。Inflection AI 筹集了 13亿美元 用于训练 Pi 的下一个版本,而 Mistral(来自法国的另一家欧洲竞争对手)筹集了1.13亿美元。

该领域的竞争非常激烈,许多公司已经在建立和发布强大的大模型竞争产品,或者已经积累了大量资金来构建下一代模型。 不幸的是,由于竞争加剧,我们对这些模型的架构、训练数据以及其他重要信息了解越来越少。 这意味着许多团队在使用这些模型构建应用程序时,必须根据直觉、个人感觉、自己的内部测试和猜测来确定哪种模型是最适合他们项目的最佳选择。

GPT-4 的论文 直截了当地表示,它不会告诉你它是如何工作的。

考虑到竞争环境和 GPT-4 等大规模模型的安全影响,本报告不包含有关架构(包括模型大小)、硬件、训练计算、数据集构建、训练方法或类似内容的进一步详细信息。
—— GPT-4 论文

这是一个不幸的趋势。机器学习的许多早期进展都来自于共享和开放的合作精神。 所有模型肯定都是在像 PyTorchJAX 这样的开源软件上进行训练的。 它们使用容器和 Kubernetes 等开源基础设施。无论是 GPT-4 还是其他模型,它们肯定也受益于用于训练的开源软件、开放的网络爬虫数据,以及来自 Google 和其他团队的重要论文,比如著名的《 Attention is All You Need 》论文,该论文定义了如今大多数最强大的 LLM 所采用的 Transformer 架构。 如果 GPT-4 架构的泄漏是真实的话,那么它们很可能也受益于各种专家混合(MoE)论文,比如 Google 的《Sparsely Gated Mixture of Experts》

这些论文的许多作者已经离开 Google,开始创办自己的公司。 Anthropic 和 Cohere 是该项目的共同作者创办的。现在,《Attention is All You Need》 论文的八位作者都已经开始创办自己的公司。 Google 在这方面的血脉也非常强大,甚至超越了 「Attention is All You Need」。Inflection 的联合创始人兼 CEO Mustafa Suleyman,就是 DeepMind 的联合创始人。

奇怪的是,你可能会认为 Google 拥有最强大的模型,并主导所有竞争。 他们确实发布了一些最佳研究成果,并且是开创性内部人工智能项目的重要创造者,例如 Google 翻译和现在主导其搜索业务的各种人工智能方法。 然而,他们不愿意发布模型或通过 API 向公众开放,认为这些模型是商业机密。他们还因为是全球最大和最强大的公司之一,受到了来自政府的重点审查,因此他们谨慎行事,以免招致监管机构的抨击。 尽管 LLMs 具有诸多好处,但也存在严重缺陷,如产生幻觉、编造信息、坚持错误信息和生成有害输出。虽然一个小团队更容易摆脱这些问题,但谷歌可能面临严重的抵制,因此选择更加谨慎行事。

Google 还面临着创新者困境。他们有着世界上最主要的搜索引擎和数字广告业务,并且遥遥领先,人工智能有可能对这两项业务产生巨大冲击。 Google 必须确保他们的人工智能继续引导人们访问网页,而这是他们业务的核心。其他公司则无需担心这个问题。 一旦有人开发出一种人工智能,能够告诉别人如何做出美味的晚餐,而不必让人去访问充斥着丑陋广告的菜谱页面,人们将会涌向那个应用程序,忽略网站。这种微妙的平衡使他们陷入了困境。

然而,Google 最近全力以赴投入 AI,并将其融入他们的产品中,最近发布了适用于 G Suite 的 Duet AI 工作空间,还有 Bard、Codey 等许多正在进行中的项目。 截至目前,他们正在训练 Gemini,其中融入了 DeepMind 团队从训练 AlphaGo 中得到的一些新想法,预计它将成为世界上最强大的模型之一。Google 确实具有显著优势,他们可以利用大规模的 Nvidia GPU 和自己的定制张量芯片(TPUs)提供强大的计算能力。

在未来几年,我们预计这些模型将继续得到持续和巨大的改进,同时也会出现对它们弱点更智能的缓解措施。团队们将在不久的将来有大量智能引擎可供选择。

然而,团队需要意识到,伴随着众多选择而来的是许多挑战。不能保证在一个模型上的提示模板或结果能够在另一个模型上复用。这些模型的接口会因其训练方式的本质而发生改变。

以 Stable Diffusion 社区的一个最近例子举例。原本的图像生成扩散模型让人们感到不满,因为他们为 Stable Diffusion 1.5 准备的所有提示在不幸的 Stable Diffusion 2 上都无法工作。 然而,公司通过推出经过更好训练、有了新想法并更好理解用户提示需求的 Stable Diffusion XL ,成功恢复了许多人的信心。 然而,这一事件突显了在这个新的机器学习世界中,人们的感知和现实之间的差异。从某种意义上说,模型的接口被内置在模型本身中,并随着每个模型的变化而变化。 不像传统的软件,后端代码改变时,接口可能保持不变,但在机器学习模型中,情况并非如此。 扩散模型与大型语言模型(LLM)不同,但我们与它们互动的挑战是相似的。一个新的大型语言模型,具有不同的架构和训练集,对于之前的模型上有效的提示和代码可能会有完全不同的响应。

当我们升级传统软件时,我们预期与之互动的方式基本保持不变。例如,Photoshop 可能会微调按钮位置,添加一些新的按钮、功能和菜单,但核心功能保持不变。 然而,一个新一代的大型语言模型可能会以不同且难以预测的方式对问题和提示做出响应,团队需要理解,简单地替换一个「更好」的模型并期望一切按照相同的方式工作是不现实的。 硬编码的逻辑链可能会崩溃,或者 Agent 程序可能会以不同的方式「思考」、「推理」和「规划」,导致之前成功的 API 和工具运行失败,甚至更糟。

尽管闭源和专有模型目前在大型语言模型领域占据主导地位,但我们也看到开源领域活动的蓬勃发展。开源模型使用户可以访问模型的权重,有时还可以了解模型背后的训练数据和算法。

将这些模型称为开源在开源社区中引起了争议。开源运动随着 Linux 的广泛流行而迅速发展,为开源代码制定了一套标准许可证。 许多开源模型不符合这些许可证。它们可能仅用于研究,或者有些条款不允许特定的使用情况,例如军事用途或监控。

开源模型越来越常见的做法是不公开其训练数据。这是不幸的,因为这使其他团队无法自行复制构建模型,更深入地研究模型的偏见,或者更高效地追踪模型错误的原因。

这一点也是可以理解的,因为版权持有人对人工智能的敌对态度日益增加,导致了一系列的诉讼,试图重新制定版权法,以及欧盟匆忙制定的可能惩罚开源 AI 和专有 AI 的立法,还有其他37个国家计划实行监管。 此外,还有反人工智能组织(如 Future of Life)引发的全面道德恐慌,他们将人工智能视为一种潜在威胁,并成功地让许多故事出现在主流媒体中。

更糟糕的是,许多专有人工智能公司的领导者呼吁限制人工智能,许多人认为这是一种经典的举措,旨在为他们的专有产品建立监管壁垒,类似于 AT&T 在1913年到20世纪80年代的垄断地位。 我们还看到一些专有人工智能公司的领导者称开源为威胁,因为其无控制的发布。由于大多数公众对人工智能没有很好的理解,除了科幻电影《终结者》和《2001太空漫游》之类的作品,这些作品早在人工智能实际存在之前就问世了,本质上只是一个带有现代变奏的弗兰肯斯坦故事,因此发布训练数据变得越来越具有争议性。用 “对开源不友好” 的说法已经言之过早。

尽管如此,仍有许多团队致力于构建开源模型。在 AIIA 中,我们对开源有着更灵活的理解。 我们希望生活在一个人工智能训练者可以轻松公开发布他们的训练数据,道德恐慌组织没有夺取那么多关注度的世界,但我们现在的世界并非如此。 我们认为,随着大众与真正的人工智能进行更多的互动,而不仅仅是科幻电影中的人工智能,他们将看到其好处和现实中的缺陷(例如有时编造信息,而不是超级智能 AI 失控),道德恐慌将减弱,发布开源将变得更加容易。

开源运动始终对技术的利弊有着清晰的认识。Linux 驱动着全球主要公共云、家用路由器、绝大多数智能手机、全球的主要超级计算机、医疗设备等等。 它也被用来编写恶意软件、运行极权超级计算机和监控国家系统。总的来说,正面的用途远远超过负面的用途,在 AIIA 中,我们相信对于开源人工智能也将证明是如此。

与专有人工智能相比,开源人工智能也具有许多重要优势,例如可以使用 PEFT 轻松高效地微调模型(而专有大型语言模型由于无法访问权重而实现不了这一点),可以保证企业数据的隐私,因为模型可以在自己的基础设施上运行(而不是依赖于专有公司,后者可能会在后期更改策略),以及更容易地通过开放基准进行比较。

有各种功能强大的开源模型可用于各种个性化任务,例如用于 API 使用的 Gorilla,用于图像生成的 Stable Diffusion,以及用于语音转文本的 Whisper 等等。 Hugging Face 已成为分享和发现这些模型的默认平台。

然而,尽管我们拥有许多个性化任务的高性能模型,但开源大模型在功能上远远落后于闭源模型。 Hugging Face 分享了一个基于一系列基准测试的开源大模型排行榜,该排行榜在不断变化。 你会发现一个强大的新开源基础模型由一家大公司发布,然后开源团队对该模型进行微调 and/or 合并几个模型的权重,登上排行榜的榜首,直到下一个更好的模型发布后才被超越。 短暂的时间里,Falcon 40B 位居榜首,很快被微调版的 Falcon 40B 所取代,一个月后又被 Meta 的 Llama 2 和该模型的微调版取代。

就目前而言,Meta 的 Llama 2 仍然是最顶级的基础模型,它有多个版本,其中最大且最强大的版本是一个具有 70B 参数的模型。 所有的微调都使用该模型,尽管在撰写本报告时,Falcon 180B 的更大版本刚刚发布,很可能会重新开始这个循环。 需要注意的是,新的 Falcon 模型不符合真正的开源许可要求,并且对于未经独立许可就托管模型供他人使用有限制,所以团队在考虑将其用于生产之前需要仔细审查。

使用当前架构训练大模型需要大量的数据和 GPU 资源。这意味着像 Meta 或技术创新研究院(TII)这样的大型实验室才能生产出最好的模型。 即使在未来进行架构改变,很可能仍然需要最强大、最尖端的芯片来训练和驱动这些模型。

正如我们所见,开源模型对于人工智能的未来有着巨大的潜力,但团队在构建围绕这些模型的应用程序时需要在继续使用它们之前了解一些重要考虑因素,无论是在应用程序还是企业环境中使用。

目前在生产中运行开源模型面临以下几个主要挑战。

这些模型没有任何支持的生态系统。虽然传统开源代码通常是如此,但对于开源模型来说,这一点尤为明显。 多年来,许多公司已经发展出帮助支持传统开源代码的模式,像 Red HatUbuntu 等公司处于前沿。 它们提供服务级别协议(SLAs),迅速修复安全漏洞和错误,并保持软件在长时间内向后兼容和稳定。 对于大型、重要的开源项目,你通常可以依靠一套强大的维护者和商业企业,如 Red Hat、MongoDB、Confluent 和 Ubuntu,以确保代码的持续有效性。

但对于开源模型来说,情况并非如此。这些模型真正是按「原样」提供的,你或你的公司需要在时间上对其进行微调、支持、运行和升级。 如果它们出现错误或产生你不喜欢的输出,你需要自己解决问题。如果它们在你的系统上造成重大错误,没有可以联系的人来解决这些问题。

我们认为这是不可持续的,也是目前在生产中运行这些模型面临的巨大障碍。我们预计在不久的将来将出现两种现象,以帮助公司运行开源模型并使它们更具商业可行性,减少启动的阻力。

第一种现象是针对特定模型的社区,提供公开可用的微调和适配器,帮助解决错误,使模型随着时间的推移更加稳定可靠。 有一些社区致力于与流行模型合作,以使其随着时间的推移更安全、更智能,而不仅仅是为了取得微调成果以打破基准并登上排行榜。 我们预计会出现针对模型的各种问题的公开「错误」跟踪器,例如有害输出或不连贯的输出。 我们还预计这些社区随着时间的推移将创建「技能包」或「功能增强」,例如添加医学知识,改进和完善问答能力,提升数学能力。

其次,我们预计会出现类似红帽(Red Hat)风格的商业开源模型公司的崛起,它们不仅提供运行模型的服务,还会长期提供支持,提供专业的「错误修复」或「技能包升级」。这里的「错误」与传统代码略有不同的含义。 您可以将模型需要进行错误修复的情况理解为每当它执行您不希望的操作时。如果模型在对话中鼓励某人自杀,公司将需要有人来修复这个错误。 如果您想要使用该模型来分析法律文件,您希望有一家公司提供一个可互换的适配器,该适配器经过训练和调整以适应法律文件,也就是所谓的技能升级,以使模型在这类工作中表现出色。

对于公司来说,仅仅运行这些模型并为公司提供推理芯片、容器或虚拟机是不够的。 我们需要一个完整的行业生态系统为这些模型提供支持,使大多数公司能够在生产环境中运行这些模型,并确信在出现问题时有人可以求助。

为了实现这一目标,我们需要看到一系列新的快速错误修复技术的结合,例如快速合成数据创建,将其反馈到模型中,以及数据标注、微调等方面的数量级加速。 这些都是深层次且具有挑战性的问题,我们预计许多公司将应对这一挑战。随着强大的 GPU 变得更加普遍可得,规模较小、更具敏捷性的公司能够获得这些技术的应用机会。

除了基本支持的严重缺乏外,将开源大型语言模型(LLMs)应用于生产环境还存在重大资源挑战。

Falcon 40B 这样在 Hugging Face 排行榜上名列前茅的模型在生产环境中很难运行。 首先,内存使用量在 Transformer 架构的模型参数数量上呈二次方倍增。 Falcon-40B 需要 80-100GB 的内存以 16 bit 精度运行,这意味着每个模型实例需要专用的 A100 或 H100。 以低延迟运行模型的挑战更大,需要多个数据中心的 GPU。

像 Meta 早期的 LLaMA 1 65B 或 Llama 2 70B 这样的更大型号模型,需要的内存超过了单个数据中心级别的 GPU 通常能提供的内存。 PyTorch 团队估计,要以低延迟在生产环境中运行完整的 LLaMA 1 65B,您需要一个 v4-16Cloud TPU 或 8 个 A100。

像 GPT-3 这样的 175B 参数模型,在 16 bit 精度下需要消耗 351GB 的内存,这意味着需要一个 v4-32 实例或 16 个 A100 来运行该模型。 研究人员正在探索如何通过量化等技巧来降低这些模型的精度,甚至通过 QLoRA 进行更极端的 4 bit 量化。 权重量化可以使模型在较小的实例上运行,降低内存消耗,但由于 LLaMA 对模型激活进行分片,这意味着通信减少可以忽略不计。

量化可以减少表示一个值所需的位数,同时缩小跨多个加速器传输数据的带宽,从而降低为特定模型大小提供服务的硬件要求。 虽然会有一定的性能损失,但这种方法可以大幅减小模型大小,如果将精度降低到 8 bit 甚至 4 bit,通常可以减少 50% 甚至更多。

正如 PyTorch 团队指出的那样,在生产环境中运行这些模型存在三个主要问题:

  • 首先,LLMs具有几个特性,使其优化变得具有挑战性。例如,Hugging Face 排行榜上的 Falcon 40B 模型以及 PyTorch 团队都提到了量化和通过 QLoRA 进行 4 bit 量化。 LLMs 使用自回归解码来基于前一个标记生成下一个标记,这意味着提示张量具有动态大小。
  • 由于 LLMs 处理可变长度的输入提示,输入张量必须进行分桶 (bucketized) 和填充 (padded),以避免因张量形状改变而重新编译。
  • 由于模型需要的内存超过单个推理芯片的处理能力,因此必须使用模型分片方案和分布式计算。

在 AIIA,我们很难找到任何一家公司可以在减小这些模型的大小并将其应用于生产环境中为人们提供服务。

我们找到了一些公司,它们允许您在虚拟机或容器中运行这些模型,例如 RunPodDataCrunch。 这些实例按小时计费,这与 OpenAI 和其他主要专有模型供应商用于生产计费的按 token 消耗模型有很大的区别。 这对于模型来说代表着显著的运行成本,公司需要几乎持续使用模型来证明成本与消耗定价之间的合理性。

其他公司按秒计费,例如 Replicate。他们以每秒的干扰时间收费,适用于各种模型,以及启动和关闭时间。 一些公司也开始按 token 收费,通常是针对 Llama 2 模型,其中包括 Deep InfraMosaic ML(现在由 Databricks 拥有)。我们预计未来会有更多公司按 token 收费用于主要的开源模型。

根据 DataCrunch 2023年8月的定价,我们可以看到单个 Nvidia H100 的运行成本为每小时 3.50美元,年费为 30,660美元(如果承诺一年,可以将价格降至每小时1.87美元)。 运行一个 2路 Nvidia H100 集群的成本为每小时 7.00美元,年费为 61,320美元。在 8路集群上运行像 Llama 2 70B 这样的大型模型将花费您高达每小时28.00美元,年费为245,280美元。

使用旧的芯片(如 Nvidia A100),成本会降低,每小时降至 2.20美元,年费为 19,272美元,但仍然是相当可观的。 根据 PyTorch 团队对 LLaMA 65B 进行的低延迟计算,我们可以看到一个8路 Nvidia A100 pod 的成本为每小时17.60美元,年费为154,176美元,适用于单个模型实例。

这些成本非常高,超出了许多团队的承受范围。 我们预计成本会随着时间的推移而下降,但对组织来说仍然很大。

在 AIIA,我们还预计会出现专门为公司运行这些模型的公司,并通过定义明确和维护良好的 API 为他们提供服务,并且在不久的将来可以按 token 和基础消费进行请求并行化计费。如果没有这一点,大多数公司根本没有能力运行这些模型。

这就引出了运行开源模型的最后一个主要问题。

迄今为止,最大的问题是法律挑战。许多主要的开源模型并没有授权供商业使用,因此公司需要谨慎行事。他们需要阅读许可证并了解其限制和限制条件。

Llama 2 和 Falcon 40B 是以商业友好模式发布的。然而,Meta 模型并不是完全没有限制。 根据其条款和条件,如果您的应用程序在上一个日历月内的「月活跃用户超过7亿人次」,则必须向 Meta 申请许可证。

尽管我们看到一些开源社区的人指出这个许可证并不是真正的开源,但它是最开放的模型之一,通常对团队来说是一个不错的选择。 大多数团队永远不会达到7亿月活跃用户,如果确实达到了,这意味着该应用程序非常受欢迎,有足够的价值可以支付特殊许可证的费用。 再次强调,虽然我们对开源 AI 中存在这种限制感到失望,但我们并不认为它是「不开源」或完全没有用处,因为我们对开源的定义采取更加务实的立场。 这并不意味着公司不能在这方面做得更好,我们希望他们未来能够更加符合开源的真正精神。

然而,对于应用程序开发团队来说,可能会成为问题的不仅仅是商业使用的限制。 模型通常附带使用政策,这可能对您的用例造成问题。例如,Llama 2 不能在关键基础设施或重型机械中使用。 因此应用程序开发人员了解他们可以做什么和不能做什么是非常重要的。

然而,如果您不是应用程序开发人员,那么开源模型世界将是研究人员的黄金时代。 我们已经看到了开源模型的巨大爆炸,这些高质量的基础模型对这些研究人员来说是巨大的福音。 他们可以尝试各种各样的技术,如果他们必须从头开始训练模型,这是不可能的。 这就是为什么我们看到了大量的模型尝试使用更好的逻辑和推理技术,比如将开源模型作为世界模型,并借鉴 AlphaGo 的思想,使用蒙特卡洛树搜索。 我们还看到了大量的指导调整模型,这些模型是由 ChatGPT 本身的输出或者像 Databrick 的 Dolly-15k 数据集这样的开放数据集教授的,该数据集是由 Databrick 的员工众包而来。 斯坦福的一个学生团队发起了指导调整模型的趋势,并且一直没有减缓,研究人员紧随其后进行了自己的迭代和数据集。

正如我们之前所看到的,指导调整是一种监督学习方法,它教会语言模型如何按照指令完成任务。 Google 的一篇名为《Fine-tuned Language Models Are Zero-Shot Learners》 的论文引入了这个概念,受到了研究人员的热烈追捧。 类似 AlpaceFLAN V2 这样的开源模型利用指导调整取得了巨大的成果,创建出可以与顶级模型进行对话的模型。

但是,尽管开源模型的存在让研究人员可以尝试各种各样的想法,但对于商业企业来说,这也可能是另一个陷阱。 例如,许多研究人员经常使用 ChatGPT 或 GPT-4 的输出来生成用于微调或指导调整模型的合成数据。 斯坦福的 Alpaca 模型是第一个推广这种方法的模型,其他人紧随其后。 然而,问题在于 OpenAI 的使用条款明确禁止使用 GPT 的输出来创建与 OpenAI 竞争的模型,这对于应用程序开发人员来说是另一个法律地雷,如果他们没有仔细注意的话。

因此,所有的应用程序开发人员和企业都需要仔细审查模型的任何限制或问题,并在有疑问时避免在生产中使用该模型。 在 AIIA,我们对随着越来越多的团队构建高质量的开源模型,这种情况将会随着时间的推移而发生变化抱有希望。 我们甚至可以看到一大批大公司联合起来,确保高质量的模型得到训练,拥有干净的数据集、清晰的许可证,并对所有参与者带来明确的好处。 这种模式在 Linux 时代非常成功,我们怀疑在人工智能时代也将再次发生,因为公司能意识到他们对专有模型的日益依赖。