Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Mixture of Depths (MoD)

深度混合 (MoD) 会将得分最高的 token 路由至每个 Transformer 块,其余 token 则跳过该块,从而减少每次前向传播的计算量。

深度混合(MoD)是一种Transformer技术,由学习得到的路由器逐模块决定哪些token要参与计算、哪些 token 通过残差连接跳过该模块,因此不同 token 获得的计算量各不相同。Google DeepMind 的 David Raposo、Adam Santoro 及其同事于 2024 年 4 月在论文《深度混合:动态分配基于 Transformer 的语言模型中的计算量》中介绍了该技术。固定容量 k 决定每个路由模块处理多少个 token,因此,即使具体选择哪些 token 取决于输入,计算预算和张量形状也能预先确定。MoD 大型语言模型(LLM)在相同训练FLOPs和实际运行时间下,达到了与基线模型相当的质量;每次前向传递只需使用基线模型一小部分的 FLOPs,采样速度则提高了 50% 以上。在固定训练预算下,表现最好的 MoD 模型比最佳基线模型更大,损失也更低。

MoD 路由机制如何工作#

在路由模块之前,线性路由器会为每个 token 生成一个标量分数。得分最高的 k 个 token 会经过模块中的自注意力和 MLP,其输出会乘以对应的路由器分数,再加回残差流。乘以分数后,路由器也处于梯度路径上,因此反向传播可以教会路由器判断哪些 token 能从计算中受益。其余 token 则原样通过,不参与该模块的注意力计算,因此后续 token 在该模块中也无法关注它们;注意力成本会随容量的平方缩减:处理一半的 token,查询—键乘积的数量就只有四分之一。论文中效果最佳的设置是每隔一个模块进行路由,容量设为序列长度的 12.5%。以下是在 PyTorch 中实现一个路由模块的精简版本,其中仅包含 MLP:

import torch
from torch import nn

torch.manual_seed(0)
batch, seq_len, dim = 2, 64, 128
capacity = int(0.125 * seq_len)  # 12.5% of tokens, the paper's best setting
x = torch.randn(batch, seq_len, dim)
router = nn.Linear(dim, 1)
block = nn.Sequential(nn.Linear(dim, 4 * dim), nn.GELU(), nn.Linear(4 * dim, dim))

# The router scores every token, and only the top-k tokens enter the block
weights, idx = router(x).squeeze(-1).topk(capacity, dim=1)
idx = idx[..., None].expand(-1, -1, dim)
update = block(x.gather(1, idx)) * weights[..., None]  # router weight keeps the router trainable

# Selected tokens get the residual update; the rest skip the block unchanged
out = x.scatter_add(1, idx, update)
unchanged = (out == x).all(dim=-1).sum().item()
print(f"Block ran on {batch * capacity} of {batch * seq_len} tokens; {unchanged} skipped it unchanged")

它会打印 Block ran on 16 of 128 tokens; 112 skipped it unchanged:该模块中的 MLP 只执行了通常八分之一的计算量,而输出张量仍保留完整的序列形状,供下一个模块使用。

生成过程中的路由#

Top-k 选择不具备因果性:一个 token 是否属于其序列中得分最高的 k 个 token,取决于它后面 token 的分数;而模型逐个 token 生成文本时,后续 token 尚不存在。作者通过两种方式使路由具备因果性:一种是辅助二元交叉熵损失,用于训练路由器预测 token 是否属于 top-k,代价是语言建模损失仅增加 0.2% 至 0.3%;另一种是在停止梯度的输入上使用单独的小型 MLP 预测器,准确率很快就达到 97% 至 99%。无论采用哪种方法,自回归采样的质量损失都很小。训练好的路由器还呈现出一种规律:有些 token 会在模型深度上的每个路由模块中参与计算,而另一些 token 则会尽可能跳过模块。

  • 专家混合(MoE):在每一层中,将每个 token 路由到一个或少数几个专家 MLP,从而增加参数数量,同时保持每个 token 的计算量不变。论文还将 MoD 与 MoE 结合成 MoDE;在这种方法中,token 可以被路由到专家,也可以选择不执行操作,两者的增益会叠加。
  • 提前退出:token 在某一层后停止处理,跳过所有后续层。MoD 可以跳过一个模块,但仍继续使用后续模块。
  • Token 合并(ToMe):在视觉 Transformer 中合并相似的 token,使后续层处理更少的 token,且不需要学习路由器。
  • 模型剪枝:永久移除权重,因此所有输入都会使用相同的较小网络。
  • 模型路由:将整个请求发送到多个模型中的一个,这是在完整模型层面实现的相同理念。

大多数网络在构建时就固定了深度。Ultralytics YOLO26会根据模型的规模设置深度:模型 YAML中的深度乘数在 n、s 和 m 规模下为 0.50,在 l 和 x 规模下为 1.00。因此,配置为重复 2 次的 C3k2 阶段,在 YOLO26n 中运行 1 个模块,在 YOLO26x 中运行 2 个模块;每张图像都会经过其中的所有模块。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来