云端部署大模型的三个秘密 原创
编译 | 星璇
出品 | 51CTO技术栈(微信号:blog51cto)
在过去的两年里,我更多地参与了使用大型语言模型(LLMs)的生成式AI项目,而非传统的系统。我开始怀念无服务器云计算。它们的应用范围广泛,从增强对话式AI到为各行各业提供复杂的分析解决方案,以及其他许多功能。许多企业将这些模型部署在云平台上,因为公共云提供商已经提供了现成的生态系统,而且这是阻力最小的路径。然而,这并不便宜。
云还提供了其他好处,如可扩展性、效率和高级计算能力(按需提供GPU)。在公共云平台上部署LLM的过程有一些鲜为人知的秘密,它们可能会对成功或失败产生重大影响。也许是因为处理LLMs的AI专家并不多,也因为我们在这方面还没有太多经验,我们的知识体系中存在很多空白。
让我们探讨三个在云上部署LLM时鲜为人知的“技巧”,也许你的AI工程师们也不知道。考虑到这些工程师的年薪往往超过30万美元,也许现在是时候考考他们做这些事情的细节了。我看到每个人都像头发着火一样奔向生成式AI,但犯的错误比以往任何时候都多。
1.管理成本效益和可扩展性
使用云平台部署LLMs的主要吸引力之一是能够按需扩展资源。我们不必成为优秀的容量规划师,因为云平台拥有我们只需点击鼠标或自动分配的资源。
但是,等等,我们即将犯下当初使用云计算时犯下的同样错误。在扩展的同时管理成本是一项技能,许多人需要在这方面获得帮助以进行有效导航。请记住,云服务通常根据消耗的计算资源收费;它们就像公共事业一样运作。处理得越多,付费就越多。考虑到GPU的成本更高(且耗电量更大),这是使用公共云提供商的LLMs时的核心关注点。
请确保您使用成本管理工具,包括云平台提供的工具和可靠的第三方成本治理和监控服务商(finops)提供的工具。例如,实施自动扩展和调度、选择合适的实例类型或使用抢占式实例来优化成本。此外,请记得持续监控部署情况,根据使用情况而不是仅根据预测负载调整资源。这意味着不惜一切代价避免过度配置(明白我这里的双关了吗?)。
2.多租户环境中的数据隐私
部署LLMs通常涉及处理大量数据和训练过的知识模型,这些可能包含敏感或专有数据。使用公共云的风险在于,你的“邻居”是以处理实例的形式存在,它们在同一物理硬件上运行。因此,公共云确实存在这样的风险:在数据存储和处理过程中,数据可能会被公共云数据中心中同一物理硬件上运行的其他虚拟机访问。
如果你询问公共云提供商有关此问题,他们会急忙拿出最新的PowerPoint演示文稿,展示这是不可能的。虽然这主要是真的,但并不完全准确。所有多租户系统都存在这种风险;你需要加以缓解。我发现,云提供商的规模越小,比如那些仅在单一国家运营的云提供商,这种问题出现的可能性就越大。这适用于数据存储和LLMs。
秘诀在于选择符合严格安全标准并能提供证明的云提供商:静止和传输中的数据加密、身份和访问管理(IAM)以及隔离策略。当然,更好的做法是你实施自己的安全策略和安全技术栈,以确保在云上使用多租户LLMs的风险较低。
3.处理有状态模型部署
大型语言模型(LLMs)大多数都是有状态的,这意味着它们会在一次交互到下一次交互之间保留信息。这个旧方法提供了新的好处:即在持续学习场景中提高效率的能力。然而,在云环境中管理这些模型的有状态性是有挑战性的,因为云环境中的实例可能是按设计短暂或无状态的。
支持有状态部署的编排工具(如 Kubernetes)是有帮助的。它们可以为大型语言模型利用持久性存储选项,并配置为跨会话维护和操作其状态。为了支持大型语言模型的连续性和性能,您需要这样做。
随着生成式人工智能的爆炸式增长,在云平台上部署大型语言模型已成定局。对于大多数企业来说,不使用云实在是太不方便了。我对接下来这股狂热的担忧是,我们会错过一些容易解决的问题,并会犯下巨大而昂贵的错误,而这些错误在最终大多是可以避免的。
本文转载自51CTO技术栈,作者:星璇