跳到主要内容

多区域 AI 部署:数据驻留、模型一致性与被忽视的延迟成本

· 阅读需 11 分钟
Tian Pan
Software Engineer

工程师为多区域 AI 部署做预算时,通常只考虑两个变量:每个区域的基础设施成本和复制开销。而真正被严重低估的,是上线之后才会暴露的三类成本:模型版本不一致导致欧盟集群与美国集群产出不同结果、KV 缓存隔离使 GDPR 区域内每个 token 的生成成本更高,以及重试逻辑将法国用户数据悄悄路由到弗吉尼亚时触发的静默合规违规。

一家德国银行为满足 GDPR 要求,花了 14 个月将一个大型开源模型部署在本地。这并不罕见。真正罕见的是,提出该架构方案的工程师从一开始就理解了合规约束。大多数团队直到事故报告出现才被迫面对这个问题。

没人谈论的模型一致性问题

即便运行的是同一个模型版本,你的欧盟部署和美国部署也不是同一个产品。相同的提示词、相同的参数、相同的系统指令——输出结果却不同。

这不是理论推断。大型模型的区域部署在语义等价的输入上会产生可测量的响应差异。规模越大,输出方差越显著:同一个模型在不同的服务环境、不同的硬件、不同的批处理行为下,不会产生完全相同的 logit 分布。对于聊天机器人,这通常无关紧要。但对于文档分类系统、金融分析流水线,或任何将一致性作为核心功能的产品,差异就至关重要了。

有几个因素会相互叠加放大这个问题。首先,并非每个模型都在每个区域同时可用。主流推理服务商会分阶段推出新模型,通常从美东或美西开始,然后逐步扩展。在分阶段发布期间,你的美国集群可能已经运行新版本模型好几周,而欧盟集群还在用旧版本。法兰克福的用户和达拉斯的用户实际上在使用不同代际的产品。其次,服务商管理的基础设施更新——包括模型权重更新、量化变更和服务优化——不会在所有区域同步进行。在一个区域提升准确率的变更,可能在发布完成之前先劣化另一个区域的表现。

操作层面的含义:如果你在评估或回归测试中跨区域比较输出,需要按区域控制模型版本,而不仅仅是模型名称。服务商侧的服务更新之后,us-east-1 的"Claude 3.7 Sonnet"和 eu-central-1 的"Claude 3.7 Sonnet"行为可能并不相同。你的监控应该将区域作为每个质量指标的一个维度来记录。

KV 缓存隔离带来的隐性成本

每一个符合欧盟合规要求的部署都隐藏着一个代价:你的 KV 缓存实际上比看起来要小。

当大模型处理请求时,它会复用之前为重复前缀计算过的注意力值——比如系统提示、共享上下文、常见文档头部。这就是 KV 缓存。在单区域部署中,缓存命中意味着跳过大量计算,大幅降低首 token 生成时间(TTFT)。对于具有稳定共享前缀的工作负载,缓存命中率可以达到 80-90%。

而在受数据驻留约束的多区域部署中,这个缓存是地理隔离的。德国用户从你的欧盟集群获得服务。美国集群积累的 KV 缓存条目——即便前缀完全相同——也无法共享,因为共享意味着将底层数据跨越司法管辖边界,而这恰恰是你竭力避免的。每个区域独立构建自己的缓存,来自更小的用户池,命中率更低。

结果是:你在欧盟部署中为每个 token 支付更多计算成本,不是因为基础设施定价差异,而是因为缓存架构受到了合规约束。这在任何上线前的成本模型中都不会体现,它只会出现在你的第一张月度账单上。

缓存隔离问题在两个节点上会进一步恶化。第一,发布新模型版本时:旧版本的 KV 张量对新版本无效,整个缓存会被清空,命中率归零,直到新缓存预热完成。如果你的美国和欧盟区域采用不同的发布时间表(分阶段发布时必然如此),欧盟区域实际上比美国区域更频繁地处于"缓存冷启动"状态。第二,欧盟流量较低时:用户池更小意味着更少的请求共享相同前缀,缓存永远无法达到美国集群的命中率。流量较低的欧盟部署在尾部前缀上几乎得不到任何缓存收益。

这里没有完美的解决方案。去中心化 KV 存储——即让一个分布式 KV 存储为多个推理节点提供服务——有助于提升单区域内的效率,但无法解决跨区域约束问题。实际可行的缓解措施是:设计具有稳定可复用前缀的提示词,并将缓存命中率作为每个区域的运营指标进行追踪。当欧盟缓存命中率显著低于美国基准时,这是值得深入排查的信号——可能意味着模型更新、流量模式变化或部署配置偏差。

跨区域回退:静默违规的温床

你的重试和故障转移逻辑不了解 GDPR,它只了解可用性。

静默驻留违规就是这样发生的:欧盟推理端点出现高延迟或返回 503,网关的重试逻辑触发,回退链中的下一个端点恰好在美国区域。请求通过了,响应返回了,你的应用日志里没有任何迹象表明发生了合规事件。等到事后审查触发——往往是被监管机构而非内部团队发现——你已经间歇性地跨司法管辖边界路由了好几个月。

分析师预计,到 2027 年,超过 40% 的 AI 相关数据泄露将源于 AI 系统的不当跨境使用。主要载体不是恶意攻击者,而是将合规视为建议而非硬约束的善意重试逻辑。

架构上的修复方案直接明了,但在运营上令人不舒服:区域锁定的回退池。不使用全局有序的端点列表,而是按司法管辖区约束你的回退链。欧盟端点只能回退到其他欧盟端点。如果所有欧盟端点都不可用,请求应该明确失败——返回一个你会告警的 503——而不是悄悄通过美国集群成功处理。

这令人不舒服,因为它意味着接受欧盟集群比全球集群更低的可用性。欧盟 SLA 只取决于欧盟基础设施本身,而不是你的全球机队。习惯了主动-主动全球故障转移的工程师和产品经理会对此产生抵触。反驳论点是:一个有时会路由到美国的欧盟集群根本不符合 GDPR——只是还没被发现而已。

检测层与预防层同等重要。AWS CloudTrail 为每个 Bedrock 请求记录 additionalEventData.inferenceRegion 字段,显示推理实际执行的位置,这可能与源区域不同。这个字段让你能够重建请求是在本地处理还是被转发了。你应该对任何 inferenceRegion 与用户所属司法管辖区不一致的请求设置告警。如果不在 AWS 上,就在网关中构建等效的日志记录:每个请求的实际服务区域,不管路由逻辑预期发送到哪里。

真正可行的部署拓扑

三种拓扑涵盖了现实世界中大多数受合规约束的部署场景:

区域固定 + 区域内路由。 每个用户固定到一个司法管辖区。德国用户始终路由到欧盟集群。在该集群内,使用缓存感知路由来最大化 KV 缓存命中。模型蓝绿发布按区域进行,每个区域有独立的验证门控。这是可预测性最强的拓扑,也是受监管行业中最常见的选择。

主动-主动 + 网关强制合规。 两个区域同时处理实时流量。网关将驻留约束作为硬性路由规则而非偏好来执行。相比固定方案,这能带来更好的资源利用率,但要求你的网关在故障场景下——包括故障转移场景——能可靠地执行规则。如果网关本身故障,执行机制就随之失效。大多数团队低估了这个故障模式。

本地部署小模型。 对于精度要求可以由小型模型满足的工作负载,一些组织完全绕过托管推理服务商,选择本地部署。一个 38 亿参数、占用 8GB 内存的模型可以在普通硬件上运行,完全满足数据驻留要求,且不存在跨区域风险。精度损失是真实存在的,但随着小模型持续改进,差距在缩小。这是唯一能在基础设施层面彻底消除跨区域合规违规的拓扑——而不是通过路由策略来管理它们。

需要监控的指标

多区域 AI 部署需要标准监控体系中不存在的指标。这些指标应该在上线前就部署好,而不是等到事故之后再补。

每区域的 KV 缓存命中率。 如果你的欧盟集群显著低于美国基准,就需要排查。常见原因:模型版本偏差、流量不足导致缓存无法预热,或前缀设计没有充分利用共享上下文。

每次请求的实际推理区域。 不是你打算路由到的区域——是推理实际执行的区域。每当回退逻辑触发时,二者就会不同。当二者不一致时,应该触发告警。

每区域的模型版本。 在分阶段发布期间,这些值会不同。明确追踪它,这样你就能知道欧盟和美国集群何时运行不同版本,并能将输出质量变化归因于版本差异,而不是提示词回归。

每区域的 TTFT(首 token 生成时间)。 对于欧盟用户,欧盟的 TTFT 应该低于美国。如果欧盟用户的欧盟 TTFT 与美国 TTFT 相当或更差,说明你的请求正在承受跨区域延迟惩罚,这通常意味着路由或缓存配置存在问题。

那个你没有进行的预算对话

多区域 AI 部署的成本不是(每区域基础设施成本 × 区域数量)。更准确的公式是:(基础设施成本 × 区域数)+(缓存惩罚 × 欧盟流量)+(每区域发布门控的运营开销)+(每次模型更新后欧盟缓存预热期间损失的延迟成本)。

最后这一项最难在事前量化,这也是它不出现在上线前估算中的原因。花了 14 个月做本地部署的德国银行,承受的是这个成本的极端版本。大多数团队承受的是较小的版本——欧盟的 token 成本略高、缓存命中率略低、每次部署的运营工作量略多——却从未将这些归因于造成它们的架构决策。

这个预算对话应该在做出部署拓扑决策时发生,而不是在账单到来之后。需要回答的问题:每个区域的预期缓存命中率是多少,美国(最优情况)和欧盟(最差情况)的缓存效率之间的 token 成本差距有多大?你的回退拓扑是什么样的,它是否有可能跨越司法管辖边界路由?模型发布将如何在区域间分阶段推进,谁负责每个司法管辖区的验证门控?

提前得到这些答案不会消除成本,但意味着你能在预算中看到它们,而不是在上线六个月后才发现它们。


多区域 AI 部署不是多区域 Web 服务的放大版。缓存架构不同,合规故障模式不同,运营成本的叠加方式也是标准基础设施规划无法捕捉的。处理得好的团队,从第一天起就将驻留视为硬约束,对每个请求的实际推理区域进行埋点,并在写下第一行部署代码之前,就将缓存效率惩罚纳入预算。

References:Let's stay in touch and Follow me for more thoughts and updates