lotr
v0.1.0
大语言模型的低张量排名改编
该存储库是LOTR(ARXIV:2402.01376)的原始实现,这是一种用于LLMS参数有效微调的新方法,它代表了以张量分解形式对参数的梯度更新。每一层的低排名适配器都是三个矩阵的产物,而张量结构是由于该产品之间的左和右乘数在层之间产生的。同时压缩具有低级张量表示的一系列层序列,可以使LotR比Lora归档更好的参数效率,尤其是对于Deep Models。此外,核心张量不取决于原始的重量尺寸,并且可以使任意小,这使得非常便宜且快速的下游微调。
@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 -files。
python -m lotr.tb2parquet log/glue data/glue.parquet
--names model method task lr rank seed 现在,可以阅读单个parquet - file,其中包含以下时间序列。
import pandas as pd
df = pd . read_parquet ( 'data/glue.parquet' )更具体地说,将20mb的tfevents -file转换为200kb parquet -file。