AI 每日一课

返回日报 ↗
跳到正文
往期课程库 ↓
TODAY’S FOCUS · 今日只学一件事约 15 分钟

数据并行 DDP

学完能够:能在80字内说清 DDP 的核心分工流程,并解释为什么每张卡更新后参数依然完全一致。

  • 模型每卡复制一份,各算各的批次数据
  • 反向传播算完梯度后,多卡通过 All-Reduce 交换并取平均梯度
  • 每张卡用相同的平均梯度独立更新参数,更新后参数完全镜像
01 · 理解约 7 分钟

把核心讲清楚

你手里有 8 段说话人音频,单卡一次只能跑 4 段。 最朴素的想法是:借一张卡,一人跑 4 段。这就是数据并行(DDP,Distributed Data Parallel)的本质。

它的整个运行主线只有三步: 1. 模型完全克隆:GPU 0 和 GPU 1 上各放一份一模一样的模型权重 $W$。 2. 切分数据,独立前向与反向:GPU 0 跑样本 1~4,算出局部损失和梯度 $g_0$;GPU 1 跑样本 5~8,算出局部损失和梯度 $g_1$。此时两张卡互不干扰。 3. 梯度同步与更新:两张卡通过高速通信把梯度加起来除以卡数,算出全局平均梯度,然后各自更新本地权重。

这里唯一的核心公式是平均梯度计算: $$g_{avg} = \frac{1}{N} \sum_{i=1}^N g_i$$ 其中 $N$ 是参与训练的总卡数(World Size),$g_i$ 是第 $i$ 张卡独立反向传播算出的梯度向量。

最小例子: 假设当前权重 $W = [1.0]$,学习率 $\eta = 0.1$。 - GPU 0 算出梯度 $g_0 = 2.0$; - GPU 1 算出梯度 $g_1 = 4.0$; - 两卡通信求均值:$g_{avg} = (2.0 + 4.0) / 2 = 3.0$; - GPU 0 更新:$W_0 = 1.0 - 0.1 \times 3.0 = 0.7$; - GPU 1 更新:$W_1 = 1.0 - 0.1 \times 3.0 = 0.7$。

看,两张卡没有在更新后互相拷贝庞大的模型权重,但两边的模型参数依然完全相同!这样通信量最小,只在反向时同步一次梯度即可。

一句话边界: DDP 只把“数据”切碎分发,不切模型;因此单张显卡的显存,必须能完整塞下一个模型和对应的单卡激活值。

02 · 小练习约 6 分钟

只做一个最小例子

输入: - 卡0局部梯度 g0 = torch.tensor([2.0, 4.0]) - 卡1局部梯度 g1 = torch.tensor([4.0, 8.0]) - 两卡初始权重均为 w = torch.tensor([1.0, 1.0]),学习率 lr = 0.1

任务: 补全一行代码,计算两卡的全局平均梯度 g_avg,并验证两张卡用该梯度更新后的权重完全一致。

import torch

g0 = torch.tensor([2.0, 4.0])
g1 = torch.tensor([4.0, 8.0])
w0 = torch.tensor([1.0, 1.0])
w1 = torch.tensor([1.0, 1.0])
lr = 0.1

# 请在下方补全一行,计算平均梯度 g_avg
g_avg = ...

w0 = w0 - lr * g_avg
w1 = w1 - lr * g_avg
print("w0:", w0)
print("w1:", w1)
先动手,再对照验收

验收结果:w0 与 w1 均输出 tensor([0.7000, 0.4000])。 原因推导:平均梯度为 ([2.0, 4.0] + [4.0, 8.0]) / 2 = [3.0, 6.0];更新值为 [1.0, 1.0] - 0.1 * [3.0, 6.0] = [0.7, 0.4]。

03 · 自测约 2 分钟

合上讲解,回忆两件事

DDP 在每次反向传播后,多张显卡之间传递的是什么数据?
梯度(而不是前向输出或模型权重)
为什么 DDP 训练中各卡的模型参数不需要互相复制就能保持一致?
初始权重相同,且每张卡用完全相同的平均梯度执行确定性更新

今天到这里就够了。能讲清核心,并解释小练习的结果,就完成了今日学习。

感兴趣,再往下读

以下均为选读,可随时回来查。

进阶解释 · 推导、背景与适用边界

进阶说明(为什么不用早期的 DataParallel / DP): 1. DP (单进程多线程):存在 Python GIL 锁限制,且主卡(GPU 0)负责汇总所有卡的前向输出、计算总损失、分发梯度,主卡显存和通信带宽严重拥堵(俗称“主卡累死,副卡摸鱼”)。 2. DDP (多进程):每个 GPU 绑定一个独立的 Python 进程,没有 GIL 瓶颈。梯度同步采用 Ring All-Reduce 或 Tree All-Reduce 算法,显卡之间直接两两通信互传分块梯度,不再依赖单一主卡中转。 3. 重叠通信(Bucket Bucketizing):在真实 PyTorch DDP 中,甚至不需要等所有层都反向算完。后几层的梯度算完后,立刻在后台启动网络传输,与前几层的反向传播计算并行重叠,进一步掩盖通信耗时。

参考实现与代码扩展
import torch

# 模拟两张卡上的反向传播梯度
g0 = torch.tensor([2.0, 4.0])
g1 = torch.tensor([4.0, 8.0])

# 两张卡的初始权重(必须严格一致)
w0 = torch.tensor([1.0, 1.0])
w1 = torch.tensor([1.0, 1.0])
lr = 0.1

# 核心步骤:模拟 All-Reduce 求平均梯度
g_avg = (g0 + g1) / 2.0

# 两卡各自用平均梯度独立更新
w0 = w0 - lr * g_avg
w1 = w1 - lr * g_avg

# 自动化断言检查
expected = torch.tensor([0.7, 0.4])
assert torch.allclose(w0, expected), f"w0 预期 {expected}, 得到 {w0}"
assert torch.allclose(w1, expected), f"w1 预期 {expected}, 得到 {w1}"
print("验证通过!两卡权重完全同步:", w0)

代码说明与扩展

常见误区与注意点: 1. 漏除卡数:如果只做梯度求和(Sum Reduce)而不除以卡数,等效于将学习率放大了 $N$ 倍,容易导致训练震荡甚至 NaN。在 DDP 中通常默认自动按 World Size 求均值。 2. 随机种子(Random Seed):两张卡如果初始权重不同,即便每次加上相同的负梯度,权重也永远不可能对齐。因此 DDP 启动时,主进程通常会将权重统一广播给所有子进程,或者使用固定相同的全局随机种子初始化模型。

往期课程库 · 165 期

441 条主题记录 · 164 期可阅读 · 1 组尚未归档

2026年11月 · 11 期
2026年11月11日
  • 语音增强基础:今天真正弄懂
  • 语音增强基础:动手实现
阅读本期 ↗
2026年11月10日
  • CLIP 的图文对齐思路:今天真正弄懂
  • CLIP 的图文对齐思路:动手实现
  • 混合精度训练:今天真正弄懂
  • 混合精度训练:动手实现
阅读本期 ↗
2026年11月09日
  • 梯度裁剪:今天真正弄懂
  • 梯度裁剪:动手实现
阅读本期 ↗
2026年11月08日
  • ASR 基本流水线:今天真正弄懂
  • ASR 基本流水线:动手实现
阅读本期 ↗
2026年11月07日
  • 权重衰减:今天真正弄懂
  • 权重衰减:动手实现
阅读本期 ↗
2026年11月06日
  • InfoNCE 损失:今天真正弄懂
  • InfoNCE 损失:动手实现
阅读本期 ↗
2026年11月05日
  • VAD 语音活动检测:今天真正弄懂
  • VAD 语音活动检测:动手实现
  • Adam 与 AdamW:今天真正弄懂
  • Adam 与 AdamW:动手实现
阅读本期 ↗
2026年11月04日
  • SGD 与动量:今天真正弄懂
  • SGD 与动量:动手实现
阅读本期 ↗
2026年11月03日
  • 对比学习:今天真正弄懂
  • 对比学习:动手实现
阅读本期 ↗
2026年11月02日
  • Log-Mel 频谱:今天真正弄懂
  • Log-Mel 频谱:动手实现
  • 学习率与调度器:今天真正弄懂
  • 学习率与调度器:动手实现
阅读本期 ↗
2026年11月01日
  • BatchNorm:今天真正弄懂
  • BatchNorm:动手实现
阅读本期 ↗
2026年10月 · 21 期
2026年10月31日
  • Dropout 为什么有效:今天真正弄懂
  • Dropout 为什么有效:动手实现
  • 早期、晚期与中间融合:今天真正弄懂
  • 早期、晚期与中间融合:动手实现
阅读本期 ↗
2026年10月30日
  • Mel 频率与 Mel 滤波器组:今天真正弄懂
  • Mel 频率与 Mel 滤波器组:动手实现
阅读本期 ↗
2026年10月29日
  • 自动微分 Autograd:今天真正弄懂
  • 自动微分 Autograd:动手实现
  • STFT 短时傅里叶变换: 今天真正弄懂
  • STFT 短时傅里叶变换: 动手实现
  • 参数初始化:今天真正弄懂
  • 参数初始化:动手实现
  • Cross-Attention:今天真正弄懂
  • Cross-Attention:动手实现 SOURCE
  • ReLU、GELU 与 SiLU:今天真正弄懂
  • ReLU、GELU 与 SiLU:动手实现
阅读本期 ↗
2026年10月28日
  • 跨模态对齐:今天真正弄懂
  • 跨模态对齐:动手实现
阅读本期 ↗
2026年10月27日
  • 分帧、加窗与帧移:今天真正弄懂
  • 分帧、加窗与帧移:动手实现
  • 链式法则与梯度:今天真正弄懂
  • 链式法则与梯度:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年10月26日
  • 广播机制 Broadcasting:今天真正弄懂
  • 广播机制 Broadcasting:动手实现
阅读本期 ↗
2026年10月25日
  • 视频帧与时间维:今天真正弄懂
  • 视频帧与时间维:动手实现
阅读本期 ↗
2026年10月24日
  • 矩阵乘法的直觉:今天真正弄懂
  • 矩阵乘法的直觉:动手实现
阅读本期 ↗
2026年10月23日
  • 音频采样与混叠:今天真正弄懂
  • 音频采样与混叠:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年10月22日
  • 张量、形状与维度:今天真正弄懂
  • 张量、形状与维度:动手实现
阅读本期 ↗
2026年10月21日
  • 音视频时间对齐:今天真正弄懂
  • 音视频时间对齐:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年10月20日
  • 说话人日志基本流程:今天真正弄懂
  • 说话人日志基本流程:动手实现
阅读本期 ↗
2026年10月19日
  • 说话人嵌入:今天真正弄懂
  • 说话人嵌入:动手实现
阅读本期 ↗
2026年10月18日
  • KV Cache:今天真正弄懂
  • KV Cache:动手实现
  • CTC 损失:今天真正弄懂
  • CTC 损失:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年10月17日
  • RoPE 旋转位置编码:今天真正弄懂
  • RoPE 旋转位置编码:动手实现
阅读本期 ↗
2026年10月16日
  • 自注意力机制:今天真正弄懂
  • 自注意力机制:动手实现
阅读本期 ↗
2026年10月15日
  • 交叉熵与负对数似然:今天真正弄懂
  • 交叉熵与负对数似然:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年10月14日
  • Softmax 与温度系数:今天真正弄懂
  • Softmax 与温度系数:动手实现
尚未归档
2026年10月13日
  • 残差连接:今天真正弄懂
  • 残差连接:动手实现
阅读本期 ↗
2026年10月12日
  • LayerNorm 与 Pre-Norm:今天真正弄懂
  • LayerNorm 与 Pre-Norm:动手实现
阅读本期 ↗
2026年10月07日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月 · 30 期
2026年09月30日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月29日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月28日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月27日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月26日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月25日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月24日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月23日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月22日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月21日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月20日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月19日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月18日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月17日
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年09月16日
  • 音视频同步检测:今天真正弄懂
  • 音视频同步检测:动手实现
阅读本期 ↗
2026年09月15日
  • 因果语言模型:今天真正弄懂
  • 因果语言模型:动手实现
阅读本期 ↗
2026年09月14日
  • Encoder 与 Decoder:今天真正弄懂
  • Encoder 与 Decoder:动手实现
  • 说话人变化检测:今天真正弄懂
  • 说话人变化检测:动手实现
阅读本期 ↗
2026年09月13日
  • FFN 与 SwiGLU:今天真正弄懂
  • FFN 与 SwiGLU:动手实现
  • Active Speaker Detection:今天真正弄懂
  • Active Speaker Detection:动手实现
阅读本期 ↗
2026年09月12日
  • 重叠语音检测:今天真正弄懂
  • 重叠语音检测:动手实现
阅读本期 ↗
2026年09月11日
  • 说话人聚类:今天真正弄懂
  • 说话人聚类:动手实现
  • 绝对与相对位置编码:今天真正弄懂
  • 绝对与相对位置编码:动手实现
  • 余弦相似度:今天真正弄懂
  • 余弦相似度:动手实现
  • Attention Mask:今天真正弄懂
  • Attention Mask:动手实现
  • DER 与 JER 评测:今天真正弄懂
  • DER 与 JER 评测:动手实现
  • 多头注意力:今天真正弄懂
  • 多头注意力:动手实现
阅读本期 ↗
2026年09月10日
  • Tokenization:今天真正弄懂
  • Tokenization:动手实现
阅读本期 ↗
2026年09月09日
  • Embedding 是什么:今天真正弄懂
  • Embedding 是什么:动手实现
  • 说话人确认与识别:今天真正弄懂
  • 说话人确认与识别:动手实现
阅读本期 ↗
2026年09月08日
  • 时序建模:今天真正弄懂
  • 时序建模:动手实现
阅读本期 ↗
2026年09月07日
  • 数据并行 DDP:今天真正弄懂
  • 数据并行 DDP:动手实现
阅读本期 ↗
2026年09月06日
  • 语音增强基础:今天真正弄懂
  • 语音增强基础:动手实现
阅读本期 ↗
2026年09月05日
  • CLIP 的图文对齐思路:今天真正弄懂
  • CLIP 的图文对齐思路:动手实现
  • 混合精度训练:今天真正弄懂
  • 混合精度训练:动手实现
阅读本期 ↗
2026年09月04日
  • 梯度裁剪:今天真正弄懂
  • 梯度裁剪:动手实现
阅读本期 ↗
2026年09月03日
  • 权重衰减:今天真正弄懂
  • 权重衰减:动手实现
  • ASR 基本流水线:今天真正弄懂
  • ASR 基本流水线:动手实现
阅读本期 ↗
2026年09月02日
  • 学习率与调度器:今天真正弄懂
  • 学习率与调度器:动手实现
  • 对比学习:今天真正弄懂
  • 对比学习:动手实现
  • SGD 与动量:今天真正弄懂
  • SGD 与动量:动手实现
  • VAD 语音活动检测:今天真正弄懂
  • VAD 语音活动检测:动手实现
  • Adam 与 AdamW:今天真正弄懂
  • Adam 与 AdamW:动手实现
  • InfoNCE 损失:今天真正弄懂
  • InfoNCE 损失:动手实现
阅读本期 ↗
2026年09月01日
  • Log-Mel 频谱:今天真正弄懂
  • Log-Mel 频谱:动手实现
阅读本期 ↗
2026年08月 · 27 期
2026年08月31日
  • BatchNorm:今天真正弄懂
  • BatchNorm:动手实现
阅读本期 ↗
2026年08月30日
  • Mel 频率与 Mel 滤波器组:今天真正弄懂
  • Mel 频率与 Mel 滤波器组:动手实现
  • Dropout 为什么有效:今天真正弄懂
  • Dropout 为什么有效:动手实现
  • 早期、晚期与中间融合:今天真正弄懂
  • 早期、晚期与中间融合:动手实现
阅读本期 ↗
2026年08月29日
  • ReLU、GELU 与 SiLU:今天真正弄懂
  • ReLU、GELU 与 SiLU:动手实现
阅读本期 ↗
2026年08月28日
  • 跨模态对齐:今天真正弄懂
  • 跨模态对齐:动手实现
  • 自动微分 Autograd:今天真正弄懂
  • 自动微分 Autograd:动手实现
  • STFT 短时傅里叶变换:今天真正弄懂
  • STFT 短时傅里叶变换:动手实现
  • 参数初始化:今天真正弄懂
  • 参数初始化:动手实现
  • Cross-Attention:今天真正弄懂
  • Cross-Attention:动手实现
阅读本期 ↗
2026年08月27日
  • 分帧、加窗与帧移:今天真正弄懂
  • 分帧、加窗与帧移:动手实现
  • 链式法则与梯度:今天真正弄懂
  • 链式法则与梯度:动手实现
阅读本期 ↗
2026年08月26日
  • 广播机制 Broadcasting:今天真正弄懂
  • 广播机制 Broadcasting:动手实现
阅读本期 ↗
2026年08月25日
  • 视频帧与时间维:今天真正弄懂
  • 视频帧与时间维:动手实现
阅读本期 ↗
2026年08月24日
  • 矩阵乘法的直觉:今天真正弄懂
  • 矩阵乘法的直觉:动手实现
阅读本期 ↗
2026年08月23日
  • 音频采样与混叠:今天真正弄懂
  • 音频采样与混叠:动手实现
阅读本期 ↗
2026年08月22日
  • 张量、形状与维度:今天真正弄懂
  • 张量、形状与维度:动手实现
阅读本期 ↗
2026年08月21日
  • 音视频时间对齐:今天真正弄懂
  • 音视频时间对齐:动手实现
阅读本期 ↗
2026年08月20日
  • 说话人日志基本流程:今天真正弄懂
  • 说话人日志基本流程:动手实现
阅读本期 ↗
2026年08月19日
  • 说话人嵌入:今天真正弄懂
  • 说话人嵌入:动手实现
阅读本期 ↗
2026年08月18日
  • KV Cache:今天真正弄懂
  • KV Cache:动手实现
  • CTC 损失:今天真正弄懂
  • CTC 损失:动手实现
阅读本期 ↗
2026年08月17日
  • RoPE 旋转位置编码:今天真正弄懂
  • RoPE 旋转位置编码:动手实现
阅读本期 ↗
2026年08月16日
  • 自注意力机制:今天真正弄懂
  • 自注意力机制:动手实现
阅读本期 ↗
2026年08月15日
  • 交叉熵与负对数似然:今天真正弄懂
  • 交叉熵与负对数似然:动手实现
阅读本期 ↗
2026年08月14日
  • Softmax 与温度系数:今天真正弄懂
  • Softmax 与温度系数:动手实现
阅读本期 ↗
2026年08月13日
  • 残差连接:今天真正弄懂
  • 残差连接:动手实现
阅读本期 ↗
2026年08月12日
  • LayerNorm 与 Pre-Norm:今天真正弄懂
  • LayerNorm 与 Pre-Norm:动手实现
阅读本期 ↗
2026年08月11日
  • 信息粒缓存编排
  • 表示一个折线图的最少线段数
  • RMSNorm:今天真正弄懂
  • RMSNorm:动手实现
阅读本期 ↗
2026年08月10日
  • 长上下文块复用
  • 到达终点数字
  • 多教师蒸馏调度
  • 定长子串中元音的最大数目
阅读本期 ↗
2026年08月06日
  • 长窗注意力稳健化
  • 执行操作使数据元素之和大于等于 K
阅读本期 ↗
2026年08月05日
  • 必须拿起的最小连续卡牌数
阅读本期 ↗
2026年08月04日
  • 绝对差不超过限制的最长连续子数组
阅读本期 ↗
2026年08月03日
  • 证据路由与采样优化
阅读本期 ↗
2026年08月01日
  • 查询引导长视频采样
  • 边界元素是最大值的子数组数目
阅读本期 ↗
2026年07月 · 10 期
2026年07月30日
  • 受限内存推理调度
阅读本期 ↗
2026年07月29日
  • 技能感知词元压缩
阅读本期 ↗
2026年07月27日
  • 递归验证预算分配
阅读本期 ↗
2026年07月26日
  • 推理早停预算分配
  • 二叉树中所有距离为 K 的结点
阅读本期 ↗
2026年07月25日
  • 流式同传轨迹调度
  • 分割回文串
阅读本期 ↗
2026年07月24日
  • 最大节点价值之和
阅读本期 ↗
2026年07月23日
  • 长音视频工具调度
阅读本期 ↗
2026年07月20日
  • 流式多模态记忆检索
  • T 秒后青蛙的位置
  • 约束预算模型路由
  • 匹配模式数组的子数组数目 II
  • 受限显存解码调度
  • 填充每个节点的下一个右侧节点指针 II
阅读本期 ↗
2026年07月02日
  • 变分信息瓶颈
阅读本期 ↗
2026年07月01日
  • CTC序列对齐算法
  • 故障流行病学
阅读本期 ↗
2026年06月 · 21 期
2026年06月30日
  • 哈希嵌入压缩
阅读本期 ↗
2026年06月29日
  • 一致性蒸馏
  • 原生推理引擎
阅读本期 ↗
2026年06月28日
  • 无分类器引导
阅读本期 ↗
2026年06月25日
  • MVDR波束成形
阅读本期 ↗
2026年06月24日
  • 神经缩放定律
阅读本期 ↗
2026年06月23日
  • 最小贝叶斯风险解码
  • PID控制与生成调控
阅读本期 ↗
2026年06月22日
  • 生成模型评估度量
阅读本期 ↗
2026年06月21日
  • 浮点量化收缩偏差
  • 模型上线仿真
阅读本期 ↗
2026年06月20日
  • 现代联想记忆
阅读本期 ↗
2026年06月19日
  • 离散扩散语言模型
阅读本期 ↗
2026年06月18日
  • 循环变换器架构
阅读本期 ↗
2026年06月17日
  • 韵律建模演进
阅读本期 ↗
2026年06月16日
  • 说话人日志
阅读本期 ↗
2026年06月15日
  • 偏好对齐优化
阅读本期 ↗
2026年06月14日
  • 多令牌并行预测
阅读本期 ↗
2026年06月13日
  • 流匹配生成模型
  • 实时管线延迟预算
阅读本期 ↗
2026年06月12日
  • MoE路由机制
阅读本期 ↗
2026年06月11日
  • 连续自回归生成
阅读本期 ↗
2026年06月10日
  • KV缓存压缩
阅读本期 ↗
2026年06月09日
  • 浏览器端模型推理
阅读本期 ↗
2026年06月02日
  • 残差向量量化
阅读本期 ↗
2026年05月 · 10 期
2026年05月31日
  • 彩色噪声扩散采样
  • 算子融合编译原理
阅读本期 ↗
2026年05月20日
  • AI生成内容溯源 (7 chars) ✓
阅读本期 ↗
2026年05月19日
  • 推理委托设计模式 (8 chars) ✓ Let me now write the full content for both topics. Actually, I realize I should double-check: is "Runtime Abstraction" or "Delegate Pattern" too close to any covered keyword? Looking at the list: Cluster Scheduling, Co-design, Collective Communication, Computational Expressiveness, CUTLASS... No, none of these overlap. OK, let me finalize and write everything out. Let me reconsider the engineering topic one more time. The title "推理委托设计模式" is good but maybe I should make it even more specific and interesting. What about focusing on the "graph partitioning" aspect - how ML runtimes decide which operations to delegate to which backend? This is a more specific and technically interesting angle. No, I think the broader "delegate pattern" is better because it covers the full picture and is more useful to the reader. Let me write it all out now. For the engineering topic, let me think about the history: - Early days: frameworks were monolithic (Caffe, early TensorFlow) - TensorRT (2017): NVIDIA's specialized inference engine, initially standalone - ONNX Runtime (2019): Microsoft introduced "Execution Providers" - the first major delegate-like abstraction - TFLite delegates (2018-2019): TensorFlow Lite introduced delegate API for GPU, NNAPI, etc. - ExecuTorch (2023-2024): PyTorch's answer to edge inference with a clean delegate API - 2025-2026: MLX delegate, Qualcomm AI Engine Direct delegate, etc. This is a rich history. Let me write it up. Actually, I want to make sure I have the dates right: - TensorRT was first released around 2016-2017 - ONNX was announced in 2017 - ONNX Runtime was open-sourced in 2018-2019 - TFLite was released in 2017, delegates came later - ExecuTorch was announced at PyTorch Conference 2023 OK, let me write everything now. I'll be thorough. One more thought: for the MATH section of the engineering topic, I could discuss the graph partitioning problem formally, or I could discuss the cost model for deciding whether to delegate. Let me think... The graph partitioning for delegation can be formalized as: - Given a computation graph $G = (V, E)$ where $V$ is the set of operations and $E$ is data dependencies - And a set of delegates $D = \{d_1, ..., d_m\}$ where each delegate supports a subset of operations $S_i \subseteq V$ - Find a partition $P = \{P_0, P_1, ..., P_m\}$ (where $P_0$ is the fallback/CPU partition) that minimizes total execution time - Subject to: each $
阅读本期 ↗
2026年05月17日
  • 连续批处理异步化
阅读本期 ↗
2026年05月10日
  • 连续潜在扩散语言模型
  • 零样本跨语言语音克隆
阅读本期 ↗
2026年05月09日
  • 最优传输音频距离
  • 推荐系统推理核内广播优化
阅读本期 ↗
2026年05月08日
  • 扩散Transformer异常值令牌
  • WebRTC低延迟语音工程
阅读本期 ↗
2026年05月07日
  • 音素级深度伪造检测原理
  • AI训练网络协议工程哲学
阅读本期 ↗
2026年05月05日
  • 对抗解纠缠说话人验证
  • LLM推理为何用语言
阅读本期 ↗
2026年05月01日
  • 跨架构知识蒸馏原理
  • AI评估计算瓶颈工程
阅读本期 ↗
2026年04月 · 29 期
2026年04月29日
  • 平衡传输语音增强
  • 深度学习理论形成
阅读本期 ↗
2026年04月28日
  • 语义进度函数原理
  • 大模型OCR选型认知
阅读本期 ↗
2026年04月27日
  • 说话人验证核心原理
  • GPU核函数语言选型
阅读本期 ↗
2026年04月26日
  • 时长控制TTS原理
  • AI研究价值评估困境
阅读本期 ↗
2026年04月25日
  • 全双工对话建模原理
  • 流式TTS文本规范化
阅读本期 ↗
2026年04月24日
  • 离散扩散语言模型原理
  • 跟进ML研究的认知工程
阅读本期 ↗
2026年04月23日
  • 一致性正则化ASR原理
  • 流式TTS文本规范化工程
阅读本期 ↗
2026年04月22日
  • 神经编码器伪影检测
  • AI研究复现危机工程
阅读本期 ↗
2026年04月21日
  • 扩散SNR偏差校正原理
  • 论文复现危机根治工程
阅读本期 ↗
2026年04月20日
  • 音频时序定位原理
  • 论文复现危机根因
阅读本期 ↗
2026年04月19日
  • 流匹配对齐原理
  • 分布式训练任务编排
阅读本期 ↗
2026年04月18日
  • 最优传输信号融合
  • 分布式训练任务调度
阅读本期 ↗
2026年04月17日
  • 扩散语音识别原理
  • Mel尺度跨文化偏差
阅读本期 ↗
2026年04月16日
  • 音频水印对抗原理
  • 推测解码草稿树工程
阅读本期 ↗
2026年04月15日
  • 对抗流模型原理
  • 代理状态可观测性工程
阅读本期 ↗
2026年04月14日
  • 过程奖励模型原理
阅读本期 ↗
2026年04月13日
  • 离散令牌音源分离
  • 超算API工程哲学
阅读本期 ↗
2026年04月12日
  • 信息瓶颈原理演进
  • Safetensors格式工程哲学
阅读本期 ↗
2026年04月11日
  • 归一化层演进原理
  • GEMM自调优后端工程
阅读本期 ↗
2026年04月10日
  • 多令牌预测原理
  • ML从业者认知校准
阅读本期 ↗
2026年04月09日
  • 编码器-解码器LM原理
  • torch.compile归一化优化
阅读本期 ↗
2026年04月08日
  • KV缓存压缩原理
  • 音效基础模型工程
阅读本期 ↗
2026年04月07日
  • 可验证奖励强化学习
  • LLM技能退化认知机制
阅读本期 ↗
2026年04月06日
  • 音素可解释说话人验证
  • 音频幻觉攻击评估
阅读本期 ↗
2026年04月05日
  • 潜在空间推理原理
  • mRNA模型极低成本训练
阅读本期 ↗
2026年04月04日
  • 编码器-解码器TTS原理
  • 大模型训练的MXFP8工程
阅读本期 ↗
2026年04月03日
  • 在线知识蒸馏原理
  • MoE专家并行调度工程
阅读本期 ↗
2026年04月02日
  • 波形潜空间扩散TTS
  • 波形隐空间扩散原理
  • LLM量化权重工程
  • 扩散语言模型离散生成
  • LLM后训练库工程演进
  • 声学证据瓶颈原理
  • 状态空间模型音频建模
  • 实时语音增强工程选型
  • 对话上下文压缩原理
  • 说话人匿名化工程
  • 视听语音识别融合
  • GPU训练吞吐加速工程
阅读本期 ↗
2026年04月01日
  • 熵驱动多样性生成
  • 说话人分割工程选型
阅读本期 ↗
2026年03月 · 6 期
2026年03月31日
  • 转向检测联合建模
  • 基准测试的系统性失效
  • 扩散模型声学生成
  • TTS开源生态竞争
阅读本期 ↗
2026年03月30日
  • 注意力机制变体演进
  • 设备端语音推理架构
阅读本期 ↗
2026年03月29日
  • 混合自回归流匹配TTS
  • NCCL超时诊断方法论
  • 混合架构音频表示
  • DeepSeek预训练加速工程
阅读本期 ↗
2026年03月27日
  • 说话人验证度量学习
  • MX浮点格式加速训练
阅读本期 ↗
2026年03月26日
  • TTS模型极限压缩
  • 小模型极限压缩哲学
阅读本期 ↗
2026年03月25日
  • 流匹配生成原理
  • 神经音频编解码器
  • 推测解码加速推理
阅读本期 ↗