Anpassung von großer Sprachmodellen mit niedrigem Tensor -Rang
Dieses Repository ist die ursprüngliche Implementierung von LOTR (ARXIV: 2402.01376), ein neuer Ansatz für die parametereffiziente Feinabstimmung von LLMs, die ein Gradienten-Update für Parameter in Form der Tensor-Zerlegung darstellt. Niedriger Adapter für jede Schicht wird als Produkt aus drei Matrizen konstruiert, und die Tensorstruktur entsteht aus der gemeinsamen Nutzung der linken und rechten Multiplikatoren dieses Produkts zwischen Schichten. Die gleichzeitige Komprimierung einer Sequenz von Schichten mit Tensor-Darstellung mit niedriger Rang ermöglicht es LOTR, eine noch bessere Parameter-Effizienz zu archivieren als LORA, insbesondere für tiefe Modelle. Darüber hinaus hängt der Kernzensor nicht von der ursprünglichen Gewichtsabmessung ab und kann willkürlich klein gemacht werden, was eine extrem billige und schnelle stromabwärts gelegene Feinabstimmung ermöglicht.
@misc { bershatsky2024lotr ,
title = { {LoTR}: Low Tensor Rank Weight Adaptation } ,
author = { Daniel Bershatsky and Daria Cherniuk and Talgat Daulbaev and Aleksandr Mikhalev and Ivan Oseledets } ,
year = { 2024 } ,
eprint = { 2402.01376 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CL }
} Wir gehen davon aus, dass sich alle Rohexperimentergebnisse (dh Protokollierungsdateien, zuerst) im log befinden. Die hochrangige Struktur dieses Verzeichnisses sollte das experimentelle Setup widerspiegeln. Der Pfad relativ zu diesem Verzeichnis sollte also die Struktur wie folgt haben.
<dataset>/<model>/<method>/<param1>/<param2>/.../<seed>/<tfevents-file>
Das Modellsegment setzt das Methodenpfadsegment voraus, da die Anzahl der verschiedenen Modelle normalerweise geringer ist als die Anzahl der Methoden und die Trainingspipeline, die normalerweise nach Modell und dann nach Methode parametrisiert werden. Alle schwimmenden Punktparameter sollten in wissenschaftlicher Notation verwendet werden, um sicherzustellen, dass keine signifikanten Ziffern verloren gehen. Das LAT -Verzeichnis ist zufälliger Saatgut, mit dem ein Experiment durchgeführt wird.
Beachten Sie, dass die obigen Anforderungen unfreiwillig sind, da keine Software für Experiment-Management von maschinellem Lernen mit vollem Einfachen vorhanden ist.
Tensorboard tfvents -File sind ziemlich große Dateien, die das Lesen und Laden auffällig dauern. Deshalb konvertieren wir tfevents -Files mit dem folgenden Befehl in parquet -Files.
python -m lotr.tb2parquet log/glue data/glue.parquet
--names model method task lr rank seed Jetzt kann man ein einzelnes parquet mit All -Time -Serie wie folgt lesen.
import pandas as pd
df = pd . read_parquet ( 'data/glue.parquet' ) Um genauer zu sein, werden 20 MB tfevents -Datei in 200 KB parquet -Datei umgewandelt.