Адаптация с низким уровнем тензора крупных языковых моделей
Этот репозиторий представляет собой исходную реализацию LOTR (ARXIV: 2402.01376), новый подход к эффективному параметрам точной настройки LLMS, который представляет градиентное обновление параметров в форме разложения тензора. Низкий рейк адаптер для каждого слоя построен в качестве продукта трех матриц, а тензорная структура возникает из-за совместного использования левых и правых множителей этого продукта среди слоев. Одновременное сжатие последовательности слоев с низким уровнем тензора позволяет LOTR архивировать еще лучшую эффективность параметров, чем LORA, особенно для глубоких моделей. Более того, тензор ядра не зависит от исходного размера веса и может быть сделан произвольным маленьким, что обеспечивает чрезвычайно дешевую и быструю тонкую настройку вниз по течению.
@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 }
} Мы предполагаем, что все необработанные результаты эксперимента (т.е. файлы журнала, прежде всего) расположены в каталоге log . Структура высокого уровня этого каталога должна отражать экспериментальную установку. Таким образом, путь относительно этого каталога должен иметь структуру следующим образом.
<dataset>/<model>/<method>/<param1>/<param2>/.../<seed>/<tfevents-file>
Сегмент модели предшествует сегменту пути метода, поскольку количество различных моделей обычно меньше, чем количество методов и тренировочного трубопровода, обычно параметризуемых моделью, а затем методом. Все параметры с плавающей запятой должны использоваться в научных обозначениях, чтобы гарантировать, что никакие существенные цифры не потеряны. Каталог LAT является случайным семенем, используемым для запуска эксперимента.
Обратите внимание, что приведенные выше требования являются непроизвольными, поскольку не существует полнофункционального программного обеспечения для управления экспериментом по машинному обучению.
Tensorboard tfvents -file -это довольно большие файлы, которые уделяют довольно много времени для чтения и загрузки. Таким образом, мы конвертируем tfevents - -files в parquet файлы со следующей командой.
python -m lotr.tb2parquet log/glue data/glue.parquet
--names model method task lr rank seed Теперь можно прочитать один parquet -файл со всеми временными рядами следующим образом.
import pandas as pd
df = pd . read_parquet ( 'data/glue.parquet' ) Чтобы быть более конкретным, 20 МБ tfevents -File преобразованы в 200 КБ parquet -файла.