ยินดี ต้อนรับสู่ selective-peft-toolkit การใช้งานอย่างเป็นทางการสำหรับกระดาษ ชุดเครื่องมือนี้ให้เฟรมเวิร์กที่ยืดหยุ่นสำหรับการปรับแต่งแบบจำลองการปรับแต่งแบบจำลองภาษาขนาดใหญ่โดยใช้วิธีการปรับแต่งพารามิเตอร์แบบเลือก (PEFT) แบบเลือกที่แตกต่างกัน
ชุดเครื่องมือมีวิธี PEFT ต่อไปนี้:
วิธีการเหล่านี้จะถูกเปิดเผยผ่านแพ็คเกจที่เรียกว่า selective_optimizers ซึ่งสามารถติดตั้งได้ผ่าน PIP:
pip install selective_optimizersSelective Optimizers : wrappers รอบตัวเพิ่มประสิทธิภาพมาตรฐาน (subclasses ของ Torch.optim.optimizer) ที่เลือกอัปเดตจำนวนพารามิเตอร์ที่มีงบประมาณในโมเดล
การเลือกแบบฮิวริสติก : ตัวเลือกที่เลือกใช้งานพารามิเตอร์อัพเดทตามฮิวริสติกและกลยุทธ์การเลือกต่างๆ
การรวมเข้ากับหม้อแปลง : เข้ากันได้กับ transformers.trainer เพื่อการรวมเข้ากับท่อที่มีอยู่ของคุณได้อย่างง่ายดาย
การจัดเก็บที่มีประสิทธิภาพ : เก็บน้ำหนักที่ปรับเปลี่ยนในวัตถุสรุปที่ใช้พื้นที่เฉพาะ O (b) โดยที่ B คืองบประมาณ
ในการติดตั้งแพ็คเกจ selective_optimizers เพียงแค่เรียกใช้:
pip install selective-optimizersนี่คือเวิร์กโฟลว์พื้นฐานสำหรับการฝึกอบรมด้วยเครื่องมือเพิ่มประสิทธิภาพแบบเลือก:
from selective_optimizers . wrap import get_selective_optimizer
from selective_optimizers . load_store import write_summary_to_disk
from torch . optim import AdamW
# Choose your base optimizer
opt = AdamW
# Specify the PEFT method to use (can be one of “fft”, “id3”, “bitfit”, or “pafi”)
peft_to_use = "id3"
# Get the selective optimizer class
optimizer_class = get_selective_optimizer ( opt , peft_to_use )
# Initialize the optimizer with additional selective parameters
optimizer = optimizer_class (
params = model . parameters (),
lr = 0.0001 ,
budget = 100000 ,
exp = 0 ,
eps = 1e-3 ,
max_steps = 1000
)
# Usual training loop
...
...
# Optional post-training work for validation
optimizer . post_train_work ()
print ( "Budget used:" , optimizer . get_budget_used ())
# Save the summary of modified weights
summary = optimizer . get_summary ( model )
write_summary_to_disk ( "path/to/summary.pth" , summary ) from selective_optimizers . load_store import load_summary_from_disk , load_weights_from_summary
# Load your model as usual
...
model = ...
...
# Load the summary from disk
summary = load_summary_from_disk ( "path/to/summary.pth" )
# Apply the modified weights from the summary to the model
load_weights_from_summary ( model , summary )
# Usual inference code
...
...คลาส Transformers.trainer ยอมรับตัวเพิ่มประสิทธิภาพภายนอกทำให้ง่ายต่อการรวมตัวเพิ่มประสิทธิภาพที่เลือกเข้ากับเวิร์กโฟลว์ของคุณ:
เรายินดีต้อนรับการมีส่วนร่วมในแพ็คเกจ selective_optimizers! หากคุณต้องการเพิ่มเครื่องมือเพิ่มประสิทธิภาพแบบเลือกใหม่ให้ทำตามขั้นตอนเหล่านี้:
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับรายละเอียด
หากคุณใช้ชุดเครื่องมือนี้ในการวิจัยของคุณโปรดอ้างอิงบทความของเรา:
@article{Agarwal2024_step_by_step,
title = {Step - by - Step Unmasking for Parameter - Efficient Fine - tuning of Large Language Models},
author = {Aradhye Agarwal and Suhas Kamasetty Ramesh and Ayan Sengupta and Tanmoy Chakraborty}
journal = {arXiv preprint arXiv: 2408 . 14470 },
year = { 2024 },
}
สำหรับคำถามหรือปัญหาใด ๆ อย่าลังเลที่จะเปิดปัญหาเกี่ยวกับที่เก็บ GitHub หรือติดต่อเราโดยตรง