LoRA: Low-Rank Adaptation of Large Language Models

root 提交于 周日, 01/21/2024 - 12:12
An important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes less feasible. Using GPT-3 175B as an example -- deploying independent instances of fine-tuned models, each with 175B parameters, is prohibitively expensive. We propose Low-Rank Adaptation, or LoRA, which freezes the pre-trained model weights and injects trainable rank decomposition matrices into each layer of the Transformer architecture, greatly reducing the number of trainable parameters for downstream tasks. Compared to GPT-3 175B fine-tuned with Adam, LoRA can reduce the number of trainable parameters by 10,000 times and the GPU memory requirement by 3 times. LoRA performs on-par or better than fine-tuning in model quality on RoBERTa, DeBERTa, GPT-2, and GPT-3, despite having fewer trainable parameters, a higher training throughput, and, unlike adapters, no additional inference latency. We also provide an empirical investigation into rank-deficiency in language model adaptation, which sheds light on the efficacy of LoRA. We release a package that facilitates the integration of LoRA with PyTorch models and provide our implementations and model checkpoints for RoBERTa, DeBERTa, and GPT-2 at https://github.com/microsoft/LoRA.

相关内容

发布日期 08/04/2020 - 01:35
发布日期 06/17/2022 - 10:21
发布日期 06/22/2024 - 17:53
发布日期 02/10/2022 - 15:24
发布日期 08/04/2020 - 01:35
发布日期 10/23/2024 - 19:39
发布日期 08/04/2020 - 01:35
发布日期 04/18/2024 - 09:29
发布日期 09/18/2024 - 19:30