核心要点

  • 能从模型规模、数据量、预算、时间约束分析

  • 理解 CPU/GPU/TPU 适用场景

  • 知道内存、互联、存储 I/O 瓶颈

  • 能提及 Spot、混合精度等成本优化

简要回答

选型需权衡模型大小、batch/数据规模、训练时限与预算:小模型 CPU 即可;深度学习用 GPU;超大模型需多卡互联与大显存,并考虑 I/O 与 Spot 成本。

标准回答

一、先给出结论和背景

  • 模型与算法:- 小模型(XGBoost、小 MLP):CPU 多核 + 足够 RAM
  • CNN/Transformer 训练:GPU(CUDA
  • 超大 LLM:多 GPU + NVLink/InfiniBand,张量/流水线并行
  • 显存(VRAM):- 估算:参数 + 梯度 + 优化器状态 + 激活(与 batch 成正比)
  • 7B FP16 训练约需 60GB+;用 gradient checkpointing、ZeRO、LoRA 降需求
  • 数据 I/O:- 大数据训练瓶颈常在存储:本地 NVMe > 网络 S3(需 prefetch/cache)
  • 分布式需高带宽防 GPU 饿死

二、拆开关键步骤和判断点

  • 时间 vs 成本:- 紧急项目:多卡 A100 满配;研究探索:Spot V100 可接受中断
  • 精度与硬件:- BF16 需 Ampere+;INT8 训练少见,推理常用
  • 软件生态:- PyTorch CUDA 版本与驱动匹配;TPU 需 JAX/XLA 栈

三、补上落地边界和取舍

  • 合规与位置:- 数据不出区域选对应 region;敏感数据禁公有云则 on-prem
  • 决策流程:估算 FLOPs/显存 → 定 SLA → 比价 cloud instance → PoC benchmark。详见 MLOps 入门GPU 与训练

面试里要把 选择机器学习训练算力资源时需考虑哪些因素 放到训练到上线的链路里说:离线指标只是第一步,还要补特征一致性、版本管理、灰度实验、监控漂移和回滚方案。这样能证明你理解的是生产系统,而不是只会背流程图。

回答思路

  • 【定义】用一句话说清「选择机器学习训练算力资源时需考虑哪些因素」

  • 【原理】讲清关键机制或步骤(2~3 点)

  • 【例子】举一个真实项目、论文或产品中的例子

  • 【对比】与易混淆概念或替代方案比较(如有)

  • 【收尾】总结适用场景 + 一个局限或风险

延伸学习

延伸阅读:GPU 与训练MLOps 入门。术语:GPU 集群BF16Checkpoint。工具:PyTorch

常见误区

⚠️ 常见踩坑

误区一:容易答偏的地方:无脑上最大 GPU;忽视数据 I/O;不算显存直接 OOM;全球数据却选错 region 合规。

追问

追问 1如何估算训练需要多少显存?

粗算:参数量×(2+2+8) bytes(FP16 权重+梯度+Adam 状态)+ 激活(与 batch、层数相关)。用工具如 torch.cuda.max_memory_allocated() 实测更准。

追问 2多卡训练选什么互联?

单机 NVLink 最佳;多机需 InfiniBand/RoCE 高带宽低延迟,否则 all-reduce 成瓶颈。云上看是否 placement group / RDMA。

追问 3Spot 实例训练如何容错?

频繁 Checkpoint 到 S3;分布式用 elastic training(节点丢失继续);Spot 中断前 graceful save;混合 on-demand 保底。

🔗 相似问题

同一考点的不同问法,换着练更稳

延伸学习

按主题分类的相关资源,便于系统复习