[论文解读] PASSCoDe: Parallel ASynchronous Stochastic dual Co-ordinate Descent
该论文提出 PASSCoDe,一种异步并行随机对偶坐标下降算法族,通过在共享内存中维护原始变量,实现 $\ell_2$-正则化模型的快速、可扩展训练。通过避免使用锁并采用原子操作,PASSCoDe 在使用原子写入时实现线性收敛(linear convergence),在无锁情况下实现反向误差分析(backward error analysis),在大规模数据集上相比以往并行求解器在速度和可扩展性方面表现更优。
Stochastic Dual Coordinate Descent (SDCD) has become one of the most efficient ways to solve the family of $\ell_2$-regularized empirical risk minimization problems, including linear SVM, logistic regression, and many others. The vanilla implementation of DCD is quite slow; however, by maintaining primal variables while updating dual variables, the time complexity of SDCD can be significantly reduced. Such a strategy forms the core algorithm in the widely-used LIBLINEAR package. In this paper, we parallelize the SDCD algorithms in LIBLINEAR. In recent research, several synchronized parallel SDCD algorithms have been proposed, however, they fail to achieve good speedup in the shared memory multi-core setting. In this paper, we propose a family of asynchronous stochastic dual coordinate descent algorithms (ASDCD). Each thread repeatedly selects a random dual variable and conducts coordinate updates using the primal variables that are stored in the shared memory. We analyze the convergence properties when different locking/atomic mechanisms are applied. For implementation with atomic operations, we show linear convergence under mild conditions. For implementation without any atomic operations or locking, we present the first {\it backward error analysis} for ASDCD under the multi-core environment, showing that the converged solution is the exact solution for a primal problem with perturbed regularizer. Experimental results show that our methods are much faster than previous parallel coordinate descent solvers.
研究动机与目标
- 解决在共享内存多核系统上高效并行化 LIBLINEAR 中使用的高度优化的串行 DCD 算法的挑战。
- 克服同步并行 DCD 方法的局限性,后者因通信和同步开销导致加速性能差。
- 设计一种异步并行 DCD 算法,同时维护原始变量和对偶变量,以保持原始 DCD 方法的效率。
- 在共享内存约束下,分析不同同步策略(锁、原子操作、无锁执行)的收敛性和误差界。
- 证明所提出方法在大规模数据集上相比现有并行和串行求解器,在加速比和收敛性能方面表现更优。
提出的方法
- 提出三种变体:PASSCoDe-Lock(使用互斥锁)、PASSCoDe-Atomic(使用原子写入以确保原始-对偶一致性)和 PASSCoDe-Wild(无锁,无原子操作)。
- 每个线程独立选择一个随机对偶变量,并使用当前共享的原始变量 $\boldsymbol{w}$ 进行更新,该变量在各线程间实时更新。
- 通过原子操作在 PASSCoDe-Atomic 中强制实现原始-对偶关系 $\boldsymbol{w} = \sum_i \alpha_i \boldsymbol{x}_i$,在 PASSCoDe-Wild 中通过误差分析实现。
- 使用反向误差分析证明,PASSCoDe-Wild 收敛于一个带有修正正则化项的扰动原始问题的精确解。
- 实现一个并行初始化阶段,以确保与 CoCoA 和 AsySCD 等其他求解器的公平比较。
- 从加速比计算中排除初始化时间,以公平评估各方法的计算效率。
实验结果
研究问题
- RQ1我们能否设计一种异步并行 DCD 算法,同时维护原始变量和对偶变量,以保持串行 DCD 方法的效率?
- RQ2PASSCoDe-Atomic 中使用原子操作是否能在较弱条件下保证线性收敛?
- RQ3无锁方法(PASSCoDe-Wild)对最终解质量的理论影响是什么?其解与最优解的接近程度如何?
- RQ4在收敛速度和可扩展性方面,PASSCoDe 与现有并行求解器(如 CoCoA 和 AsySCD)相比表现如何?
- RQ5PASSCoDe 是否能在大规模数据集上实现高加速比(例如在 10 个核心上达到 6–8×),同时不牺牲解的质量?
主要发现
- PASSCoDe-Wild 在所有数据集上使用 10 个核心时,相比最佳串行参考实现(LIBLINEAR DCD)实现了 6–8× 的加速比,展现出卓越的可扩展性。
- PASSCoDe-Wild 略快于 PASSCoDe-Atomic,因为原子操作的开销更低,且在更密集的数据集上性能差距进一步扩大。
- AsySCD 即使使用 10 个核心,也比 PASSCoDe 和 LIBLINEAR 慢几个数量级,并因内存使用过高而无法在如 news20 等小数据集之外扩展。
- PASSCoDe-Atomic 在较弱条件下表现出线性收敛,验证了其理论鲁棒性。
- PASSCoDe-Wild 收敛于一个带有扰动正则化项的原始问题的精确解,证明其解质量接近最优。
- CoCoA 在早期精度上表现具有竞争力,但最终收敛到与 LIBLINEAR 相同的目标值,而 PASSCoDe 在速度和最终目标值上均优于 CoCoA。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。