揭秘 Anthropic 如何降低 Claude 模型的训练与推理成本

01/引言

在 GenAI 时代,云成本达到了历史新高。这并不仅仅因为企业使用了更多计算资源,而是他们没有高效地利用这些资源。

根据 Harness 的研究,预计今年的企业云支出浪费将高达 445 亿美元,相当于每分钟烧掉 8.5 万美元。

Anthropic 是一家 AI 初创公司,总部位于旧金山。目前是硅谷最受欢迎的人工智能公司之一,最新一轮估值为 615 亿美元,业内排名第二,是 OpenAI 最大的竞争对手。

作为 Claude 模型背后的创造者,Anthropic 早已成为 AI 模型领域的明星选手。

Anthropic 首席工程师 Nova DasSarma 透露,他们几乎完全在 Kubernetes 和 Karpenter 上工作,“从训练到数据,再到推理”。

每天成千上万的模型训练任务、数据预处理流程、推理请求,需要跑在极其庞大的 Kubernetes 集群之上。而如何在保证性能的前提下优化成本,成为他们基础设施团队的核心命题。

在 AWS re:Invent 大会上,DasSarma 分享了他们使用 Karpenter 优化资源调度、提升基础设施敏捷性的全过程。

Anthropic 的 AI 模型使用了多种类型的 AWS 实例。在使用 Karpenter 之后,他们几乎做到了将 AWS 成本减半。

“在按需实例的基础上,我们实现了  40% 的年度成本下降,这主要得益于 Karpenter 能够灵活调度多种实例类型,以及我们广泛采用 Spot 实例,” DasSarma 表示,“而且整个过程中,我们完全不需要对 Cluster Autoscaler 进行任何调优。”

“Cluster Autoscaler 经常会卡在各种问题上,而 Karpenter 不会。它始终保持敏捷。”

今天,我们就来一起拆解这条“降本增效”的实践之路。

02/Karpenter 是什么?

Karpenter 由 AWS 于 2021 年推出并开源,并于2023年捐赠给 CNCF 社区。

简单来说,Karpenter 就是比 Cluster Autoscaler 更高效的弹性伸缩工具。

它能够根据 Pod 的实际需求,动态选择最合适的实例类型和可用区,自动创建和释放节点。

Karpenter 的核心工作机制包括:

  1. 监控未被调度的Pod:也就是那些被 Kubernetes 调度器标记为“无法调度”的 Pod;
  2. 评估Pod的调度约束条件:比如 CPU、内存需求,可用区限制,或者需要特定标签的节点;
  3. 智能按需配置节点:根据实际资源和约束,自动选择合适的实例类型并启动节点;
  4. 节点闲置时自动移除:避免资源闲置造成浪费,实现“要多少用多少”。

相比 Cluster Autoscaler,Karpenter 启动更快、调度更灵活,能在提升性能的同时显著降低成本,特别适合与 Spot 实例搭配使用。

它不依赖预定义的 NodeGroup,而是根据实际调度需求,即时自动选择最合适的实例类型和可用区,特别适合多样化、资源需求动态变化的工作负载,比如大模型训练、批处理、弹性推理等。

从 Cluster Autoscaler 迁移至 Karpenter 的经典案例之一是 Grafana(我们曾介绍过,点击此处查看详细案例)。

最初他们使用 CA,但很快发现 EKS 集群的效率和弹性受到限制:实例类型选择不够灵活,无法同时扩缩多种类型;一旦 Spot 实例不可用,也无法自动回退到按需实例,甚至导致服务中断。

03/Anthropic 的 K8s 策略

S3 替代持久卷

在谈及 Anthropic 如何在 AWS 上部署 Kubernetes 集群时,Nova DasSarma 表示:

“我们用 Karpenter 来为 Dask 和 Spark 的工作负载调度 Spot 类型的 EC2 实例。”

整个数据处理流程大致如下:

  1. 从原始数据桶中读取数据;
  2. 对数据进行分词处理;
  3. 将处理结果写入 S3 上的分词结果桶;
  4. 然后再将其送入更高性能的加速型 EC2 实例(如 P4d、新一代的 P5 以及 Trainium)上进行模型训练。
“这些任务全都运行在 EKS 里。”

在模型训练环节,Anthropic 并不使用传统的 PV(Persistent Volume,持久卷)来存储模型 checkpoint,而是直接将 checkpoint 保存在 S3 上:

“我们其实不怎么用 PV,因为我们发现直接使用 S3 的性能就已经足够了。”

多实例混用

关于为什么放弃 Cluster Autoscaler 转向 Karpenter,DasSarma 进一步解释了他们的演进过程:

“过去我们使用 Cluster Autoscaler,会为特定的 Spark 作业预定义一组固定的 R5 实例。可问题是,我们经常会遇到容量不足,或者资源配比(CPU/内存比例)不合适的情况。”
“而现在有了 Karpenter,我们可以直接表达工作负载对资源的需求,比如更高 CPU 比例、更大内存等,而不用手动去挑选具体的实例类型。”

此外,Anthropic 也在实践中混用了 Spot 实例、按需实例和预留实例,进一步优化了整体成本结构。

最终的结果也非常亮眼:

“和完全使用 On-Demand 实例相比,我们实现了 40% 的年度成本下降,这得益于 Karpenter 对实例类型的灵活选择能力,以及我们更广泛地使用了 Spot 实例。”

“这过程中完全不需要对 Cluster Autoscaler进行手动调优,Cluster Autoscaler 经常在各种地方卡住。Karpenter 就不会这样,它一直很‘灵敏’。”

04/ 企业级生产可用的 Karpenter:CloudPilot AI

Karpenter 在调度灵活性和响应速度上表现出色,但在企业级落地中仍存在一些关键短板:如仅支持单可用区调度,无法应对区域性容量不足;Spot 实例中断只依赖 AWS 提供的两分钟通知,缺乏提前预警能力;在稳定性与成本之间也难以灵活权衡。

CloudPilot AI 在此基础上进一步增强,支持最长 45 分钟的 Spot 实例中断预测,并具备跨可用区的智能调度能力。它还内置 Pod rightsizing 功能,同时根据策略自动混合使用按需和 Spot 实例,结合实例类型多样化选择机制,提升可用性与成本效率。

此外,CloudPilot AI 提供了稳定优先、成本优先等多种调度策略,并对多副本服务强制执行反亲和策略,自动实现副本打散,因此无需修改原有 workload 即可实现高可用调度,应对灵活多变的应用场景。

CloudPilot AI 让 Karpenter 真正具备了企业级生产可用性,在稳定性、性价比和自动化程度之间实现全面升级。

更详细的功能解读,请参见:弹性伸缩从可用到好用,中间差了这 8 个关键点——CloudPilot AI 如何补齐?

目前 CloudPilot AI 已服务 100+ 家企业,平均节省67%的云成本,累计节省超5000万美金。产品开放30天免费试用,欢迎注册:

cloudpilot.ai

推荐阅读

年吞百万请求,全球知名自由职业平台Fiverr的K8s弹性伸缩方案升级

弹性伸缩从可用到好用,中间差了这 8 个关键点——CloudPilot AI 如何补齐?

面对3倍流量激增,「纽约时报」如何既稳又省?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值