设想两家餐厅:一家是“全能西餐厅”,后厨有几十位全能厨师,任何菜谱都能接;另一家是“回转寿司中央工厂”,全厂只做一件事——飞快地捏出寿司。Google 的 Cloud TPU 就是后者:它是专为“矩阵乘法”这道招牌菜建造的中央工厂。深度学习的计算量九成以上压在矩阵乘法上,于是 Google 干脆放弃“什么都能做”的通用性,用一条条流水线(脉动阵列)把这件事做到极致。数据像寿司碟一样在计算单元之间逐站传递,每个单元只完成一次“相乘加累加”的小工序,就传给下一个工位。相比之下,NVIDIA GPU 更像全能西餐厅:灵活、易用、什么都能跑,但大规模训练时,TPU 流水线的单位成本效率常常更高。这篇指南从硬件原理讲到与 GPU 的选型决策,再到 TPU 虚拟机、框架接入、性能调优与生产运维,帮你为手头的 AI 任务选对算力。
学会 TPU 的选型与调优,你就能在大模型训练这类重算力场景里做出性价比最高的架构决策,这是 AI 基础设施工程师的核心竞争力。
目录
可视化演示
Cloud TPU是Google专为机器学习设计的高性能加速器,在大规模训练中优势显著。拖动滑块调整批处理规模,观察TPU与GPU对比及训练性能表现。
本节配有交互动效(进入视口后自动加载,约 3KB)。
TPU加速核心 高吞吐 大规模训练 TPU→高算力→快
TPU硬件架构:给矩阵乘法盖的“寿司工厂”
想象你走进一家回转寿司中央工厂。家里的厨房(CPU)什么菜都能做,但一次只能做一两道;高级西餐厅(GPU)请了上百个全能厨师,每道菜都能并行开工;而这座寿司工厂(TPU)只做寿司,全厂只练一招——把米饭和鱼片组合起来。深度学习里,神经网络的计算量九成以上都压在“矩阵乘法”这道菜上,Google 干脆为它建了一座只做这道菜的工厂。
这座工厂的核心部件,是业界称为“脉动阵列”(Systolic Array)的流水线。寿司碟在传送带上流动,每个工位只负责一小步工序,做完就传给下一个工位,不必每步都跑回仓库取料。TPU 里的数据也是这样:数据像心跳一样一拍一拍地(时钟同步)传向相邻的计算单元,每个单元只做一次“乘加”,就把中间结果继续往下传——这正是 TPU 名字里“脉动”二字的由来。
TPU 最核心的计算单元叫 MXU(矩阵乘法单元),它就像一个巨大的“捏饭团机械臂阵列”,一次同时处理上百乘上百的矩阵块。MXU 旁紧贴着大容量片上存储(类似传送带旁的备料台),数据就地取用,不必频繁回到 HBM 大冷库。整条流水线采用数据流式计算:数据流动到哪里,计算就发生在哪里。以两个 $n\times n$ 矩阵相乘为例:
在脉动阵列里,这 $n$ 次累加不是在一个工位上一次做完,而是让鱼片和饭团在不同工位之间“擦肩而过”,每擦肩一次就贡献一份乘积。寿司碟在传送带上转一圈,一盘完整的寿司就拼出来了;同理,一个数据波在阵列里扫过一遍,输出矩阵就填满了。
- 定义输出矩阵$C$ 是 $A$ 与 $B$ 相乘的结果矩阵,它的第 $i$ 行第 $j$ 列元素记作 $c_{ij}$。
- 提取被乘数$a_{ik}$ 表示 $A$ 矩阵第 $i$ 行第 $k$ 列的元素,它是流水线上第 $i$ 行工位收到的“鱼片”。
- 提取乘数$b_{kj}$ 表示 $B$ 矩阵第 $k$ 行第 $j$ 列的元素,它是从顶部一路流下来的“饭团”。
- 逐项相乘累加把 $a_{ik}$ 与 $b_{kj}$ 相乘后加到 $c_{ij}$ 上,$k$ 从 1 变到 $n$ 就完成了全部累加。
与GPU对比选型:全能厨房还是专线工厂
手里有一份大订单——比如办一场千人宴会,你会选西餐厅后厨,还是寿司中央工厂?如果宴会上需要上千道不同的菜,全能厨房更稳;如果订单是“一万份同样的寿司”,中央工厂的速度和成本会压倒性胜出。选 GPU 还是 TPU,本质是同一道选择题。
GPU 像全能西餐厅:图形渲染、数值计算、小批量推理样样能接,生态成熟、上手轻松。但也正因为要“什么都会”,它在纯矩阵乘法上的效率不如专线工厂——芯片面积里有很大一部分耗在通用调度、缓存与图形逻辑上。TPU 则把几乎全部晶体管都给了 MXU 与脉动阵列,只为矩阵乘法服务。
因此选型要看三点:一是算力密度,大模型训练动辄千万亿次浮点运算,TPU 每瓦特每美元能产出的有效算力更高;二是利用率,TPU 只有在大 batch、持续计算的场景才能喂饱流水线,小负载上去反而吃不饱;三是成本结构,TPU 按秒计费且规格固定,适合长时稳定训练。用一个公式衡量“每美元有效算力”:
所以,如果你的业务像“千人宴会”一样五花八门——频繁小批量推理、异构工作负载——全能厨房 GPU 更顺手;如果你的业务像“一万份寿司”——千亿参数大模型、长时间稳定预训练——专线工厂 TPU 的单位成本和吞吐会给你惊喜。这也是 Google 内部训练大模型几乎都跑在 TPU 上的原因。
- 峰值算力 $R$硬件标称的浮点运算能力,相当于工厂“满负荷生产”的设计产能,单位常为 TFLOPS 或 PFLOPS。
- 实际利用率 $U$由于数据搬运、等待、通信等原因,真实产能总打折扣,$U$ 是 0 到 1 之间的比例。
- 单位成本 $C$每小时租用该算力的价格,对应工厂的时薪与水电开销。
- 综合判定把三者合成指标 $E$,数值越大说明每一块钱买到的有效计算越多,选型优先看它。
TPU虚拟机管理:租一条整装车间
去寿司中央工厂参观,你不可能只租一台捏饭团机器,必须连传送带、机械臂、排产电脑一起租下一整条车间。Cloud TPU 的交付方式也一样:它不叫“实例”,而叫“TPU 节点(TPU Node)”;更常见的做法是创建一台“TPU 虚拟机(TPU VM)”,计算芯片、高速互联与驱动环境打包交付,开箱即用。
在 Google Cloud 控制台或 gcloud 命令里创建 TPU VM 时,首先要选节点类型:从较早的 v2、v3,到面向大模型的 v4,再到兼顾训练与推理的 v5e;每代又分为单芯片与多芯片版本(如 v3-8 表示一块板卡内含 8 颗芯片)。选型逻辑和租车间类似:先估订单量(模型规模与数据量),再选车间大小(芯片数与内存)。
创建完成后,TPU VM 与普通 Linux 虚拟机一样支持 SSH 登录、安装依赖、上传代码。因为 TPU 直连主机,训练时不需要像老式 TPU Node 那样在外部 VM 与 TPU 之间来回传数据,延迟更低。生命周期管理也很直接:不用了执行删除或停止,计费随之停止。多颗芯片的编组能力(如 v4-64 的 Pod)由 Google 的高速互联网络负责,对用户表现为一台“巨型计算机”。训练有效算力可按下式估算:
记住,TPU VM 是一条“整装车间”,不是散装零件。选好节点类型、用 SSH 进门、按生命周期开关车间——这套操作是每一位 TPU 用户的第一课,也是后续所有调优工作的地基。
- 单芯片标称算力$P_{\text{芯片}}$ 是 TPU 节点中单颗芯片的峰值浮点运算能力,相当于流水线上一台机械臂的单位时间产量。
- 芯片数量$N_{\text{芯片}}$ 是该节点包含的芯片总数,如 v3-8 中 $N_{\text{芯片}}=8$。
- 实效折扣$\eta$($0<\eta<1$)把通信延迟、同步等待与调度开销折算成折扣,芯片越多折扣越明显。
- 总有效算力三者相乘得到整条车间的实际产出能力 $T_{\text{总}}$,这是估算训练时长的依据。
框架接入实践:把菜谱翻译成流水线工序
寿司工厂拿到了菜谱(比如“鳗鱼握寿司:米饭 15g,鳗鱼一片,酱油少许”),但菜谱是给厨师看的自然语言,机器不会直接执行。工厂需要一位“排产工程师”,把菜谱拆解成“第 1 工位放饭、第 2 工位放鱼、第 3 工位刷酱”这样的工序单。在 TPU 世界里,这位排产工程师就是 XLA 编译器,而 JAX、TensorFlow、PyTorch 就是三本不同风格的菜谱。
三本菜谱各有特点:JAX 是 Google 自家“亲儿子”,从设计之初就为 TPU 而生,用 NumPy 风格 API 写代码,配合 jax.jit 编译后几乎零成本跑上 TPU;TensorFlow 与 TPU 同源,通过 TPUStrategy 开箱即用;PyTorch 则在 PJRT 运行时的帮助下完成适配,现在也能把 torch.compile 的产物送往 XLA。选哪本菜谱,取决于团队习惯与模型生态。
接入的关键路径是:XLA 把高级算子融合成"kernel",再把 kernel 映射到脉动阵列的流水线工序上。动态图逐算子解释执行,就像厨师每做一道菜都要重新读一遍菜谱;而 XLA 编译后的静态图,相当于把整本菜谱一次性变成工序单,省去了大量中间解释开销。令 $T_{\text{动态}}$ 为逐算子执行总耗时,$T_{\text{XLA}}$ 为编译后执行总耗时:
对小白来说,记住一句话:菜谱只是起点,排产才是关键。无论 JAX、TensorFlow 还是 PyTorch,只要把代码交给 XLA 这位排产工程师,寿司工厂的流水线就能读懂你的菜谱;反之,如果模型里有 XLA 不认识的算子,工厂就得“临时开小灶”,速度大打折扣——这也是接入时最需要排查的问题。
- 动态执行耗时$T_{\text{动态}}$ 是 Python 逐算子调度、每次运算都穿越框架边界的时间总和。
- 编译执行耗时$T_{\text{XLA}}$ 是 XLA 融合算子后一次性送进流水线的时间总和。
- 除法求比$S = T_{\text{动态}} / T_{\text{XLA}}$,比值越大,说明静态排产的收益越高。
性能调优技巧:让流水线永远不空转
寿司工厂最怕什么?传送带空转。如果一份订单只有 3 盘寿司,整条流水线大部分工位都闲着,电费却照付。TPU 也一样,它的调优核心只有一个目标:让千万个计算单元始终有活干。
四大招恰好对应工厂的四个环节。第一招“批处理规模调参”:把若干小订单合并成大订单,一次端上足够多的寿司碟(增大 batch size),让 MXU 的矩阵块尽可能满;但也不能无限大,装不进片上备料台就会溢出。第二招“混合精度”:用 bfloat16 代替 float32,鱼片切得“糙”一点,但计算速度翻倍、内存减半,训练精度损失通常可接受。第三招“数据加载流水线”:提前把原料从大冷库搬到备料台,训练的同时后台预取下一批数据,避免“等料”。第四招“多 TPU 并行”:把订单分给多条流水线,用数据并行或模型分片协同完成。
并行不是免费的——多车间之间要同步、要传半成品,这部分开销就是流水线之间的“交接损耗”。设 $p$ 为可并行部分占比,$N$ 为车间数:
调优的本质,就是回答三个问题:订单够不够大(够大 batch 才能喂饱流水线)?备料跟不跟得上(数据流水线是否畅通)?车间之间的交接是否太多(并行策略与通信开销)?把这三点调到均衡,你的 TPU 就是一座 24 小时满负荷运转的寿司工厂。
- 串行比例 $1-p$无法并行的部分(如启动、同步、少量单点计算),相当于车间之间固定的交接流程。
- 并行比例 $p$可被多条流水线分摊的计算部分,理想情况下均分到 $N$ 个车间。
- 分母合成串行时间与并行时间之和,就是加速后的归一化总耗时。
- 取倒数求加速比用原始耗时 1 除以新耗时,得到加速比 $S(N)$。
生产运维实践:工厂的安保与应急预案
一座再先进的工厂,也得有人管配额、看电表、修机器。TPU 的生产运维,就是这些“后勤工作”的云上版本——它不炫目,但决定你的训练能不能按时交付。
首先是配额申请管理。TPU 芯片是稀缺资源,每个区域都有配额上限,创建节点前要先在 IAM 与配额页面确认或申请,否则会报“配额不足”错误。其次是成本监控:TPU 按秒计费、规格固定,一旦创建就在烧钱,需要用预算告警盯着,训练结束后立刻释放节点。再次是故障排查与恢复:训练中节点故障(如 TPU 坏片)时,需要从最近的 checkpoint 重启,因此定期保存模型权重(而不是只存到本地)是铁律。最后是健康监控:Cloud Monitoring 提供芯片温度、利用率、互联带宽等指标,结合训练日志做告警。
成本是运维最敏感的杠杆,它的估算公式十分朴素:
运维四件套——配额、成本、容灾、监控——就像工厂的门禁、电表、保险丝和仪表盘。把它们配置到位,你才能放心地把动辄上千万元的训练预算,交给这座专做矩阵乘法的寿司工厂。
- 单价 $P_{\text{价}}$所选节点类型每小时的价格,由芯片代数与配置决定。
- 时长 $T_{\text{时}}$节点从创建到释放的累计小时数,按秒计费、按小时聚合。
- 节点数 $N_{\text{节}}$同时运行的 TPU 节点数量,与并行度直接相关。
- 三项相乘总成本 = 单价 × 时长 × 节点数,任何一项失控都会让账单失控。
AI 应用场景
千亿参数大模型的长时间预训练
阶段:模型训练
解决的问题:传统 GPU 集群训练千亿参数模型需要万卡规模,卡间通信开销巨大、能耗惊人;数据在集群中频繁跨卡搬运,每美元有效算力大打折扣。TPU 的脉动阵列让矩阵乘法局部化,高速互联 ICI 把多芯片编成一个“巨型车间”,非常适合动辄数周的大规模预训练。
具体案例:某 AI 公司用 v4 的 TPU 节点(每 Pod 集成数千颗芯片)预训练一个 1750 亿参数的语言模型。团队用 JAX 重写训练循环,把 batch size 调到与片上内存匹配,配合 bfloat16 混合精度,将训练时间从预估的 90 天压缩到 55 天;期间用定期 checkpoint 与监控告警保障了两次节点故障下的快速恢复。
推荐系统的 CTR 排序模型迭代
阶段:模型训练与迭代
解决的问题:电商与广告的点击率(CTR)模型涉及海量稀疏 embedding 与大矩阵运算,训练样本多、迭代频繁。传统方案在 GPU 上因 embedding 查询瓶颈导致利用率低;TPU 的大片上存储与矩阵流水线更擅长处理密集的排序计算,在固定成本预算下单位时间的训练轮次更高。
具体案例:某推荐团队将 CTR 模型的排序塔部分迁移到 v5e 节点,通过数据并行配置同时跑 8 个训练副本,每天的训练迭代次数提升了约 2.3 倍,模型 A/B 测试的收益上线速度明显加快,而单位训练成本下降了约 30%。
扩散模型的高并发推理服务
阶段:模型部署与推理
解决的问题:图像生成类应用上线后,高峰期推理请求量波动大,用 GPU 弹性扩容成本偏高;v5e 专门面向推理优化,单位吞吐成本更低,能承接稳定的高并发矩阵运算。
具体案例:某图像生成 SaaS 厂商把去噪 U-Net 的推理服务部署到 TPU v5e 上,通过 XLA 将注意力机制算子融合优化,在保持单张图片生成质量不变的前提下,每百万张图片的推理成本比 GPU 方案降低约 40%。
Python 演示
import numpy as np class SystolicArray: """Simulate TPU systolic matrix multiply. 数据像回转寿司碟一样沿对角线流动, 第 i 行第 j 列的 计算单元在第 t = i + j + k 拍拿到 A[i, k] 与 B[k, j], 相乘后累加到自身, 再传给下一个工位. """ def __init__(self, size): self.size = size self.accum = np.zeros((size, size), dtype=np.float64) self.gc_count = 0 # 流水线完成轮数 def multiply(self, A, B): n = self.size self.accum = np.zeros((n, n), dtype=np.float64) active_hist = [] for t in range(3 * n - 2): active = 0 for i in range(n): for j in range(n): k = t - i - j if 0 <= k < n: self.accum[i, j] += A[i, k] * B[k, j] active += 1 active_hist.append(active) self.gc_count += 1 return self.accum, active_hist if __name__ == "__main__": rng = np.random.default_rng(42) n = 4 A = rng.integers(1, 5, size=(n, n)) B = rng.integers(1, 5, size=(n, n)) sim = SystolicArray(n) C_sim, waves = sim.multiply(A, B) C_ref = A @ B print("A =\n", A) print("B =\n", B) print("systolic result C =\n", C_sim) print("numpy reference C_ref =\n", C_ref) print("match:", np.allclose(C_sim, C_ref)) print("active cells per cycle:", waves)
class SystolicArray:把一条寿司流水线封装成对象:网格、累加器、节拍都在内部管理。self.accum = np.zeros((size, size), dtype=np.float64)每个计算单元先清空自己的“接料盘”,等待累加。for t in range(3 * n - 2):工厂的节拍:一个 $n\times n$ 矩阵相乘,共需 $3n-2$ 拍完成全部波前扫过。k = t - i - j调度核心:第 $i$ 行第 $j$ 列的单元在第 $t$ 拍恰好拿到第 $k$ 个乘数,这正是绿波前公式 $t=i+j+k$。if 0 <= k < n:只有乘数下标落在有效范围内,工位才开工,否则该拍空闲。self.accum[i, j] += A[i, k] * B[k, j]鱼片与饭团在这一拍相遇:乘一次、加一次,任务完成。active_hist.append(active)记录每拍有多少工位在干活,可观察两端空闲、中间满负载的流水线填充现象。rng.integers(1, 5, size=(n, n))生成 1 到 4 的随机整数矩阵,作为测试订单。np.allclose(C_sim, C_ref)把流水线结果与 NumPy 的A @ B标准结果对比,验证原理正确。if __name__ == "__main__":可执行入口,直接运行即可看到渐次累加的波前活跃数。
常见误区
误区我以为 TPU 就是 Google 出的超级显卡,只要换上去,训练和推理速度自动翻倍。所以不管任务大小,一律选 TPU。
正解TPU 是只做矩阵乘法的寿司工厂,GPU 是全能西餐厅。只有在大规模矩阵运算、持续高计算密度的场景下 TPU 才占优;小 batch、稀疏算子、频繁控制流的小负载,因为喂不饱流水线,反而不如 GPU。选型要看“每美元有效算力” $E = R \times U / C$,而不是纸面峰值。
为何常见:厂商宣传往往强调峰值算力与顶尖训练的辉煌战绩,让初学者误以为 TPU 在所有任务上都是“倍速卡”。
误区我把 TPU VM 当成普通 GCE 实例,以为训练间歇期可以“关机省电”,甚至可以 resize 成更小的规格继续跑。
正解TPU 节点是“整装车间”,芯片规格在创建时定死,不能像虚拟机那样调整配置;停止或释放节点后本地状态会被清空,重开要重新部署环境并从 checkpoint 恢复。正确姿势是:训练完立刻释放,训练中定期把权重存到持久化存储。
为何常见:人们天然把"VM"二字等同于通用虚拟机,忽略了 TPU VM 背后是绑定硬件的专用节点。
误区我的模型是 PyTorch 写的,在 GPU 上一切正常,到了 TPU 上却报错、变慢或者结果对不上,我以为是运气不好。
正解框架接入要经过“排产工程师”XLA:算子必须能被 XLA 编译,torch.compile、PJRT 运行时都要配置正确;不支持动态 shape、部分 Python 控制流和自定义算子的代码,会退化成“等料小灶”,甚至直接报错。接入前先跑通官方 TPU 示例,再迁移自己的模型。
为何常见:框架层把“支持 TPU”宣传得太顺滑,让人忽略了编译图与硬件约束的适配成本。
误区调优嘛,无非是把 batch 调大。我把 batch size 越调越大,结果显存溢出、训练反而变慢,我很困惑。
正解batch size 受制于片上存储(备料台)容量。太大会溢出到慢速 HBM 甚至 OOM;太小又喂不饱流水线。正确做法是测量 MXU 利用率,在利用率饱和的临界点附近选 batch,再配合数据预取与 bfloat16,让流水线既不满载溢出、又不空转。
为何常见:“batch 越大吞吐越高”在 GPU 上的经验深入人心,但 TPU 的存储结构差异让这个经验不能直接照搬。
误区我以为 TPU 跟普通计算资源一样,控制台点一下就能创建,结果部署时遇到“配额不足”错误,项目被迫停工。
正解TPU 芯片是区域稀缺资源,每个区域都有配额上限,大型 Pod 通常要提前数周甚至数月申请审批。生产环境要在规划阶段就把配额申请列入排期,并同时准备多个可用区作为备选,避免“有订单却没车间”的尴尬。
为何常见:常规云资源即开即用的体验,让新手低估了专用加速器资源供应的计划性。
面试题
Q1. TPU 中负责大规模矩阵乘法计算的核心单元是?
- A.中央处理器 CPU 单元
- B.矩阵乘法单元 MXU← 正确答案
- C.图形渲染管线 GPU 核
- D.网络传输芯片 NIC
答案:B。MXU 是寿司工厂里“捏饭团的机械臂阵列”,专做矩阵乘加,所以选 B。CPU 是家里厨房,管通用逻辑;GPU 虽能算矩阵,但那是整张显卡而非 TPU 内部的核心单元;NIC 只负责联网通信,与计算无关。
Q2. 脉动阵列中数据在计算单元间的流动方式是?
- A.沿相邻单元逐拍传递← 正确答案
- B.全部走共享内存总线
- C.随机跳转各单元取数
- D.集中后批量广播分发
答案:A。脉动阵列像回转传送带,数据一拍一拍传给相邻单元,这正是“脉动/流水线”的含义。共享总线、随机跳转、广播分发都违背了“局部数据流动”的设计,不是 TPU 的做法。
Q3. TPU 在大模型训练中优于 GPU 的根本原因是?
- A.峰值频率一定更高
- B.矩阵流水线利用率高← 正确答案
- C.对任意模型都自适应
- D.完全不消耗电力资源
答案:B。TPU 强在流水线利用率——大矩阵持续计算时每个单元满载,而 GPU 是全能厨房,通用调度成本更高。峰值频率不一定高,“对任意模型自适应”和“不耗电”都不符合物理事实,所以选 B。
Q4. 创建 TPU 虚拟机后,进入训练环境的方式是?
- A.通过 SSH 协议远程登录← 正确答案
- B.用 RDP 图形化远程桌面
- C.用网页代码编辑器直改
- D.靠邮件发送训练指令
答案:A。TPU VM 是 Linux 环境,标准做法是 SSH 登录,就像凭门禁卡进车间。RDP 是 Windows 图形桌面协议,网页直改与邮件发指令都不是云端训练的常规运维姿势。
Q5. 以下哪些框架可以接入 Cloud TPU 训练?
- A.JAX 原生运行时支持← 正确答案
- B.TensorFlow 原生接入← 正确答案
- C.PyTorch 经 PJRT 适配← 正确答案
- D.Oracle 数据库的查询
答案:ABC。JAX 是 Google 亲儿子,原生支持 TPU;TensorFlow 与 TPU 同源,内置支持;PyTorch 通过 PJRT 运行时适配后也能跑。Oracle 数据库查询引擎与深度学习训练框架无关,所以 D 不选。
Q6. bfloat16 混合精度对 TPU 训练的直接影响是?
- A.降低精度换取更高吞吐← 正确答案
- B.提升模型推理准确率
- C.扩大网络带宽的上限
- D.自动修复训练失败节点
答案:A。bfloat16 让“鱼片切得糙一点”:尾数位变少,计算更快、内存减半,直接提升吞吐。它不会提升准确率,也不管网络带宽或节点故障,所以选 A。
Q7. 下列哪些手段能让 TPU 流水线减少空转?
- A.调大 batch 至内存边界← 正确答案
- B.数据加载流水线预取← 正确答案
- C.XLA 编译融合算子← 正确答案
- D.关停监控告警服务
答案:ABC。调大 batch 让 MXU 满负荷、数据预取避免“等料”、XLA 融合算子省去中间解释,三招都让流水线更饱满。关停监控是运维事故,与性能调优无关,所以 D 不选。
Q8. 多 TPU 并行时串行开销占比为 o,理论加速比约为?
- A.N 除以(1 加 N 乘 o)← 正确答案
- B.N 乘 o 除以(N 加 o)
- C.N 加 o 除以(N 减 o)
- D.1 除以(N 加 o 之和)
答案:A。多车间并行后,总耗时 ≈ 并行分摊(1/N)加交接开销(o),取倒数得 N/(1+N×o),即 A。其余选项把乘除关系搞反了,例如 B 在 N 很大时趋近 o,显然不合理。
Q9. TPU 资源不足报错时,运维应优先处理?
- A.提前申请区域配额资源← 正确答案
- B.重新编译全部代码部署
- C.更换办公电脑网卡硬件
- D.把模型改为纯 CPU 推理
答案:A。“配额不足”是工厂没拿到入场名额,正解是提前申请区域配额,并在规划阶段排期。重编译、换网卡、改 CPU 推理都没有解决“资源本身不够分”的根源。
Q10. 关于 TPU 与 GPU 选型,正确的说法是?
- A.TPU 算子专精度更高← 正确答案
- B.小批量场景 GPU 更佳← 正确答案
- C.TPU 计费生命周期不同← 正确答案
- D.TPU 无法用于任何推理
答案:ABC。TPU 对矩阵算子专精度更高,小批量场景 GPU 更灵活,且 TPU 按秒计费、规格固定、本地盘易失,生命周期确实与 GPU 实例不同。v5e 本身就面向推理优化,所以 D“无法用于推理”错误。