大規模な言語モデルのテンソルランク適応が低い
このリポジトリは、LOTR(ARXIV:2402.01376)の元の実装であり、テンソル分解の形でのパラメーターへの勾配更新を表すLLMSのパラメーター効率の高い微調整のための新しいアプローチです。各レイヤーの低ランクアダプターは、3つのマトリックスの積として構築され、テンソル構造は、この製品の左右の乗数をレイヤー間で共有することから生じます。低ランクのテンソル表現を備えた一連の層の同時圧縮により、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 -Filesに変換します。
python -m lotr.tb2parquet log/glue data/glue.parquet
--names model method task lr rank seed これで、次のように、すべての時系列を備えた1つのparquetのファイルを読むことができます。
import pandas as pd
df = pd . read_parquet ( 'data/glue.parquet' )より具体的には、20MBのtfevents -fileが200kbのparquet -Fileに変換されます。