Intel Xeon-ზე StarCoder-ის 7X-ზე მეტი დაჩქარება: LLM-ების ოპტიმიზაციის ახალი ეტაპი
კოდის გენერირების მოდელების მზარდი პოპულარობის ფონზე, ეს სტატია წარმოგიდგენთ დიდი ენობრივი მოდელების (LLM) ოპტიმიზაციის უახლეს შედეგებს Intel Xeon-ზე, განსაკუთრებული აქცენტით პოპულარულ StarCoder მოდელზე. ნაჩვენებია StarCoder-15B მოდელის 7-ჯერ მეტი ინფერენსის დაჩქარება Intel-ის მე-4 თაობის Xeon პროცესორებზე 8-ბიტიანი და 4-ბიტიანი კვანტიზაციისა და ასისტენტური გენერაციის ინტეგრაციის გზით. კვლევა ასევე ხაზს უსვამს SmoothQuant ალგორითმის გამოყენებას და მის დადებით გავლენას მოდელის სიზუსტესა და წარმად
ბოლო დროს კოდის გენერირების მოდელები განსაკუთრებით პოპულარული გახდა, უახლესი ღია კოდის მოდელების, როგორიცაა BigCode-ის StarCoder და Meta AI-ის Code Llama, გამოშვების შემდეგ. მზარდი რაოდენობის კვლევები ფოკუსირებულია დიდი ენობრივი მოდელების (LLM) ოპტიმიზაციასა და ხელმისაწვდომობის გაზრდაზე. ამ სტატიაში სიამოვნებით გაგიზიარებთ LLM ოპტიმიზაციის უახლეს შედეგებს Intel Xeon-ზე, პოპულარული კოდის გენერირების LLM-ზე, StarCoder-ზე ფოკუსირებით. StarCoder მოდელი არის უახლესი LLM, რომელიც სპეციალურად შექმნილია მომხმარებლისთვის სხვადასხვა კოდირების ამოცანებში დასახმარებლად, როგორიცაა კოდის ავტომატური დასრულება, ხარვეზების გამოსწორება, კოდის შეჯამება და ბუნებრივი ენის აღწერებიდან კოდის ფრაგმენტების გენერირებაც კი. StarCoder მოდელი არის StarCoder ოჯახის წევრი, რომელიც ასევე მოიცავს StarCoderBase ვარიანტს. კოდისთვის შექმნილი ეს დიდი ენობრივი მოდელები (Code LLM) გაწვრთნილია GitHub-ის თავისუფლად ლიცენზირებულ მონაცემებზე, რაც მოიცავს 80-ზე მეტ პროგრამირების ენას, Git კომიტებს, GitHub-ის საკითხებს და Jupyter ნოუთბუქებს. ამ ნაშრომში ჩვენ ვაჩვენებთ StarCoder-15B მოდელის ინფერენსის 7-ჯერ მეტ დაჩქარებას Intel-ის მე-4 თაობის Xeon-ზე, 8-ბიტიანი და 4-ბიტიანი კვანტიზაციის ინტეგრაციით ასისტენტური გენერაციის მეთოდთან. გამოსცადეთ ჩვენი დემო Hugging Face Spaces-ზე, რომელიც მუშაობს მე-4 თაობის Intel Xeon Scalable პროცესორზე. ჩვენი საწყისი წერტილი (ბაზის ხაზი) განვსაზღვრეთ StarCoder (15B) მოდელის, PyTorch-ისა და Intel Extension for PyTorch (IPEX)-ის კომბინაციით. არსებობს რამდენიმე მონაცემთა ნაკრები, რომლებიც განკუთვნილია ავტომატური კოდის დასრულების ხარისხის შესაფასებლად. ამ ნაშრომში ჩვენ ვიყენებთ პოპულარულ HumanEval მონაცემთა ნაკრებს მოდელის ხარისხისა და წარმადობის შესაფასებლად. HumanEval მოიცავს 164 პროგრამირების პრობლემას, ფუნქციის ხელმოწერის სახით docstring-ით, და მოდელი ასრულებს ფუნქციის კოდს. მოთხოვნის საშუალო სიგრძეა 139. ხარისხს ვზომავთ Bigcode Evaluation Harness-ის გამოყენებით და ვაფიქსირებთ pass@1 მეტრიკას. მოდელის წარმადობას ვზომავთ პირველი ტოკენის დროის (TTFT) და გამომავალი ტოკენის დროის (TPOT) გაზომვით HumanEval ტესტ-ნაკრებზე და ვაფიქსირებთ საშუალო TTFT და TPOT მაჩვენებლებს.
მე-4 თაობის Intel Xeon პროცესორებს გააჩნიათ ხელოვნური ინტელექტით გაძლიერებული აჩქარების ფუნქცია, რომელიც ცნობილია როგორც Intel® Advanced Matrix Extensions (Intel® AMX). კერძოდ, მას აქვს ჩაშენებული BFloat16 (BF16) და Int8 GEMM ამაჩქარებლები ყველა ბირთვში, რათა დააჩქაროს ღრმა სწავლების წვრთნისა და ინფერენსის სამუშაო დატვირთვები. AMX-ით დაჩქარებული ინფერენსი დაინერგა PyTorch 2.0-ისა და Intel Extension for PyTorch (IPEX)-ის მეშვეობით, სხვა ოპტიმიზაციებთან ერთად, რომლებიც გამოიყენება LLM ინფერენსში გავრცელებული ოპერატორებისთვის (მაგ. ფენის ნორმალიზაცია, SoftMax, მასშტაბირებული წერტილოვანი ნამრავლი).
საწყის წერტილად ვიყენებთ PyTorch-სა და IPEX-ში არსებულ ოპტიმიზაციებს BF16 მოდელის გამოყენებით ინფერენსის შესასრულებლად. ნახაზი 1 გვიჩვენებს საწყისი მოდელის ლატენტურობას, ხოლო ცხრილები 1 და 2 აჩვენებს მის ლატენტურობას და სიზუსტეს.
ნახაზი 1. საწყისი მოდელის ლატენტურობა.
ტექსტის გენერირება LLM-ებში ხორციელდება ავტორეგრესიული წესით, რაც მოითხოვს მთელი მოდელის მეხსიერებიდან CPU-ში ჩატვირთვას ყოველი ახალი ტოკენის გენერირებისთვის. ჩვენ აღმოვაჩინეთ, რომ ჩიპის გარეთა მეხსიერებას (DRAM) და CPU-ს შორის გამტარობა წარმოადგენს ყველაზე დიდ შეფერხებას ტოკენის გენერირების პროცესში. კვანტიზაცია პოპულარული მიდგომაა ამ პრობლემის შესამსუბუქებლად. ის ამცირებს მოდელის ზომას და, შესაბამისად, ამცირებს მოდელის წონების ჩატვირთვის დროს. ამ ნაშრომში ჩვენ ვამახვილებთ ყურადღებას კვანტიზაციის ორ ტიპზე: SmoothQuant არის ვარჯიშის შემდგომი კვანტიზაციის ალგორითმი, რომელიც გამოიყენება LLM-ების INT8-ისთვის კვანტიზაციისთვის მინიმალური სიზუსტის დაკარგვით. სტატიკური კვანტიზაციის მეთოდებმა LLM-ებზე არადამაკმაყოფილებელი შედეგები აჩვენა, რაც გამოწვეულია აქტივაციების სპეციფიკურ არხებში აღმოჩენილი დიდი სიდიდის გადახრებით (outliers). ვინაიდან აქტივაციები კვანტიზირებულია ტოკენების მიხედვით, სტატიკური კვანტიზაცია იწვევს ან შეკვეცილ გადახრებს, ან არასაკმარისად შევსებულ დაბალი სიდიდის აქტივაციებს. SmoothQuant ალგორითმი ამ პრობლემას წყვეტს პრე-კვანტიზაციის ფაზის შემოღებით, სადაც დამატებითი გამსწორებელი სკალირების ფაქტორები გამოიყენება როგორც აქტივაციებზე, ასევე წონებზე, რაც ასწორებს აქტივაციებში არსებულ გადახრებს და უზრუნველყოფს კვანტიზაციის დონეების უკეთეს გამოყენებას.
ნახაზი 2. INT8 სტატიკური კვანტიზაციის გამოთვლის დიაგრამა.
IPEX-ის გამოყენებით, ჩვენ გამოვიყენეთ SmoothQuant StarCoder მოდელზე. MBPP მონაცემთა ნაკრების სატესტო ნაწილი გამოვიყენეთ როგორც ჩვენი კალიბრაციის მონაცემთა ნაკრები და წარმოვადგინეთ Q8-StarCoder. ჩვენი შეფასება აჩვენებს, რომ Q8-StarCoder-ს არ აქვს სიზუსტის დაკარგვა საბაზისო მოდელთან შედარებით (ფაქტობრივად, შეინიშნება მცირე გაუმჯობესებაც კი). წარმადობის თვალსაზრისით, Q8-StarCoder აღწევს ~2.19-ჯერ დაჩქარებას TTFT-ში და ~2.20-ჯერ დაჩქარებას TPOT-ში. ნახაზი 3 გვიჩვენებს Q8-StarCoder-ის ლატენტურობას (TPOT) BF16 საბაზისო მოდელთან შედარებით.
ნახაზი 3. 8-ბიტიანი კვანტიზირებული მოდელის ლატენტურობის დაჩქარება.
მიუხედავად იმისა, რომ INT8 ამცირებს მოდელის ზომას 2-ჯერ BF16-თან შედარებით (8 ბიტი თითო წონაზე 16 ბიტის წინააღმდეგ), მეხსიერების გამტარობა კვლავ ყველაზე დიდ შეფერხებად რჩება. მოდელის მეხსიერებიდან ჩატვირთვის დროის შემდგომი შემცირების მიზნით, ჩვენ მოვახდინეთ მოდელის წონების 4 ბიტამდე კვანტიზაცია WOQ-ის გამოყენებით. აღსანიშნავია, რომ 4-ბიტიანი WOQ მოითხოვს 16-ბიტამდე დეკვანტიზაციას გამოთვლამდე (ნახაზი 4), რაც გულისხმობს გამოთვლით ზედმეტ დატვირთვას.
ნახაზი 4. გამოთვლის დიაგრამა რეჟიმისთვის
თეგები:
#ხელოვნური ინტელექტი
#llm
#ოპტიმიზაცია
#კოდის გენერაცია
#pytorch
#კვანტიზაცია
#intel xeon
#წარმადობა
#starcoder
წყარო: huggingface.co
AI-ით გადამუშავებული
მსგავსი სტატიები
ტექნოლოგიები
Honor Magic V6: უთხელესი დასაკეცი ტელეფონი? პირველი შთაბეჭდილებები
ტექნოლოგიები
Honor Magic V6: ყველაზე თხელი დასაკეცი სმარტფონი და მისი შთამბეჭდავი შესაძლებლობები
ტექნოლოგიები