Core ML-ის ოპტიმიზაცია: Apple-ის მოწყობილობებზე AI მოდელების მუშაობის ახალი დონე
Core ML-ის უახლესი გაუმჯობესებები მნიშვნელოვნად აჩქარებს ხელოვნური ინტელექტის (AI) მოდელების, მათ შორის Stable Diffusion-ისა და დიდი ენის მოდელების, მუშაობას Apple-ის მოწყობილობებზე. ეს ოპტიმიზაციები, რომელიც მოიცავს 6-ბიტიან პალეტიზაციას და ml-stable-diffusion რეპოზიტორიუმის განახლებას, უზრუნველყოფს მონაცემთა ნაკლებ გადაცემას, მეტ კონფიდენციალურობას და ხარჯების დაზოგვას, რაც დეველოპერებს აძლევს საშუალებას, შექმნან უფრო ეფექტური აპლიკაციები უშუალოდ მოწყობილობაზე.
Core ML არის დახვეწილი ფრეიმვორკი, რომელიც საშუალებას აძლევს მანქანური სწავლების მოდელებს, ეფექტურად იმუშაონ მოწყობილობაზე, სრულად გამოიყენონ Apple-ის მოწყობილობების ყველა საანგარიშო აპარატურა: CPU, GPU და ნერვული ძრავა (Neural Engine), რომელიც სპეციალიზებულია ML ამოცანებში. მოწყობილობაზე შესრულებაზე ინტერესი ექსტრაორდინარულად გაიზარდა ისეთი მოდელების პოპულარობის ფონზე, როგორიცაა Stable Diffusion და დიდი ენის მოდელები (Large Language Models) ჩეთის ინტერფეისებით.
ბევრი ადამიანი ცდილობს ამ მოდელების საკუთარ აპარატურაზე გაშვებას მრავალი მიზეზის გამო, მათ შორის მოხერხებულობის, კონფიდენციალურობისა და API-ის ხარჯების დაზოგვის გამო. ბუნებრივია, ბევრი დეველოპერი ეძებს გზებს ამ მოდელების ეფექტურად გასაშვებად მოწყობილობაზე და ქმნის ახალ აპლიკაციებსა და გამოყენების შემთხვევებს. Core ML-ის გაუმჯობესებები, რომლებიც ხელს უწყობს ამ მიზნის მიღწევას, დიდი სიახლეა საზოგადოებისთვის!
Core ML-ის ოპტიმიზაციის ცვლილებები მოიცავს ორ განსხვავებულ (მაგრამ შემავსებელ) პროგრამულ პაკეტს: coremltools ახლა შეიცავს ახალ ქვე-მოდულს coremltools.optimize, ყველა კომპრესიისა და ოპტიმიზაციის ხელსაწყოებით. ამ პაკეტის სრული დეტალებისთვის, გთხოვთ, იხილოთ WWDC-ის ეს სესია.
Stable Diffusion-ის შემთხვევაში, ჩვენ გამოვიყენებთ 6-ბიტიან პალეტიზაციას, კვანტიზაციის ტიპს, რომელიც მოდელის წონებს კომპრესირებს 16-ბიტიანი მცურავწერტილოვანი წარმოდგენიდან მხოლოდ 6 ბიტამდე თითოეულ პარამეტრზე. სახელწოდება „პალეტიზაცია“ ეხება ტექნიკას, რომელიც მსგავსია კომპიუტერულ გრაფიკაში შეზღუდული ფერების ნაკრებით მუშაობისას გამოყენებულ ტექნიკას: ფერთა ცხრილი (ან „პალიტრა“) შეიცავს ფერების ფიქსირებულ რაოდენობას, ხოლო გამოსახულებაში არსებული ფერები იცვლება პალიტრაში ხელმისაწვდომი უახლოესი ფერების ინდექსებით. ეს მყისიერად უზრუნველყოფს შენახვის ზომის მკვეთრ შემცირებას და, შესაბამისად, ჩამოტვირთვის დროისა და მოწყობილობაზე დისკის გამოყენების შემცირებას.
კომპრესირებული 6-ბიტიანი წონები არ შეიძლება გამოყენებულ იქნას გამოთვლებისთვის, რადგან ისინი მხოლოდ ცხრილის ინდექსებია და აღარ წარმოადგენენ ორიგინალური წონების სიდიდეს. ამიტომ, Core ML-ს სჭირდება პალეტიზებული წონების დეკომპრესირება გამოყენებამდე. Core ML-ის წინა ვერსიებში, დეკომპრესირება ხდებოდა მაშინ, როდესაც მოდელი პირველად იტვირთებოდა დისკიდან, ამიტომ გამოყენებული მეხსიერების რაოდენობა უდრიდა დეკომპრესირებული მოდელის ზომას. ახალი გაუმჯობესებებით, წონები ინახება როგორც 6-ბიტიანი რიცხვები და გარდაიქმნება მუშაობის პროცესში, რადგან ინფერენცია მიმდინარეობს ფენიდან ფენაზე. ეს შეიძლება ნელი ჩანდეს – ინფერენციის გაშვება საჭიროებს ბევრ დეკომპრესირების ოპერაციას – მაგრამ, როგორც წესი, უფრო ეფექტურია, ვიდრე ყველა წონის 16-ბიტიან რეჟიმში მომზადება! მიზეზი ის არის, რომ მეხსიერების გადაცემები არის შესრულების კრიტიკულ გზაზე, და ნაკლები მეხსიერების გადაცემა უფრო სწრაფია, ვიდრე დეკომპრესირებული მონაცემების გადაცემა.
გასული წლის დეკემბერში Apple-მა წარმოადგინა ml-stable-diffusion, ღია კოდის რეპოზიტორიუმი diffusers-ზე დაყრდნობით, Stable Diffusion მოდელების Core ML-ზე მარტივად კონვერტაციისთვის. ის ასევე იყენებს ოპტიმიზაციებს ტრანსფორმატორების ყურადღების შრეებისთვის, რაც აჩქარებს ინფერენციას ნერვულ ძრავზე (მოწყობილობებზე, სადაც ის ხელმისაწვდომია). ml-stable-diffusion ახლახან განახლდა WWDC-ის შემდეგ, შემდეგი ცვლილებებით:
იმისათვის, რომ ყველას გაუადვილდეს ამ გაუმჯობესებების გამოყენება, ჩვენ გადავაკეთეთ ოთხი ოფიციალური Stable Diffusion მოდელი და ავტვირთეთ ისინი Hub-ზე. ეს არის ყველა ვარიანტი:
6-ბიტიანი მოდელების გამოსაყენებლად, გჭირდებათ iOS/iPadOS 17-ის ან macOS 14-ის (Sonoma) დეველოპერული ვერსიები, რადგან სწორედ ისინი შეიცავს Core ML-ის უახლეს ფრეიმვორკს. მათი ჩამოტვირთვა შეგიძლიათ Apple-ის დეველოპერთა საიტიდან, თუ რეგისტრირებული დეველოპერი ხართ, ან შეგიძლიათ დარეგისტრირდეთ საჯარო ბეტაზე, რომელიც რამდენიმე კვირაში გამოვა. გაითვალისწინეთ, რომ თითოეული ვარიანტი ხელმისაწვდომია Core ML ფორმატში და ასევე zip არქივის სახით. Zip ფაილები იდეალურია ნატიური აპლიკაციებისთვის, როგორიცაა ჩვენი ღია კოდის დემო აპლიკაცია და სხვა მესამე მხარის ხელსაწყოები. თუ უბრალოდ გსურთ მოდელების გაშვება თქვენს აპარატურაზე, უმარტივესი გზაა ჩვენი დემო აპლიკაციის გამოყენება და სასურველი კვანტიზებული მოდელის არჩევა. აპლიკაციის კომპილაცია Xcode-ის გამოყენებით გჭირდებათ, მაგრამ განახლება მალე ხელმისაწვდომი იქნება App Store-ში ჩამოსატვირთად. დამატებითი დეტალებისთვის იხილეთ ჩვენი წინა პოსტი.
თუ გსურთ კონკრეტული Core ML პაკეტის ჩამოტვირთვა თქვენს Xcode პროექტში ინტეგრაციისთვის, შეგიძლიათ კლონირება მოახდინოთ რეპოზიტორიუმების ან უბრალოდ ჩამოტვირთოთ სასურველი ვერსია მსგავსი კოდის გამოყენებით:
თუ გსურთ გამოიყენოთ პერსონალიზებული Stable Diffusion მოდელი (მაგალითად, თუ თქვენ გაქვთ დახვეწილი ან dreamboothed საკუთარი მოდელები), შეგიძლიათ გამოიყენოთ Apple-ის ml-stable-diffusion რეპოზიტორიუმი კონვერტაციისთვის. ეს არის მოკლე შეჯამება, თუ როგორ უნდა გააკეთოთ ეს, მაგრამ გირჩევთ, წაიკითხოთ დოკუმენტაციის დეტალები. თუ გსურთ კვანტიზაციის გამოყენება, კონვერტაციისთვის გჭირდებათ coremltools, apple/ml-stable-diffusion და Xcode-ის უახლესი ვერსიები.
შეამოწმეთ კონვერტირებული მოდელები სასურველ აპარატურაზე. წესის მიხედვით, ORIGINAL ვერსია, როგორც წესი, უკეთესად მუშაობს macOS-ზე, ხოლო SPLIT_EINSUM_V2, როგორც წესი, უფრო სწრაფია iOS-ზე. დამატებითი დეტალებისა და მონაცემებისთვის იხილეთ ეს ტესტები, რომლებიც საზოგადოებამ შემოიტანა Core ML-ისთვის Stable Diffusion-ის წინა ვერსიაზე. სასურველი მოდელის თქვენს აპლიკაციაში ინტეგრირებისთვის: თუ არ გამოიყენებთ --quantize-nbits ოფციას, წონები იქნება წარმოდგენილი...
თეგები:
#ხელოვნური ინტელექტი
#apple
#ios
#მანქანური სწავლება
#ოპტიმიზაცია
#macos
#stable diffusion
#core ml
#დიდი ენის მოდელები
#wwdc
წყარო: huggingface.co
AI-ით გადამუშავებული
მსგავსი სტატიები
ტექნოლოგიები
Honor Magic V6: უთხელესი დასაკეცი ტელეფონი? პირველი შთაბეჭდილებები
ტექნოლოგიები
Honor Magic V6: ყველაზე თხელი დასაკეცი სმარტფონი და მისი შთამბეჭდავი შესაძლებლობები
ტექნოლოგიები