ტექსტის გენერაციისთვის ინფერენსის ოპტიმიზაცია აუცილებელია დაყოვნების (latency), ინფრასტრუქტურული ხარჯების და ენერგომოხმარების შესამცირებლად. ამან შეიძლება გამოიწვიოს მომხმარებლის გაუმჯობესებული გამოცდილება და გაზრდილი ეფექტურობა ტექსტის გენერაციის ამოცანებში. ასისტენტული დეკოდირება ტექსტის გენერაციის დაჩქარების პოპულარული მეთოდია. ჩვენ ის მოვარგეთ და ოპტიმიზაცია გავუკეთეთ Intel Gaudi-სთვის, რომელიც, როგორც წინა პოსტში იყო ნაჩვენები, Nvidia H100 GPU-ების მსგავს წარმადობას უზრუნველყოფს, ხოლო მისი ფასი Nvidia A100 80GB GPU-ების ფასის დიაპაზონშია. ეს ნაშრომი ახლა Optimum Habana-ს ნაწილია, რომელიც აფართოებს Hugging Face-ის სხვადასხვა ბიბლიოთეკას, როგორიცაა Transformers და Diffusers, რათა თქვენი AI სამუშაო პროცესები სრულად იყოს ოპტიმიზირებული Intel Gaudi პროცესორებისთვის. სპეკულაციური სემპლინგი არის ტექნიკა, რომელიც გამოიყენება ტექსტის გენერაციის დასაჩქარებლად. ის მუშაობს პროექტის მოდელის (draft model) გენერირებით, რომელიც წარმოქმნის K ტოკენს, რომლებიც შემდეგ ფასდება სამიზნე მოდელში (target model). თუ პროექტის მოდელი უარყოფილია, სამიზნე მოდელი გამოიყენება შემდეგი ტოკენის გენერირებისთვის. ეს პროცესი მეორდება. სპეკულაციური სემპლინგის გამოყენებით, ჩვენ შეგვიძლია გავაუმჯობესოთ ტექსტის გენერაციის სიჩქარე და მივაღწიოთ ავტორეგრესიული სემპლინგის მსგავსი შერჩევის ხარისხს. ეს ტექნიკა საშუალებას გვაძლევს ტექსტის გენერაციისას მივუთითოთ პროექტის მოდელი. ნაჩვენებია, რომ ამ მეთოდს დაახლოებით 2-ჯერადი დაჩქარება მოაქვს დიდი ტრანსფორმატორზე დაფუძნებული მოდელებისთვის. საერთო ჯამში, ამ ტექნიკებს შეუძლიათ ტექსტის გენერაციის დაჩქარება და წარმადობის გაუმჯობესება Intel Gaudi პროცესორებზე. თუმცა, პროექტის მოდელსა და სამიზნე მოდელს აქვთ განსხვავებული ზომები, რომლებიც წარმოდგენილი იქნება KV ქეშში, ამიტომ გამოწვევაა ერთდროულად ვისარგებლოთ ცალკეული ოპტიმიზაციის სტრატეგიებით. ამ სტატიისთვის ჩვენ ვივარაუდებთ კვანტიზებულ მოდელს და ვიყენებთ KV ქეშირებას სპეკულაციურ სემპლინგთან ერთად. აღსანიშნავია, რომ თითოეულ მოდელს აქვს საკუთარი KV ქეში და პროექტის მოდელი გამოიყენება K ტოკენის გენერირებისთვის, რომლებიც შემდეგ ფასდება სამიზნე მოდელში. სამიზნე მოდელი გამოიყენება შემდეგი ტოკენის გენერირებისთვის, როდესაც პროექტის მოდელი უარყოფილია. პროექტის მოდელი გამოიყენება შემდეგი K ტოკენის გენერირებისთვის და პროცესი მეორდება. აღსანიშნავია, რომ ავტორები [2] ამტკიცებენ, რომ სამიზნე განაწილება აღდგება სპეკულაციური სემპლინგის შესრულებისას – ეს უზრუნველყოფს იმავე შერჩევის ხარისხს, რასაც ავტორეგრესიული სემპლინგი თავად სამიზნეზე. აქედან გამომდინარე, ის სიტუაციები, როდესაც სპეკულაციური სემპლინგის გამოუყენებლობა უაზროა, ეხება იმ შემთხვევას, როდესაც პროექტის მოდელის ფარდობითი ზომის დანაზოგი არასაკმარისია, ან პროექტის მოდელის მიღების მაჩვენებელი არ არის საკმარისად მაღალი, რათა ისარგებლოს პროექტის მოდელის მცირე ზომით. არსებობს ტექნიკა, სპეკულაციური სემპლინგის მსგავსი, რომელიც ცნობილია როგორც ასისტენტული გენერაცია (Assisted Generation). ის დამოუკიდებლად, დაახლოებით ერთსა და იმავე დროს შემუშავდა [3]. ავტორმა ეს მეთოდი Hugging Face Transformers-ში ინტეგრირდა და .generate() ფუნქციის გამოძახებას ახლა აქვს არჩევითი assistant_model პარამეტრი ამ მეთოდის გასააქტიურებლად. ასისტენტული გენერაციის გამოყენება მარტივია. მაგალითი მოცემულია აქ. როგორც მოსალოდნელი იყო, --assistant_model პარამეტრი გამოიყენება პროექტის მოდელის მითითებისთვის. პროექტის მოდელი გამოიყენება K ტოკენის გენერირებისთვის, რომლებიც შემდეგ ფასდება სამიზნე მოდელში. სამიზნე მოდელი გამოიყენება შემდეგი ტოკენის გენერირებისთვის, როდესაც პროექტის მოდელი უარყოფილია. პროექტის მოდელი გამოიყენება შემდეგი K ტოკენის გენერირებისთვის და პროცესი მეორდება. პროექტის მოდელის მიღების მაჩვენებელი ნაწილობრივ დამოკიდებულია შეყვანილ ტექსტზე. როგორც წესი, ჩვენ ვნახეთ დაახლოებით 2-ჯერადი დაჩქარება დიდი ტრანსფორმატორზე დაფუძნებული მოდელებისთვის. ტექსტის გენერაციის დაჩქარება Gaudi-ს გამოყენებით ასისტენტული გენერაციით ახლა მხარდაჭერილია და მარტივი გამოსაყენებელია. ეს შეიძლება გამოყენებულ იქნას Intel Gaudi პროცესორებზე წარმადობის გასაუმჯობესებლად. მეთოდი ეფუძნება სპეკულაციურ სემპლინგს, რომელიც ეფექტურად არის ნაჩვენები დიდი ტრანსფორმატორზე დაფუძნებული მოდელების წარმადობის გასაუმჯობესებლად. [1] N. Shazeer, „Fast Transformer Decoding: One Write-Head is All You Need,“ Nov. 2019. arXiv:1911.02150. [2] C. Chen, S. Borgeaud, G. Irving, J.B. Lespiau, L. Sifre, and J. Jumper, „Accelerating Large Language Model Decoding with Speculative Sampling,“ Feb. 2023. arXiv:2302.01318. [3] J. Gante, „Assisted Generation: a new direction toward low-latency text generation,“ May 2023, https://huggingface.co/blog/assisted-generation. მეტი სტატია ჩვენი ბლოგიდან · დარეგისტრირდით ან შეხვიდეთ კომენტარისთვის.