HyperAIHyperAI
vor 11 Tagen

LoRA: Low-Rank Adaptation von großen Sprachmodellen

Edward J. Hu, Yelong Shen, Phillip Wallis, Zeyuan Allen-Zhu, Yuanzhi Li, Shean Wang, Lu Wang, Weizhu Chen
LoRA: Low-Rank Adaptation von großen Sprachmodellen
Abstract

Ein zentrales Paradigma des Natural Language Processing besteht aus einer großskaligen Vortrainierung auf allgemeinen Domänen-Daten und der Anpassung an spezifische Aufgaben oder Domänen. Mit zunehmender Größe der vortrainierten Modelle wird das vollständige Feintuning, bei dem alle Modellparameter neu trainiert werden, zunehmend unpraktikabel. Als Beispiel sei GPT-3 mit 175 Milliarden Parametern genannt: Die Bereitstellung unabhängiger Instanzen feingetunerter Modelle, jeweils mit 175 Milliarden Parametern, ist prohibitiv teuer. Wir schlagen Low-Rank Adaptation, kurz LoRA, vor, bei dem die vortrainierten Gewichte des Modells fixiert bleiben und stattdessen trainierbare Matrizen basierend auf einer Rangzerlegung in jede Schicht der Transformer-Architektur eingefügt werden. Dadurch wird die Anzahl der trainierbaren Parameter für nachgeschaltete Aufgaben erheblich reduziert. Im Vergleich zum Feintuning von GPT-3 175B mit Adam kann LoRA die Anzahl der trainierbaren Parameter um den Faktor 10.000 und den GPU-Speicherbedarf um den Faktor 3 reduzieren. LoRA erreicht eine Modellqualität, die mit oder sogar besser als beim herkömmlichen Feintuning ist, sowohl bei RoBERTa, DeBERTa, GPT-2 als auch bei GPT-3 – trotz deutlich geringerer Anzahl an trainierbaren Parametern, höherer Trainingsdurchsatzrate und, im Gegensatz zu Adaptern, ohne zusätzliche Inferenz-Latenz. Zudem präsentieren wir eine empirische Untersuchung der Rangdefizienz bei der Anpassung von Sprachmodellen, die Einblick in die Effektivität von LoRA bietet. Wir veröffentlichen ein Paket, das die Integration von LoRA mit PyTorch-Modellen erleichtert, sowie unsere Implementierungen und Modell-Checkpoint für RoBERTa, DeBERTa und GPT-2 unter https://github.com/microsoft/LoRA.