
Ингээд гэртээ gpt-тэй болоорой

Б.Сайнбаяр
Багш


Б.Сайнбаяр
Багш
Энэхүү цуврал нийтлэлийн тусламжтай хамтдаа хувийн AI бүтээх болно. Цаашид цуврал нийтлэлүүд орох тул багшийнхаа нийтлэлтэй хамт байгаад IRON MAN шиг J.A.R.V.I.S-тэй болоорой.
Бидний сайн мэддэг GPT, Claude гэх мэт хэлний загварууд нь NLP салбарт бүтээгдэхүүн, хэрэглээг бий болгоход де-факто стандарт болсон.
Эдгээр загварууд нь маш олон ажлыг гүйцэтгэх чадвартай.
Гэхдээ эдгээр загварууд нь сургалт хийх процесст маш их асуудалтай гэж хэлж болно. GPT-5 гэх мэт асар том загваруудыг сургахад олон сая долларын зардал гардгаас гадна жижиг старт-ап болон энгийн хүмүүс бид Open-Source жижиг загваруудыг сургалтанд ашигладаг.
Нөгөө талаас Open-Source загваруудыг сургахад маш их зардал, техник хангамж ба цага хугацаа шаардагддаг.
Эндээс л LoRA гэх мэт PEFT техникүүд орж ирдэг бөгөөд эдгээр техникүүд нь том загваруудыг FULL-FINETUNE хийхээс хамаагүй бага зардлаар сургалт хийх боломжийг олгодог бөгөөд энэхүү нийтлэлд QLoRa болон LoRA-гийн тухай тайлбарлая
PEFT Finetuing (Parameter Efficient Tuning) нь загварын параметруудыг илүү бага зардлаар сургах арга бөгөөд бага нөөцөөр тодорхой үр дүнтэйгээр сургалт хийх боломжийг олгодог.
PEFT арга нь ихэвчлэн мэдрэлийн сүлжээн дэх сургах боломжтой параметрүүдийн тоог багасгах замаар ажилладаг. Энэ нь загварын үндсэн параметрийн ихэнх хэсгийг хөлдөөх буюу freeze хийгээд бага хэсгийг (заавал бага байх албагүй ээ :| ) сургана гэсэн үг.
Хамгийн түгээмэл ашиглагдаж буй PEFT арга бол Prefix Tuning, P-tuning, LoRA гэх мэт. LoRA бол яах аргагүй хамгийн их ашиглагддаг арга юм. LoRA нь QLoRA, LongLoRA гэх мэт олон хувилбартай бөгөөд тэдгээр нь өөрийн гэсэн хэрэглээтэй байдаг.
![Alammar, J (2018). The Illustrated Transformer [Blog post].](https://blog-cdn.mercity.ai/blog/fine-tuning-llms-using-peft-and-lora/64ac796a220d3feb89bedcef_gksjp_6BS_dpO8KdfKa51eQ_BNcKLnmQlNcZRdg5MHOqfJoj7bMoUf3rJwUpk1fZh64R0zSo5jl1nMRzfeBQuiZ63R4rO8PsOvEWLNR3QrQCBdC8qvtRk6C0K5_0xd6zGc_zoy96cgqHz5_kSa-jQfw.gif)

PEFT техникийг ашиглах олон шалтгаан байдаг бөгөөд тэдгээр нь LLM болон бусад загваруудыг Finetune хийх арга зам болсон. Гэхдээ AI сонирхогчид болон жижиг компаниуд яагаад үүнийг ашигладаг тухай жагсаагаад сайхан бичье.
Сургах боломжтой параметрүүдийн тоо буурах тусам сургалтанд бага цаг зарцуулагдана.
Гэхдээ энэ нь зөвхөн нэг хэсэг юм. Бага хэмжээний сургах боломжтой параметрүүдээр та загваруудыг илүү хурдан сургах боломжтой бөгөөд үүний үр дүнд загваруудыг илүү хурдан турших боломжтой. Сургалтад бага цаг судалгаанд илүү их цаг зарцуулснаар та янз бүрийн загвар, өөр өөр өгөгдлийн багц, өөр өөр арга техникийг туршиж үзэхэд зарцуулж болно.
Энэ нь ойлгомжтой боловч PEFT нь тооцооллын зардалд маш их мөнгө хэмнэж чадна. Өмнө дурьдсанчлан санах ойн оновчлолын алгоритмуудын тооцоолол (AKA: Optimization) их байдаг тул та бага VRAM-д харьцангуй том загварыг багтаах боломжтой тул их хэмжээний VRAM түрээслэх шаардлагагүй. Энэ нь тооцоололд мөнгө хэмнэж, илүү том ажилд хөрөнгөө зарцуулах давуу талыг бий болгохоос гадна илүү том өгөгдлийн багц дээр сургалт хийх боломжийг танд олгоно.

LoRA бол PEFT-ийн хамгийн алдартай аргуудын нэг. Энэ нь 2021 онд танилцуулагдсан.
Энгийнээр хэлбэл, LoRA нь том AI загварын бүх жинг дахин сургахын оронд жижиг нэмэлт “адаптер” параметрүүд нэмдэг. Сургалтын үед зөвхөн эдгээр жижиг параметрүүд шинэчлэгдэнэ.
Хамгийн ухаалаг хэсэг нь:
сургалт дууссаны дараа эдгээр нэмэлт параметрүүдийг үндсэн загварт нэгтгэж болдог. Ингэснээр загвар илүү их параметртэй болоогүй мэт ажилладаг ч шинэ чадвар сурсан байдаг.
LoRA нь жинг шинэчлэх матрицыг жижиг матрицууд болгон задалж, загварыг сургахад ашигладаг. ΔWAxB нь жинг шинэчлэх матриц, буцаан тархалтаас олж авсан өөрчлөлтүүдийн матриц бөгөөд энэ нь бидний загварыг нарийн тааруулахын тулд шинэчлэх шаардлагатай параметрүүдийн тоотой ижил хэмжээтэй байна. Энэ матрицыг эсвэл дурын матрицыг r-ийг зэрэглэл болгон A ба B хэлбэрээр харуулсан жижиг матрицуудын багц хэлбэрээр илэрхийлж болно. r параметр нь жижиг матрицуудын хэмжээг хянадаг.
Дараа нь эдгээр жижиг матрицуудыг загварт шууд шинэчлэх бус харин жижиг матрицын параметрүүдийг шинэчлэхийн тулд ердийн ухрах тархалтыг ашиглан загварыг сургахад ашиглаж болно. Бид үндсэндээ ΔW-ийг жижиг матрицуудаар дамжуулан сурдаг. Дараа нь эдгээр жижиг матрицуудыг хооронд нь үржүүлж анхны матрицыг буцааж авах боломжтой. Эдгээр матрицууд нь хамаагүй бага байдаг тул энэ процесс нь цөөн тооны параметрүүдийг ашигладаг бөгөөд үүний үр дүнд тооцооллын нөөц бага байдаг. Энэ нь мөн загварыг бүхэлд нь хадгалах шаардлагагүй, харин зөвхөн жижиг матрицуудыг хадгалахад жижиг хяналтын цэгүүдийг бий болгодог.


Сургах параметрийн тоог бид rank r параметрээр ихэвчлэн удирдаж чадна. Жишээ нь, жинг шинэчлэх матриц 100,000 параметртэй гэж бодъё. Анхны матрицын хэмжээ нь 200 × 500 байж болно. LoRA энэ том матрицыг бага хэмжээтэй хоёр матриц болгон задладаг: A = 200 × 3 B = 3 × 500 Ингэснээр сургах шаардлагатай параметрийн тоо: 200 × 3 + 3 × 500 = 2100 параметр өөрөөр хэлбэл нийт параметрийн ердөө 2.1% нь л сургагдана. Үүнээс гадна, LoRA-г зөвхөн тодорхой layer-үүд дээр ашиглахаар сонгож болох тул параметрийн тоог бүр ч багасгаж болно. Сургагдах параметрүүд нь үндсэн загвараас хавьгүй цөөн байдаг учраас файл нь бүр 8MB орчим жижиг хэмжээтэй байж чадна. Энэ нь загварыг ачаалах, ашиглах, дамжуулахыг илүү хурдан бөгөөд хялбар болгодог. Хэрэв илүү гүнзгий ойлгохыг хүсвэл LoRA paper-ийг уншиж болно.
QLoRA нь ижил чанарын гүйцэтгэлийг хадгалахын зэрэгцээ санах ойг багасгахад туслах 3 шинэ үзэл баримтлалыг нэвтрүүлж ажилладаг. Эдгээр нь 4 битийн Normal Float, Double Quantization, Paged Optimizers юм.
4 битийн NormalFloat буюу NF нь Quantile Quantization техник дээр суурилсан онолын хувьд оновчтой мэдээллийн шинэ төрөл юм. 4-бит NF нь 0-ээс 1 хүртэлх тархалт дахь 2k + 1 (k нь битийн тоо) квантилуудыг тооцоолж, утгыг нь [-1, 1] мужид хэвийн болгох замаар ажилладаг. Үүнийг олж авсны дараа бид мэдрэлийн сүлжээний жинг [-1, 1] мужид хэвийн болгож, дараа нь 2-р алхамаас авсан квантилууд руу квантлах боломжтой. .
Уг нийтлэлд судлаачид сүлжээний QLoRA, LoRA болон бүрэн нарийн тохируулгын хооронд маш нарийвчилсан харьцуулалтыг гаргажээ.
Дээрх хүснэгтээс харж байгаагаар T5 загварын QLoRA-д сургаж, тэр ч байтугай Давхар хэмжигдэхүүнтэй харьцуулахад гүйцэтгэлийн алдагдал байхгүй ч бид ямар ч томоохон ялгаа олж харахгүй байна. Нэг чухал ялгаа нь шаардлагатай LoRA адаптеруудын тоо юм. Уг нийтлэлд зохиогчид ердийн LoRA-ийн нарийн тохируулгатай харьцуулахад QLoRA-г нарийн тааруулахад илүү их LoRA адаптер хэрэгтэйг дурджээ. Зохиогчид LoRA адаптеруудыг бүх шугаман трансформаторын блокуудад асуулга, түлхүүр, утгын давхаргын хамт хэрэглэхийг санал болгож байна.
Илүү том хэлний загваруудын хувьд ч гүйцэтгэл нь ижил хэвээр байна
Тиймээс зохиолчид Гуанакогийн үндсэн LLaMA загварууд дээр model бэлтгэсэн. Энэ нь OASST1 өгөгдлийн багц дээр бэлтгэгдсэн 33 тэрбум параметрийн загвар юм. Гарсан үедээ энэ нь хамгийн сүүлийн үеийн загвар болж, ChatGPT-тэй харьцуулахад 99.3% гүйцэтгэлтэй болсон. Бусад загварууд нь Vicuna 13B, Guanaco33B зэрэг бага загвартай байсан ч 4 битийн нарийвчлалыг ашигласан тул 13B загвараас бага санах ой ашигладаг. .