atlas

Research map / Large language models / Instruction and fine-tuning

BAdam: A Memory Efficient Full Parameter Optimization Method for Large Language Models

NeurIPS 2024 · Large language models › Instruction and fine-tuning · approach: Efficient LLM fine-tuning systems · 4 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Proposes BAdam, a block coordinate descent method that updates one transformer block at a time with Adam, enabling memory-efficient full-parameter finetuning of Llama 3-8B on a single RTX3090 and Llama 3-70B on 4xA100.

Problem

Full-parameter finetuning of LLMs with Adam requires roughly 18M GB of GPU memory, which is prohibitive under limited GPU memory; PEFT methods like LoRA restrict updates to a low-rank subspace.

Approach

Combine block coordinate descent with Adam's update rule: partition parameters into D blocks (e.g., transformer layers), run K Adam steps on one active block with the others frozen, clear optimizer states on switching, and keep optimizer states only for the active block, giving memory around 2M + 16M/D GB.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Use BAdam instead of LoRALlama 3-8B math finetuning · Average math scorescore: 43.3 -> 44.4Helped
Use BAdam instead of AdamLlama 3-8B math finetuning · Average math scorescore: 44.1 -> 44.4Helped
Use BAdam instead of LoRALlama 3-70B math finetuning · Average math scorescore: 59.0 -> 62.7Helped
Use BAdam instead of AdamLlama 2-7B instruction tuning · MT-bench average, learning rate 1e-5MT-bench score: 4.76 -> 4.96Helped
Use BAdam instead of LoRALlama 3-8B instruction tuning · MT-bench average, learning rate 1e-6MT-bench score: 6.27 -> 6.65Helped
Use BAdam instead of AdamLlama 3-8B instruction tuning · MT-bench average, learning rate 1e-6MT-bench score: 6.23 -> 6.65Helped
Use BAdam instead of LoRALlama 3-8B finetuning · Alpaca-GPT4, per epochbackward time: 3.20 hours -> 1.74 hoursHelped
Replace Adam's update rule with SGD in the BCD framework (BSGD) (ablation)BCD finetuning on Llama 3-8B · MT-benchMT-bench scoreNo clear effect
Use BCD updates rather than full-model updates (ablation)SGD finetuning on Llama 3-8B · MT-benchMT-bench scoreHelped
Use BCD updates rather than full-model updates (ablation)Adam finetuning on Llama 3-8B · Training loss convergencetraining lossHurt
Change block ordering among ascending, descending, and random reshuffling (ablation)BAdam on Llama 3-8B · Alpaca-GPT4training loss convergenceNo clear effect
Vary the inner Adam steps K among 10, 50, 100, and 200 (ablation)BAdam on Llama 3-8B · Alpaca-GPT4training loss convergenceNo clear effect

Surprising findings

Limitations

Experimental setup

Datasets: Alpaca-GPT4 MathInstruct SuperGLUE StarCoder-Python

Benchmarks: MT-bench GSM8K Aqua MMLU-Math SAT-Math MATH NumGLUE SuperGLUE

Metrics: MT-bench score zero-shot accuracy peak memory (GB) wall-clock time cumulative explained variance / effective rank

Baselines: Adam LoRA LOMO GaLore BSGD SGD

Builds on: Adam LoRA LOMO GaLore gradient checkpointing

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy