在过去两年里,我更多地参与了使用大型语言模型(LLM)而非传统系统的生成式人工智能项目。我开始怀念无服务器云计算。它们的应用范围从增强会话式人工智能到提供跨行业的复杂分析解决方案,以及其他许多功能。许多企业在云平台上部署这些模型,因为有现成的公共云提供商生态系统,这是阻力最小的途径。然而,这样做的成本并不便宜。
云还提供了其他许多好处,如可扩展性、效率和高级计算能力(按需GPU)。LLM在公共云平台上的部署过程有一些鲜为人知的秘密,这些秘密可能会对成功与否产生重大影响。也许是因为能够处理LLM的人工智能专家并不多,也因为我们做这方面的应用时间不长,所以我们的知识存在很多空白。
接下来,让我们来探讨一下在云上部署LLM的三个鲜为人知的“秘密”,这些秘密甚至可能连您的人工智能工程师都不知道。
管理成本效率和可扩展性
使用云平台部署LLM的主要吸引力之一是能够根据需要扩展资源。我们不需要成为优秀的容量规划者,因为云平台拥有我们可以通过点击鼠标或自动分配的资源。
但是,我们可能即将犯与第一次使用云计算时同样的错误。在扩展的同时管理成本并非一项任何人都能轻松掌握的技能。因为云服务通常根据所消耗的计算资源收费;消耗的越多,付出的就越多。考虑到GPU的成本更高(并且消耗更多的能量),这是公共云提供商关注的核心LLM问题。
为此,请确保您使用了成本管理工具,包括云平台提供的工具和可靠的第三方成本管理和监控参与者提供的工具。同时,您可以通过实现自动扩展和调度,选择合适的实例类型,或者使用可抢占的实例来优化成本。另外,请记住持续监控部署,以便根据使用情况调整资源,而不是仅仅使用预测的负载。这意味着要不惜一切代价避免过度配置。
多租户环境中的数据隐私
部署LLM通常涉及处理大量数据和训练过的知识模型,其中可能包含敏感或专有数据。使用公共云的风险在于,您有在相同物理硬件上运行的以处理实例形式存在的“邻居”。因为公共云确实存在这样的风险:在存储和处理数据时,公共云数据中心中运行在相同物理硬件上的另一个虚拟机可能会以某种方式访问数据。
所有多租户系统都存在这种风险,甚至规模越小的云提供商——比如许多只在一个国家运营的云提供商——就越有可能出现这个问题。您需要缓解这一风险。
秘诀在于选择符合严格安全标准的云提供商,这些标准可以证明其具备静态和传输中的加密、身份和访问管理(IAM)以及隔离策略。当然,最好实现安全策略和安全技术堆栈,以降低在云上使用LLM的多租户风险。
处理有状态(stateful)模型部署
LLM大多是有状态的,这意味着它们维护从一个交互到下一个交互的信息。这个属性提供了一个新的好处:在持续学习场景中不断提高效率。然而,在云环境中管理这些模型的有状态属性是很棘手的一件事,因为在云环境中,实例可能是临时的或设计为无状态的。
支持有状态部署的编排工具(如Kubernetes)很有帮助。它们可以利用LLM的持久存储选项,并被配置为跨会话维护和操作它们的状态。您将需要它来支持LLM的连续性和性能。
随着生成式人工智能的爆炸式增长,在云平台上部署LLM已成定势。我担心的是,我们会在此过程中错过一些很容易解决的问题,从而犯下巨大的、代价高昂的错误,而这些错误大多是可以避免的。