最优传输(Optimal Transport, OT)是机器学习中处理分布匹配的基础工具,而基于熵正则化的Sinkhorn算法因其高效性被广泛应用于生成模型、领域自适应等领域。然而,现有实现面临两个主要挑战:一是在小正则化参数下数值不稳定,二是依赖深度学习框架(如PyTorch)引入额外计算开销。近期,研究者Hao Xiao提出FastSinkhorn,一种轻量级、原生的CUDA实现,完全在对数域中运行,结合warp级洗牌归约(warp-level shuffle reductions)与共享内存分块(shared-memory tiling),在保证数值稳定性的同时实现了极高的GPU利用率。
FastSinkhorn的核心创新在于其全对数域计算策略。标准域方法在处理epsilon低至10^{-4}的正则化参数时会因数值下溢或溢出而失效,而对数域方法通过将对数空间中的加法转化为对数域中的特殊运算,有效避免了这些问题。实验表明,在稠密最优传输问题(n=m=8192)上,FastSinkhorn相比广泛使用的POT库实现了12倍加速,相较基于PyTorch的GPU基线也有5.9倍的提升,而GPU内存消耗仅256 MB,远低于传统实现。
为了验证实用性,研究者在图像颜色迁移和3D点云匹配等实际任务中测试了FastSinkhorn,并进行了收敛性分析。结果显示,该算法不仅速度快,而且收敛行为稳定。此外,FastSinkhorn的代码已在GitHub上开源,方便社区使用和扩展。这项研究证明,精心设计的原生CUDA内核结合周密的数值处理,可以为大规模最优传输计算提供既实用又高效的解决方案,为需要大规模OT的机器学习应用开辟了新可能性。