Adaptasi peringkat tensor rendah dari model bahasa besar
Repositori ini adalah implementasi asli LOTR (ARXIV: 2402.01376), pendekatan baru untuk penyempurnaan LLMS yang efisien parameter yang mewakili pembaruan gradien untuk parameter dalam bentuk dekomposisi tensor. Adaptor peringkat rendah untuk setiap lapisan dibangun sebagai produk dari tiga matriks, dan struktur tensor muncul dari berbagi pengganda kiri dan kanan produk ini di antara lapisan. Kompresi simultan dari urutan lapisan dengan representasi tensor rendah memungkinkan LOTR untuk mengarsipkan efisiensi parameter yang lebih baik daripada Lora terutama untuk model yang dalam. Selain itu, tensor inti tidak bergantung pada dimensi berat asli dan dapat dibuat sewenang-wenang kecil, yang memungkinkan fine-tuning hilir yang sangat murah dan cepat.
@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 }
} Kami berasumsi bahwa semua hasil percobaan mentah (yaitu file logging, pertama -tama) terletak di direktori log . Struktur tingkat tinggi direktori ini harus mencerminkan pengaturan eksperimental. Jadi jalan relatif terhadap direktori ini harus memiliki struktur sebagai berikut.
<dataset>/<model>/<method>/<param1>/<param2>/.../<seed>/<tfevents-file>
Segmen model mendahului segmen jalur metode karena jumlah model differnt biasanya lebih kecil dari jumlah metode dan pipa pelatihan yang biasanya diparameterisasi dengan model dan kemudian dengan metode. Semua parameter titik mengambang harus digunakan dalam notasi ilmiah untuk memastikan bahwa tidak ada angka signifikan yang hilang. Direktori LAT adalah benih acak yang digunakan untuk menjalankan percobaan.
Perhatikan bahwa persyaratan di atas tidak disengaja karena tidak ada perangkat lunak manajemen eksperimen pembelajaran mesin fitur lengkap.
Tensorboard tfvents -file adalah file yang cukup besar yang membutuhkan waktu lama untuk membaca dan memuat. Jadi kami mengonversi tfevents -files menjadi parquet -files dengan perintah berikut.
python -m lotr.tb2parquet log/glue data/glue.parquet
--names model method task lr rank seed Sekarang, seseorang dapat membaca satu parquet -file dengan semua seri waktu sebagai berikut.
import pandas as pd
df = pd . read_parquet ( 'data/glue.parquet' ) Agar lebih spesifik, 20MB tfevents -file dikonversi menjadi 200kb parquet -file.