题目重点:Set A 问训练数据量很大如何处理;从数据质量、流式加载、抽样基线到分布式训练与成本收益分层回答。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 先假设训练数据无法一次放入单机内存,但是否需要分布式计算须以 profiling 决定。
- 任务是监督学习;抽样、窗口裁剪和压缩不能无声丢失少数类或近期分布。
解题路线
- 先量化数据规模、单条大小、训练耗时、内存峰值、存储带宽、计算利用率和验证质量,并查重复、标签错误、类别不平衡与时间泄漏。
- 建立代表性样本基线:分层/时间抽样,小模型快速验证学习曲线;若更多数据收益趋平,先改特征/模型与质量而非盲目扩容。
- I/O 瓶颈用列式/分片、顺序读、预取和流式 mini-batch;内存瓶颈用分块处理与按需特征;计算瓶颈用并行/加速器并先核数值一致性。
- 单机仍不足时才选数据并行/模型并行,说明梯度同步、shuffle、checkpoint、容错和不同 worker 的样本分配;监控吞吐与验证质量对成本的边际收益。
- 数据持续增长时定义训练窗口、增量训练/周期重训与概念漂移准则,保留可复现版本。
手动走一遍
训练例:原始日志占 2TB,但清洗去重后 700GB,训练 GPU 利用率只有 20% 且读盘排队。先分片预取与优化读取,再考虑增加 GPU;若瓶颈仍在存储,加 GPU 可能只增加空闲成本。数字为诊断示意。
规模与取舍
理想数据并行计算时间随 worker 数下降,但同步与通信成本增加;总处理至少读入所选样本一次。实际加速需测吞吐、成本和模型质量,题目无定量配置。
易错点与追问
容易失分的边界
- 未经 profiling 就上分布式。
- 随机抽样丢掉稀有欺诈类别或时间变化。
- 每个 worker 读完整数据造成重复训练。
- 优化吞吐却没有可复现的数据/特征版本。
继续深挖
- 样本极不均衡时如何抽样并校准概率?
- 训练断点恢复需保存哪些状态?
- 数据量增大但验证指标不变说明什么?
