Adaptation de rang à faible tension des modèles de grandes langues
Ce référentiel est la mise en œuvre originale de LOTR (ARXIV: 2402.01376), une nouvelle approche pour le réglage fin et économe en paramètres de LLMS qui représente une mise à jour de gradient des paramètres sous forme de décomposition du tenseur. L'adaptateur de faible rang pour chaque couche est construit comme un produit de trois matrices, et la structure du tenseur découle du partage des multiplicateurs gauche et droit de ce produit parmi les couches. La compression simultanée d'une séquence de couches avec une représentation du tenseur de faible rang permet à LOTR d'archiver une meilleure efficacité de paramètres que LORA, en particulier pour les modèles profonds. De plus, le tenseur central ne dépend pas de la dimension de poids d'origine et peut être rendu arbitraire petit, ce qui permet un réglage fin en aval extrêmement bon marché et rapide.
@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 }
} Nous supposons que tous les résultats de l'expérience brute (c.-à-d. Les fichiers de journalisation, tout d'abord) sont situés dans le répertoire log . La structure de haut niveau de ce répertoire devrait refléter la configuration expérimentale. Le chemin par rapport à ce répertoire devrait donc avoir la structure comme suit.
<dataset>/<model>/<method>/<param1>/<param2>/.../<seed>/<tfevents-file>
Le segment du modèle précède le segment du chemin de la méthode, car le nombre de modèles différents est généralement plus petit que le nombre de méthodes et de pipeline d'entraînement généralement paramétrés par modèle puis par méthode. Tous les paramètres du point flottant doivent être utilisés en notation scientifique pour s'assurer qu'aucun chiffre significatif n'est perdu. Le répertoire LAT est des graines aléatoires utilisées pour exécuter une expérience.
Notez que les exigences ci-dessus sont involontaires car il n'y a pas de logiciel de gestion des expériences d'apprentissage automatique complet.
Tensorboard tfvents -File sont des fichiers assez volumineux qui prennent notablement longtemps pour lire et charger. Nous convertissons donc les fichiers tfevents en fichiers parquet avec la commande suivante.
python -m lotr.tb2parquet log/glue data/glue.parquet
--names model method task lr rank seed Maintenant, on peut lire un seul file parquet avec toutes les séries chronologiques comme suit.
import pandas as pd
df = pd . read_parquet ( 'data/glue.parquet' ) Pour être plus spécifique, 20 Mo de fichier tfevents sont convertis en 200 Ko de fichier parquet .