Unsloth: დააჩქარეთ LLM მოდელების დახვეწა Hugging Face-ის ეკოსისტემაში
Unsloth არის მსუბუქი ბიბლიოთეკა, რომელიც შექმნილია დიდი ენობრივი მოდელების (LLM) დახვეწის პროცესის დასაჩქარებლად. ის სრულად თავსებადია Hugging Face-ის ეკოსისტემასთან და აქტიურად ვითარდება Unsloth-ის გუნდისა და ღია წყაროს საზოგადოების მიერ. ბიბლიოთეკა მხარს უჭერს NVIDIA GPU-ებს, Llama-სა და Mistral-ის არქიტექტურებს, რაც უზრუნველყოფს მნიშვნელოვნად უფრო სწრაფ დახვეწას და მეხსიერების ნაკლებ გამოყენებას სტანდარტულ QLoRA-სთან შედარებით, სიზუსტის დაკარგვის გარეშე.
Unsloth-ში ჩაღრმავებამდე, სასარგებლო იქნება ჩვენი QLoRA ბლოგის პოსტის წაკითხვა, ან დიდი ენობრივი მოდელების (LLM) დახვეწის პროცესის ცოდნა 🤗 PEFT ბიბლიოთეკის გამოყენებით. Unsloth არის მსუბუქი ბიბლიოთეკა LLM მოდელების უფრო სწრაფი დახვეწისთვის, რომელიც სრულად თავსებადია Hugging Face-ის ეკოსისტემასთან (Hub, transformers, PEFT, TRL). ბიბლიოთეკას აქტიურად ავითარებენ Unsloth-ის გუნდი (დანიელი და მაიკლი) და ღია წყაროს საზოგადოება.
ბიბლიოთეკა მხარს უჭერს NVIDIA GPU-ების უმეტესობას – GTX 1070-დან H100-მდე – და მისი გამოყენება შესაძლებელია TRL ბიბლიოთეკის ტრენერთა სრულ კომპლექტთან (SFTTrainer, DPOTrainer, PPOTrainer). ამ სტატიის დაწერის მომენტისთვის, Unsloth მხარს უჭერს Llama (CodeLlama, Yi და ა.შ.) და Mistral-ის არქიტექტურებს.
Unsloth მუშაობს მოდელირების კოდის ზოგიერთი ნაწილის ოპტიმიზებული ოპერაციებით გადაწერის პრინციპით. უკუპროპაგაციის ნაბიჯების ხელით გამოყვანით და ყველა Pytorch მოდულის Triton-ის ბირთვებად გადაწერით, Unsloth-ს შეუძლია შეამციროს მეხსიერების გამოყენება და დააჩქაროს დახვეწის პროცესი. მნიშვნელოვანია, რომ სიზუსტის დეგრადაცია 0%-ია სტანდარტულ QLoRA-სთან შედარებით, რადგან ოპტიმიზებულ კოდში არ ხდება არანაირი მიახლოება.
Unsloth შემოწმდა 59 გაშვების დროს, 4 მონაცემთა ნაკრების გამოყენებით Tesla T4 და A100 Google Colab ინსტანციებზე. QLoRA გამოყენებული იყო ყველა ხაზოვან შრეზე (ყურადღება და MLP) 16-ის რანგით, ხოლო გრადიენტის შემოწმება ჩართული იყო. უახლეს Transformers-ის ვერსიასთან (4.36) შემოწმებისას, რომელშიც SDPA ინტეგრირებულია Pytorch 2.1.1-ის არსებობის შემთხვევაში, Unsloth არის 2.7-ჯერ უფრო სწრაფი და იყენებს 74%-ით ნაკლებ მეხსიერებას. ჩვენ ასევე შევამოწმეთ Unsloth უფასო Google Colab ინსტანციაზე (დაბალი RAM, 1 T4 GPU, Pytorch 2.1.0 CUDA 12.1). ყველა 59 ნოუთბუქი მოცემულია სრული რეპროდუცირებადობისთვის, ხოლო მეტი დეტალი შეგიძლიათ იხილოთ Unsloth-ის ბენჩმარკინგის დეტალებში აქ.
უბრალოდ ჩატვირთეთ თქვენი მოდელი FastLanguageModel.from_pretrained!-ის გამოყენებით. ამჟამად, Unsloth მხარს უჭერს Llama და Mistral ტიპის არქიტექტურებს (Yi, Deepseek, TinyLlama, Llamafied Qwen). გთხოვთ, გახსენით Github-ის საკითხი (issue), თუ სხვა არქიტექტურები გსურთ! ასევე, Transformers-ის უახლეს მთავარ ფილიალზე, ახლა შეგიძლიათ პირდაპირ ჩატვირთოთ წინასწარ კვანტიზირებული 4-ბიტიანი მოდელები! ეს მოდელების ჩამოტვირთვას 4-ჯერ უფრო აჩქარებს და ამცირებს მეხსიერების ფრაგმენტაციას დაახლოებით 500 მბ-ით, რაც საშუალებას გაძლევთ მოათავსოთ უფრო დიდი ბატჩები!
თქვენი მოხერხებულობისთვის გვაქვს რამდენიმე წინასწარ კვანტიზირებული მოდელი, მათ შორის unsloth/llama-2-7b-bnb-4bit, unsloth/llama-2-13b-bnb-4bit, unsloth/mistral-7b-bnb-4bit და unsloth/codellama-34b-bnb-4bit. თქვენ უნდა მიუთითოთ მაქსიმალური სასურველი თანმიმდევრობის სიგრძე from_pretrained ფუნქციაში. Unsloth შიდაპირულად ახორციელებს RoPE Scaling-ს, ამიტომ უფრო დიდი მაქსიმალური თანმიმდევრობის სიგრძეები ავტომატურად მხარდაჭერილია. წინააღმდეგ შემთხვევაში, API თითქმის იგივეა, რაც transformers-ის from_pretrained-ის, იმ განსხვავებით, რომ FastLanguageModel.from_pretrained ასევე აბრუნებს მოდელის ტოკენიზატორს მოხერხებულობისთვის.
მოდელის ჩატვირთვის შემდეგ, გამოიყენეთ FastLanguageModel.get_peft_model ადაპტერების დასამაგრებლად QLoRA დახვეწის შესასრულებლად. ადაპტერების მიმაგრების შემდეგ, შეგიძლიათ მოდელი პირდაპირ გამოიყენოთ HF ეკოსისტემის ნებისმიერ კლასში, როგორიცაა SFTTrainer TRL-იდან! Unsloth-ის TRL ბიბლიოთეკასთან გამოსაყენებლად, უბრალოდ გადაეცით Unsloth მოდელი SFTTrainer-ს ან DPOTrainer-ს! დატრენინგებული მოდელი სრულად თავსებადია Hugging Face-ის ეკოსისტემასთან, ასე რომ, შეგიძლიათ საბოლოო მოდელი ატვირთოთ Hub-ზე და გამოიყენოთ transformers-ი დასკვნითი ეტაპისთვის ყოველგვარი დამატებითი კონფიგურაციის გარეშე!
ქვემოთ წარმოგიდგენთ სრულად რეპროდუცირებად ნოუთბუქებს ყველასთვის, ვისაც სურს Unsloth-ის SFTTrainer-თან ერთად გამოცდა უფასო Google Colab ინსტანციაზე:
* Llama 7b უფასო Tesla T4 colab მაგალითი აქ
* Mistral 7b უფასო Tesla T4 colab მაგალითი აქ
* CodeLlama 34b A100 colab მაგალითი აქ
* Zephyr DPO რეპლიკაციის T4 colab მაგალითი აქ
თეგები:
#ხელოვნური ინტელექტი
#llm
#მანქანური სწავლება
#gpu
#hugging face
#ფაინ-ტიუნინგი
#llama
#mistral
#qlora
#unsloth
წყარო: huggingface.co
AI-ით გადამუშავებული
მსგავსი სტატიები
ხელოვნური ინტელექტი
Anthropic-ის Claude-ის აღზევება Apple App Store-ის რეიტინგებში პენტაგონთან მოლაპარაკებების ფონზე
ხელოვნური ინტელექტი
ტრამპის ადმინისტრაცია Anthropic-ს სანქციებს უწესებს ხელოვნური ინტელექტის გამოყენებაზე უარის გამო: ექსპერტი ინდუსტრიის უსაფრთხოების ხარვეზებზე საუბრობს
ხელოვნური ინტელექტი