การปรับอันดับเทนเซอร์ต่ำของแบบจำลองภาษาขนาดใหญ่
ที่เก็บนี้เป็นการนำไปใช้ดั้งเดิมของ LOTR (ARXIV: 2402.01376) ซึ่งเป็นวิธีการใหม่สำหรับการปรับแต่งพารามิเตอร์อย่างละเอียดของ LLM ซึ่งแสดงถึงการอัปเดตการไล่ระดับสีไปยังพารามิเตอร์ในรูปแบบของการสลายตัวของเทนเซอร์ อะแดปเตอร์ระดับต่ำสำหรับแต่ละชั้นถูกสร้างขึ้นเป็นผลิตภัณฑ์ของเมทริกซ์สามตัวและโครงสร้างเทนเซอร์เกิดขึ้นจากการแบ่งปันตัวคูณด้านซ้ายและขวาของผลิตภัณฑ์นี้ระหว่างเลเยอร์ การบีบอัดลำดับของเลเยอร์ที่มีการแสดงเทนเซอร์ระดับต่ำพร้อมกันช่วยให้ 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 ตอนนี้เราสามารถอ่าน parquet -File เดียวพร้อมซีรีย์เวลาทั้งหมดดังนี้
import pandas as pd
df = pd . read_parquet ( 'data/glue.parquet' ) เพื่อให้มีความเฉพาะเจาะจงมากขึ้น 20MB ของ tfevents -file จะถูกแปลงเป็น 200kb ของ parquet -file