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。