verl-project/verl

Additional memory optimization features

Open

#144 opened on Jan 27, 2025

View on GitHub
 (4 comments) (3 reactions) (0 assignees)Python (21,533 stars) (3,940 forks)auto 404
call for contributionenhancementgood first issue

Description

  • Activation offloading (see implementation here)
  • Fusing optimizer step into backward pass (see implementation here)
  • Utilize full_shard reshard_after_forward (see here). I wasn't 100% sure if I could see this already implemented in veRL.

These optimizations largely trade off decreased peak memory useage for additional compute, so may only be useful for training larger models, and in GPU-constrained settings.

Contributor guide