在深度学习(特别是 PyTorch)中,DP (Data Parallel) 和 DDP (Distributed Data Parallel) 是两种常见的多 GPU 训练加速方法。 简单来说:DP 是旧的、简单的、但在大规模训练中效率较低的方案;DDP 是新的、复杂的、但效率极高且支持多机的方案。 以下是它们的详细区别对比: --- 1. 核心架构与进程模型 | 特性 | Data Parallel (DP) | Distributed Data Parallel (DDP) | | :--- | :--- | :--- | | 进程模型 | 单进程,多线程 (Single-Process, Multi-Thread) | 多进程 (Multi-Process) | | 运行方式 | 主进程控制所有 GPU,利用多线程分发任务。 | 每个 GPU 对应一个独立的进程,进程间通过通信库同步。 | | Python GIL | 受限制。Python 的全局解释器锁 (GIL) 会限制多线程的并行效率。 | 无限制。每个进程有独立的 Python 解释器,完全绕过 GIL。 | |...