Hugging Face-მა AutoGPTQ ინტეგრირება მოახდინა Transformers-ში: ხელმისაწვდომი დიდი ენობრივი მოდელები
Hugging Face-მა თავის Transformers ბიბლიოთეკაში AutoGPTQ-ის ინტეგრირებით, დიდი მანქანური სწავლის მოდელების ხელმისაწვდომობა მნიშვნელოვნად გაზარდა. ეს მომხმარებლებს საშუალებას აძლევს, მოდელების 8-დან 2-ბიტამდე სიზუსტით კვანტიზაცია და გაშვება შეძლონ GPTQ ალგორითმის გამოყენებით, მინიმალური სიზუსტის დაკარგვით და გაუმჯობესებული წარმადობით. ინტეგრაცია ხელმისაწვდომია როგორც Nvidia, ასევე RoCm-ზე მომუშავე AMD GPU-ებისთვის, რაც LLM-ების ოპტიმიზაციას უფრო ფართო აუდიტორიისთვის ხდის შესაძლებელს.
Hugging Face-ის მთავარი მისიაა ხელი შეუწყოს ხარისხიანი მანქანური სწავლის დემოკრატიზაციას და ეს მოიცავს დიდი მოდელების მაქსიმალურად ხელმისაწვდომობას ყველასთვის. ჩვენი bitsandbytes-თან თანამშრომლობის სულისკვეთებით, ახლახან მოვახდინეთ AutoGPTQ ბიბლიოთეკის ინტეგრირება Transformers-ში, რაც მომხმარებლებს საშუალებას აძლევს, მოდელების კვანტიზაცია და გაშვება 8, 4, 3 ან თუნდაც 2-ბიტიანი სიზუსტით შეძლონ GPTQ ალგორითმის გამოყენებით (Frantar et al. 2023). 4-ბიტიანი კვანტიზაციისას სიზუსტის უმნიშვნელო დეგრადაცია შეინიშნება, ხოლო ინფერენციის სიჩქარე მცირე პაკეტების ზომისთვის fp16-ის საბაზისო დონესთან შედარებითია. აღსანიშნავია, რომ GPTQ მეთოდი ოდნავ განსხვავდება bitsandbytes-ის მიერ შემოთავაზებული სწავლის შემდგომი კვანტიზაციის მეთოდებისგან, რადგან ის მოითხოვს კალიბრაციის მონაცემთა ნაკრების გადაცემას. ეს ინტეგრაცია ხელმისაწვდომია როგორც Nvidia GPU-ებისთვის, ასევე RoCm-ზე მომუშავე AMD GPU-ებისთვის.
ეს ბლოგპოსტი და გამოშვება მოიცავს რამდენიმე რესურსს GPTQ კვანტიზაციის დასაწყებად: კვანტიზაციის მეთოდები, როგორც წესი, ორ კატეგორიას განეკუთვნება: GPTQ მიეკუთვნება PTQ (Post-Training Quantization) კატეგორიას და ეს განსაკუთრებით საინტერესოა მასიური მოდელებისთვის, რომელთათვისაც სრული მოდელის ვარჯიში ან თუნდაც დაზუსტება შეიძლება ძალიან ძვირი იყოს. კონკრეტულად, GPTQ იყენებს შერეულ int4/fp16 კვანტიზაციის სქემას, სადაც წონები კვანტიზებულია int4-ად, ხოლო აქტივაციები რჩება float16-ში. ინფერენციის დროს, წონები დეკვანტიზდება მომენტალურად და რეალური გამოთვლა ხორციელდება float16-ში. ამ სქემის უპირატესობა ორგვარია:
GPTQ-ის ნაშრომი განიხილავს ფენა-ფენა კომპრესიის პრობლემას: მოცემული ფენისთვის l, წონის მატრიცით Wl და ფენის შეყვანით Xl, გვსურს ვიპოვოთ წონის კვანტიზებული ვერსია W^l, რათა მინიმუმამდე დავიყვანოთ საშუალო კვადრატული შეცდომა (MSE): W^l∗=argminWl^∥WlX−W^lX∥22. მას შემდეგ, რაც ეს ამოცანა ფენა-ფენა გადაიჭრება, გლობალური პრობლემის გადაწყვეტა მიიღწევა ფენა-ფენა გადაწყვეტილებების კომბინირებით. ამ ფენა-ფენა კომპრესიის პრობლემის გადასაჭრელად, ავტორი იყენებს Optimal Brain Quantization (OBQ) ფრეიმვორკს (Frantar et al 2022). OBQ მეთოდი ეფუძნება დაკვირვებას, რომ ზემოთ მოცემული განტოლება შეიძლება დაიწეროს, როგორც კვადრატული შეცდომების ჯამი, Wl-ის თითოეული რიგის მიხედვით: ∑i=0drow∥Wl[i,:]X−W^l[i,:]X∥22. ეს ნიშნავს, რომ ჩვენ შეგვიძლია თითოეული მწკრივის დამოუკიდებლად კვანტიზაცია. ამას ეწოდება „არხის მიხედვით კვანტიზაცია“ (per-channel quantization). თითოეული რიგისთვის Wl[i,:], OBQ კვანტიზებს ერთ წონას ერთდროულად, განუწყვეტლივ ანახლებს ყველა ჯერ არაკვანტიზებულ წონას, რათა კომპენსირება მოახდინოს ერთი წონის კვანტიზაციით გამოწვეული შეცდომისთვის. შერჩეული წონების განახლებას აქვს დახურული ფორმის ფორმულა, ჰესეს მატრიცების გამოყენებით.
GPTQ-ის ნაშრომი აუმჯობესებს ამ ფრეიმვორკს ოპტიმიზაციების ნაკრების შემოღებით, რაც ამცირებს კვანტიზაციის ალგორითმის სირთულეს მოდელის სიზუსტის შენარჩუნებით. OBQ-თან შედარებით, თავად კვანტიზაციის ეტაპი GPTQ-ით ასევე უფრო სწრაფია: OBQ-ით BERT მოდელის (336M) კვანტიზაციას 2 GPU საათი სჭირდება, მაშინ როცა GPTQ-ით Bloom მოდელის (176B) კვანტიზაცია შესაძლებელია 4 GPU საათზე ნაკლებ დროში. ზუსტი ალგორითმისა და სირთულისა და სიჩქარის სხვადასხვა ბენჩმარკების შესახებ მეტის გასაგებად, გაეცანით ორიგინალურ ნაშრომს.
AutoGPTQ ბიბლიოთეკა მომხმარებლებს საშუალებას აძლევს, კვანტიზაცია მოახდინონ 🤗 Transformers მოდელების GPTQ მეთოდის გამოყენებით. მიუხედავად იმისა, რომ საზოგადოების პარალელური ძალისხმევა, როგორიცაა GPTQ-for-LLaMa, Exllama და llama.cpp, ახორციელებს კვანტიზაციის მეთოდებს მკაცრად Llama არქიტექტურისთვის, AutoGPTQ-მა პოპულარობა მოიპოვა ტრანსფორმერული არქიტექტურების ფართო სპექტრის შეუფერხებელი დაფარვით. ვინაიდან AutoGPTQ ბიბლიოთეკას აქვს ტრანსფორმერული მოდელების უფრო დიდი დაფარვა, ჩვენ გადავწყვიტეთ შეგვეთავაზებინა ინტეგრირებული 🤗 Transformers API, რათა LLM (Large Language Model) კვანტიზაცია ყველასთვის უფრო ხელმისაწვდომი ყოფილიყო. ამ დროისთვის ჩვენ ინტეგრირებული გვაქვს ოპტიმიზაციის ყველაზე გავრცელებული ვარიანტები, როგორიცაა CUDA ქერნელები. უფრო მოწინავე ვარიანტებისთვის, როგორიცაა Triton ქერნელები ან „შერწყმული ყურადღების“ (fused-attention) თავსებადობა, გაეცანით AutoGPTQ ბიბლიოთეკას. AutoGPTQ ბიბლიოთეკისა და optimum-ის ინსტალაციის შემდეგ (pip install optimum), GPTQ მოდელების გაშვება Transformers-ში ახლა ისეთივე მარტივია. გაეცანით Transformers-ის დოკუმენტაციას, რათა გაიგოთ მეტი ყველა ფუნქციის შესახებ.
ჩვენს AutoGPTQ ინტეგრაციას მრავალი უპირატესობა აქვს: Hub-ზე შეგიძლიათ შეამოწმოთ, არის თუ არა თქვენი საყვარელი მოდელი უკვე კვანტიზებული. TheBloke-მა, Hugging Face-ის ერთ-ერთმა წამყვანმა კონტრიბუტორმა, AutoGPTQ-ით მრავალი მოდელი კვანტიზირება მოახდინა და გააზიარა Hugging Face Hub-ზე. ჩვენ ერთად ვიმუშავეთ იმის უზრუნველსაყოფად, რომ ეს რეპოზიტორები იმუშავებს ყოველგვარი დამატებითი კონფიგურაციის გარეშე ჩვენს ინტეგრაციასთან ერთად. ეს არის ბენჩმარკის ნიმუში batch size = 1 შემთხვევისთვის. ბენჩმარკი ჩატარდა ერთ NVIDIA A100-SXM4-80GB GPU-ზე. ჩვენ გამოვიყენეთ მოთხოვნის სიგრძე 512 და ზუსტად 512 ახალი ტოკენი. პირველი რიგი არის არაკვანტიზებული fp16 საბაზისო, ხოლო სხვა რიგები აჩვენებს მეხსიერების მოხმარებასა და წარმადობას AutoGPTQ-ის სხვადასხვა ქერნელების გამოყენებით. უფრო ყოვლისმომცველი რეპროდუცირებადი ბენჩმარკი ხელმისაწვდომია აქ. AutoGPTQ-ის Transformers-ში შეუფერხებლად ინტეგრირებისთვის, ჩვენ გამოვიყენეთ AutoGPTQ API-ის მინიმალისტური ვერსია, რომელიც ხელმისაწვდომია
წყარო: huggingface.co
AI-ით გადამუშავებული
მსგავსი სტატიები
ხელოვნური ინტელექტი
Anthropic-ის Claude-ის აღზევება Apple App Store-ის რეიტინგებში პენტაგონთან მოლაპარაკებების ფონზე
ხელოვნური ინტელექტი
ტრამპის ადმინისტრაცია Anthropic-ს სანქციებს უწესებს ხელოვნური ინტელექტის გამოყენებაზე უარის გამო: ექსპერტი ინდუსტრიის უსაფრთხოების ხარვეზებზე საუბრობს
ხელოვნური ინტელექტი