DPZero: Private Fine-Tuning of Language Models without Backpropagation
Liang Zhang, Bingcong Li, Kiran Koshy Thekumparampil, Sewoong Oh, Niao He
TL;DR
This work tackles the dual challenges of memory-intensive backpropagation and data privacy in fine-tuning large language models. It introduces DPZero, a private zeroth-order optimization algorithm that decouples gradient direction (public) from magnitude (private), employs a tighter clipping strategy, and uses scalar privacy noise, achieving nearly dimension-independent rates under a low effective rank assumption. Theoretical results show that DPZero attains convergence rates tied to the intrinsic rank r, with rates scaling as roughly $ ilde{O}(rac{ ext{poly}( ext{problem parameters})}{n\, ext{ε}} \, imes \, ext{sqrt}(r \, ext{log}(e/ ext{δ})))$, significantly improving over naive dimension-dependent zeroth-order DP methods. Empirically, DPZero demonstrates memory efficiency and competitive accuracy on private fine-tuning tasks for RoBERTa and OPT, confirming its practicality for large-scale, privacy-preserving model adaptation.
Abstract
The widespread practice of fine-tuning large language models (LLMs) on domain-specific data faces two major challenges in memory and privacy. First, as the size of LLMs continues to grow, the memory demands of gradient-based training methods via backpropagation become prohibitively high. Second, given the tendency of LLMs to memorize training data, it is important to protect potentially sensitive information in the fine-tuning data from being regurgitated. Zeroth-order methods, which rely solely on forward passes, substantially reduce memory consumption during training. However, directly combining them with standard differentially private gradient descent suffers more as model size grows. To bridge this gap, we introduce DPZero, a novel private zeroth-order algorithm with nearly dimension-independent rates. The memory efficiency of DPZero is demonstrated in privately fine-tuning RoBERTa and OPT on several downstream tasks. Our code is available at https://github.com/Liang137/DPZero.
