了解“套娃式表征学习”(MRL)如何实现多粒度嵌入。探索如何优化Ultralytics 的搜索和边缘部署。
套娃表示学习(MRL)是人工智能(AI)和 机器学习(ML)领域中的一种训练技术,它迫使神经 网络在单个输出向量内学习多粒度嵌入。受俄罗斯套娃的启发,MRL将嵌入结构化处理,使得重要的语义 信息优先呈现。 这意味着一个高维向量(例如1024维)可以被截断为 更小、嵌套的子集(如512、256或64维),同时不丢失其底层表示。这种 灵活性极大地降低了通常与 信息检索任务相关的计算开销。
传统上,嵌入模型是在固定输出尺寸下,通过优化特定的 损失函数来训练的。如果系统需要 更小的向量以节省内存,就必须训练一个全新的模型。MRL 通过在训练阶段应用嵌套损失 函数来解决这一问题。它同时优化了完整的表示及其嵌套子集。OpenAI等 机构已在其 现代嵌入式 API 中采用了 MRL,这使得开发者能够动态地从向量末尾剥离维度,同时保持 精确的余弦相似度得分。
在权衡精度与存储成本及 内存带宽时,MRL 具有显著优势。
要正确使用 MRL,最好将其与以往用于数据压缩的技术区分开来。
截断 MRL 嵌入的过程极其简单,无需复杂的 语义索引逻辑。由于最 关键的特征在最早的维度中权重最高,因此只需对数组进行截取即可。以下 示例演示了如何使用基本的 PyTorch tensor 来截断模拟的 YOLO26多模态输出。
import torch
# Simulate a full 1024-dimensional MRL embedding returned by a model
full_embedding = torch.rand(1, 1024)
# To deploy on memory-constrained hardware, simply slice the first 256 dimensions
# Because the model was trained with MRL, this subset remains highly accurate
truncated_embedding = full_embedding[:, :256]
print(f"Original size: {full_embedding.shape[1]}, Compressed size: {truncated_embedding.shape[1]}")
开启您的机器学习未来之旅