{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/memory-efficient-gradient-unrolling-for-large","title":"Memory-Efficient Gradient Unrolling for Large-Scale Bi-level Optimization","arxiv_id":"2406.14095","date":"2024-06-20","proceeding":null,"authors":["Qianli Shen","Yezhen Wang","Zhouhao Yang","Xiang Li","Haonan Wang","Yang Zhang","Jonathan Scarlett","Zhanxing Zhu","Kenji Kawaguchi"],"abstract":"Bi-level optimization (BO) has become a fundamental mathematical framework for addressing hierarchical machine learning problems. As deep learning models continue to grow in size, the demand for scalable bi-level optimization solutions has become increasingly critical. Traditional gradient-based bi-level optimization algorithms, due to their inherent characteristics, are ill-suited to meet the demands of large-scale applications. In this paper, we introduce $\\textbf{F}$orward $\\textbf{G}$radient $\\textbf{U}$nrolling with $\\textbf{F}$orward $\\textbf{F}$radient, abbreviated as $(\\textbf{FG})^2\\textbf{U}$, which achieves an unbiased stochastic approximation of the meta gradient for bi-level optimization. $(\\text{FG})^2\\text{U}$ circumvents the memory and approximation issues associated with classical bi-level optimization approaches, and delivers significantly more accurate gradient estimates than existing large-scale bi-level optimization approaches. Additionally, $(\\text{FG})^2\\text{U}$ is inherently designed to support parallel computing, enabling it to effectively leverage large-scale distributed computing systems to achieve significant computational efficiency. In practice, $(\\text{FG})^2\\text{U}$ and other methods can be strategically placed at different stages of the training process to achieve a more cost-effective two-phase paradigm. Further, $(\\text{FG})^2\\text{U}$ is easy to implement within popular deep learning frameworks, and can be conveniently adapted to address more challenging zeroth-order bi-level optimization scenarios. We provide a thorough convergence analysis and a comprehensive practical discussion for $(\\text{FG})^2\\text{U}$, complemented by extensive empirical evaluations, showcasing its superior performance in diverse large-scale bi-level optimization tasks. Code is available at https://github.com/ShenQianli/FG2U.","url_abs":"https://arxiv.org/abs/2406.14095v2","url_pdf":"https://arxiv.org/pdf/2406.14095v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"memory-efficient-gradient-unrolling-for-large","repo_url":"https://github.com/shenqianli/fg2u","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":null}],"tasks":[{"task_slug":"computational-efficiency","task_name":"Computational Efficiency"},{"task_slug":"distributed-computing","task_name":"Distributed Computing"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.14095","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}