Enhancing Training Efficiency Using Packing with Flash Attention
This is an incremental improvement for practitioners using Hugging Face tools to enhance training efficiency in LLMs.
The paper tackled the inefficiency of padding in LLM training by implementing proper masking for packed examples in Hugging Face Transformers, showing benefits in GPU resource utilization across different packing variations.
Padding is often used in tuning LLM models by adding special tokens to shorter training examples to match the length of the longest sequence in each batch. While this ensures uniformity for batch processing, it introduces inefficiencies by including irrelevant padding tokens in the computation and wastes GPU resources. Hugging Face SFT trainer has always offered the option to use packing to combine multiple training examples, allowing for maximal utilization of GPU resources. However, up till now, it did not offer proper masking of each packed training example. This capability has been added to Hugging Face Transformers 4.44. We analyse this new feature and show the benefits across different variations of packing.