跳到主要内容
AI News HubLIVE
站内改写1 分钟阅读

基于Warp级GPU归约的快速对数域Sinkhorn最优传输

文章摘要

FastSinkhorn是一种纯CUDA实现的对数域Sinkhorn算法,通过warp级洗牌归约和共享内存分块技术,在极小正则化参数下保持数值稳定性,并在稠密最优传输问题中实现12倍加速。

来源arXiv Machine Learning作者: Hao Xiao
基于Warp级GPU归约的快速对数域Sinkhorn最优传输
报告错误

纠错通道尚未开通,可先复制下方文章信息留存。

查看更正说明
直接读正文

最优传输(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的机器学习应用开辟了新可能性。

展开要点与分析

文章情报

工程师进阶

要点

  • FastSinkhorn完全运行于对数域,支持epsilon=10^{-4}的极小正则化参数。
  • 在8192×8192稠密问题中,相比POT库加速12倍,相比PyTorch GPU基线加速5.9倍。
  • GPU内存消耗仅256 MB,通过warp级归约和共享内存分块优化。
  • 在图像颜色迁移、3D点云匹配等任务中验证了有效性。

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。