引导式测验 · 硬 等级

ZeRO 和分片优化器测验

涵盖 ZeRO 阶段、Adam 状态内存、参数收集、梯度减小、卸载选项和通信成本。

问题 1 的 8

与普通数据并行相比,ZeRO 消除了哪些冗余?

预览每个问题8 问题

当您参加测验时,就会出现答案和解释。

  1. 与普通数据并行相比,ZeRO 消除了哪些冗余?
    • 在每个 GPU 上复制优化器状态、梯度和参数的完整副本
    • 每个 GPU 上的训练数据的重复副本
    • 节点之间的冗余网线
    • 对同一批次重复前向传播
  2. 为什么优化器状态通常是 Adam 占用最大内存的地方?
    • Adam 根本不存储额外的状态
    • Adam 保留额外的每个参数值(例如动量和方差),通常是模型大小的几倍
    • Adam 复制整个数据集
    • Adam 要求永远存储过去的每个梯度
  3. ZeRO 第 3 阶段分片有哪些第 1 阶段和第 2 阶段没有的分片?
    • 训练数据
    • 损失函数
    • 模型参数本身
    • 学习率表
  4. 在 ZeRO Stage 3 中,GPU 如何获取层前向传递所需的完整参数?
    • 它永远不需要完整的参数
    • 它从互联网下载它们
    • 它每次都会从头开始重新计算它们
    • 它执行全收集来收集丢失的切片,然后丢弃它们
  5. 哪个 PyTorch 功能本身实现了 ZeRO 风格的分片?
    • FSDP(完全分片数据并行)
    • 数据加载器
    • TorchScript
    • 自动梯度
  6. ZeRO 为节省内存所做的核心权衡是什么?
    • 为了速度而牺牲模型精度
    • 它增加了额外的通信以根据需要收集和分散碎片
    • 它从模型中删除图层
    • 它仅适用于非常小的模型
  7. Which state is partitioned in ZeRO Stage 1?
    • Only parameters, with optimizer states replicated
    • Parameters, gradients, and optimizer states all sharded
    • Optimizer states, while parameters and gradients remain replicated
    • Only input activations and labels
  8. What is a practical cost of ZeRO-style sharding?
    • It removes the need to calculate gradients
    • It makes every optimizer update local with no data exchange
    • It requires the model to be retrained from scratch for every step
    • Additional communication to gather parameters and distribute gradients