尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AI Infra

AI Infra 1. vLLM 为什么快核心PagedAttention 连续批处理 高效调度。① PagedAttention传统 KV Cache 要预分配连续显存碎片多、浪费大。vLLM 把 KV Cache 分成固定大小的 block像操作系统分页一样管理按需分配减少碎片。② 连续批处理传统 batch 要等最长序列跑完才能下一批。vLLM 允许请求动态进出GPU 不空转吞吐大幅提升。③ 高效调度请求排队、优先级显存预占、回收多请求共享 KV block一句话PagedAttention 省显存连续批处理提吞吐。2. PagedAttention 原理类比操作系统的虚拟内存分页。传统 KV Cache 的问题每个请求预分配最大长度显存实际用不到浪费碎片多无法复用PagedAttention 做法把 KV Cache 切成固定大小的block比如 16 个 token 一块每个请求维护一个block table逻辑块 → 物理块物理块可以不连续按需分配多个请求可以共享物理块比如相同 prompt好处显存利用率高支持更大 batch吞吐提升一句话把 KV Cache 分页管理像 OS 管内存一样。3. 显存怎么估算推理显存 模型权重 KV Cache 激活 框架开销。① 模型权重text权重显存 参数量 × 精度字节数FP162 字节INT81 字节INT40.5 字节例7B 模型 FP16 7e9 × 2 14 GB② KV CachetextKV 2 × layers × heads × head_dim × seq_len × batch × 精度简化textKV ≈ 2 × layers × hidden × seq_len × batch × 2 字节例7B32 层hidden 4096seq 2048batch 1text2 × 32 × 4096 × 2048 × 2 ≈ 1.07 GB③ 激活推理时激活很小训练时大。④ 框架开销CUDA context、临时 buffer约 1~2 GB。一句话权重 KV 激活 开销。4. ZeRO 三个阶段ZeRO 把训练状态分片减少每卡显存。训练状态有三块优化器状态最大梯度参数ZeRO-1只分片优化器状态。显存降 4 倍Adam 有 2 个动量 1 个方差 fp32 主权重。ZeRO-2分片优化器状态 梯度。显存降 8 倍。ZeRO-3分片优化器状态 梯度 参数。显存降与卡数成正比。代价通信量增加。一句话ZeRO-1 分优化器ZeRO-2 加梯度ZeRO-3 加参数。5. DDP 和 FSDP 区别DDPFSDP全称DistributedDataParallelFullyShardedDataParallel参数每卡一份完整分片梯度每卡一份完整分片优化器每卡一份完整分片显存高低通信AllReduce 梯度AllGather ReduceScatter适合小模型大模型本质数据并行ZeRO-3 实现一句话DDP 每卡全量FSDP 分片省显存但通信多。6. 量化怎么做精度损失常见方式方式说明PTQ训练后量化简单QAT训练时量化精度好GPTQ逐层量化用校准数据AWQ激活感知保护重要权重GGUFllama.cpp 用CPU 友好FP8新硬件支持精度损失精度损失FP16 → INT8很小通常 1%FP16 → INT4有2~5%FP16 → FP8很小关键校准数据要覆盖真实分布。一句话PTQ 简单QAT 精度好INT8 损失小INT4 损失大。7. 怎么提高吞吐吞吐 单位时间处理的 token 数。方法连续批处理请求动态进出增大 batch提高 GPU 利用率PagedAttention省显存支持更大 batch量化省显存提高并发张量并行多卡分担Prefill / Decode 分离不同阶段不同优化投机解码小模型草稿大模型验证KV Cache 复用相同 prompt 共享一句话连续批处理 大 batch 量化 并行。8. 怎么降低延迟延迟 首 token 时间 每 token 时间。首 token 延迟TTFTPrefill 优化减少 prompt 长度并行 prefill每 token 延迟TPOT减少 KV Cache 读取量化算子融合投机解码减少 batchbatch 大延迟高一句话Prefill 优化降首 tokenDecode 优化降每 token。9. NCCL 通信原理NCCL NVIDIA Collective Communications Library多卡通信库。核心操作操作作用AllReduce所有卡求和结果广播AllGather收集所有卡数据ReduceScatter求和后分片Broadcast广播AllToAll全交换MoE 用通信方式Ring环形适合大消息Tree树形适合小消息NVLink卡间高速RDMA跨机关键拓扑感知通信与计算重叠梯度压缩一句话NCCL 是多卡通信库核心是 AllReduce靠 Ring/Tree 和 NVLink/RDMA。10. 怎么排查 OOMOOM Out Of Memory。排查步骤看是哪块显存爆了权重KV Cache激活临时 buffer看是训练还是推理训练激活大推理KV 大常用手段减小 batch减小序列长度梯度累积梯度检查点混合精度ZeRO / FSDP量化offload工具torch.cuda.memory_summary()nvidia-smiPyTorch Profiler常见原因显存碎片泄漏没释放batch 太大序列太长一句话先定位哪块爆再减 batch/序列上 ZeRO、量化、offload。快速复习表题关键词vLLM 快PagedAttention 连续批处理PagedAttentionKV 分页按需分配显存估算权重 KV 激活 开销ZeRO1 优化器2 加梯度3 加参数DDP vs FSDP全量 vs 分片量化PTQ/QATINT8 损失小INT4 大吞吐连续批处理 大 batch 量化延迟Prefill Decode 分开优化NCCLAllReduceRing/TreeNVLinkOOM定位 减 batch ZeRO/量化
返回列表