Generative AI System Design Interview (1) -- Introduction and Overview
GenAI overview主要是模型和方法分类吧这块我们熟就不管了Data PreparationData typesData efficiencyEfficient retrieval让训练时取数据更快减少等待。主要靠分片并行读、索引快速找、缓存减少 I/O。Sharding 分片把大数据集切成多份放到不同机器/设备上并行读取。核心多人同时搬砖比一个人快。Indexing 建索引给数据建立“目录”比如 Lucene / Elasticsearch方便快速定位需要的数据。核心像查字典不用从头翻到尾。Pre-loading / Caching 预加载/缓存把常用数据提前放进内存避免每次都从硬盘慢慢读。核心常用的东西提前放桌上随手拿。Model trainingTask-specific challenges and mitigations不同任务有不同瓶颈。比如视频生成模型特别重因为它需要处理大量帧、时序关系和高维视觉信息所以训练成本很高。常见缓解方法包括并行训练 混合精度 latent diffusion 等方法降低训练成本。Gradient checkpointing 梯度检查点正常训练会保存很多中间激活值用于反向传播但这很占显存。Gradient checkpointing 的做法不保存所有中间结果只保存关键节点反向传播时缺的中间结果再重新算一遍。所以它是用更多计算时间换更少显存适合显存不够但还能多算一点的情况。Mixed precision training 混合精度训练正常训练可能用 FP32也就是 32-bit 精度比较稳但慢、占显存。混合精度训练会让大部分计算用 FP16 / BF16关键地方保留 FP32。所以它是大部分地方用低精度加速关键地方用高精度保稳定。优点训练更快显存更省效果基本不变。Automatic mixed precision (AMP)就是自动混合精度工具PyTorch / TensorFlow 可以自动判断哪些地方用 FP16哪些地方用 FP32。Distributed training 分布式训练当单机单卡训练不了大模型时就把训练分到多张 GPU 或多台机器上。Data Parallelism 数据并行每张 GPU 都放一份完整模型但处理不同的数据。比如有 4 张 GPUGPU 0 训练 batch AGPU 1 训练 batch BGPU 2 训练 batch CGPU 3 训练 batch D然后大家算完梯度把结果汇总更新模型参数。核心一句话模型复制多份数据分给不同 GPU。适合数据很大但模型单张卡还能放下。更新方式Synchronous 同步更新所有 GPU 都算完统一汇总梯度再一起更新参数。优点结果稳定大家用的是同一个版本的模型。缺点要等最慢的 GPU所以可能慢。一句话大家都做完作业再一起交。Asynchronous 异步更新哪个 GPU 先算完就先把梯度发给参数服务器参数服务器马上更新。优点更快不用等最慢的 GPU。缺点不同 GPU 可能用的是稍微旧一点的模型参数训练可能不太一致。一句话谁先做完谁先交但大家手里的题目版本可能有点不同。Model Parallelism 模型并行模型太大一张 GPU 放不下所以把模型切到多张 GPU 上。方法怎么切适合什么情况Pipeline Parallelism按层切模型层数很多Tensor Parallelism按矩阵/张量切单层太大Pipeline Parallelism流水线并行,按层切模型。比如一个模型有很多层GPU 0 负责 Layer 0–1GPU 1 负责 Layer 2–3GPU 2 负责 Layer 4–5前向传播时数据从 GPU 0 → GPU 1 → GPU 2。反向传播时梯度再从 GPU 2 → GPU 1 → GPU 0 传回来。Tensor Parallelism按层内部的矩阵计算切模型usage: Transformer 里的大线性层 / attention / MLP。BA×W如果 W 太大一张 GPU 算不动就把 W 切成几块GPU 0 算 A×W1B1GPU 1 算 A×W2B2最后把 B1,B2 拼起来得到 BHybrid Parallelism 混合并行把数据并行、模型并行、流水线并行组合起来。超大模型训练通常都用混合并行。ZeRO (Zero Redundancy Optimizer)[49] from MicrosoftFSDP (Fully Sharded Data Parallel) [50] from MetaModel Samplinggenerating new data or outputs from the trained generative model.方法是否随机核心逻辑特点Greedy否每步选最高概率快但死板Beam Search否保留多条高分路径稳但贵、可能模板化Top-k是从前 k 个词里抽样多样但 k 要调Top-p是从累计概率 p 的词里抽样更灵活常用于开放生成Greedy 只看第一名Beam 看前几条完整路线Top-k 在前 k 个词里随机Top-p 在“概率够大的候选池”里随机。EvaluationOffline evaluationOffline evaluationis the process of assessing the performance of a model or systemusing pre-collected data without deploying it in a real-time environment.online evaluationTheonline evaluationassesses how the model performs in production (i.e., afterdeployment).