ცოტას თუ გაუკეთებია იმდენი ღრმა სწავლების ხელმისაწვდომობის კუთხით, რამდენიც fast.ai-ის ეკოსისტემას. Hugging Face-ის მისიაა ხარისხიანი მანქანური სწავლების დემოკრატიზაცია. მოდით, მანქანურ სწავლებაზე, მათ შორის წინასწარ გაწვრთნილ მოდელებზე, ექსკლუზიური წვდომა წარსულს ჩავაბაროთ და ეს საოცარი სფერო კიდევ უფრო წინ წავიწიოთ. fastai არის ღია კოდის ღრმა სწავლების ბიბლიოთეკა, რომელიც PyTorch-სა და Python-ს იყენებს მაღალი დონის კომპონენტების უზრუნველსაყოფად, რათა სწრაფად და ზუსტად გაწვრთნას ნერვული ქსელები, რომლებიც ტექსტის, ვიზუალური და ცხრილის მონაცემებზე უახლესი შედეგებს აჩვენებენ. თუმცა, fast.ai, როგორც კომპანია, უბრალოდ ბიბლიოთეკაზე მეტია; ის ღია კოდის კონტრიბუტორებისა და ნერვული ქსელების შემსწავლელი ადამიანების აყვავებულ ეკოსისტემად იქცა. მაგალითად, ნახეთ მათი წიგნი და კურსები. შემოუერთდით fast.ai Discord-სა და ფორუმებს. გარანტირებულია, რომ მათ საზოგადოებაში ყოფნით ისწავლით! ყოველივე ამის გამო, და მეტის (ამ პოსტის ავტორმა თავისი მოგზაურობა სწორედ fast.ai-ის კურსის წყალობით დაიწყო), სიამაყით ვაცხადებთ, რომ fastai-ის პრაქტიკოსებს ახლა შეუძლიათ მოდელების გაზიარება და ატვირთვა Hugging Face Hub-ზე Python-ის ერთი ხაზის გამოყენებით. 👉 ამ პოსტში წარმოგიდგენთ fastai-სა და Hub-ს შორის ინტეგრაციას. გარდა ამისა, ამ გაკვეთილის გახსნა Colab-ის ნოუთბუქის სახითაც შეგიძლიათ. გვსურს მადლობა გადავუხადოთ fast.ai-ის საზოგადოებას, კერძოდ ჯერემი ჰოვარდს, უეიდ გილიამს და ზაკ მიულერს გამოხმაურებისთვის 🤗. ეს ბლოგი მნიშვნელოვნად არის შთაგონებული fastai-ის დოკუმენტაციაში არსებული Hugging Face Hub განყოფილებით. Hub არის ცენტრალური პლატფორმა, სადაც ნებისმიერ მსურველს შეუძლია გააზიაროს და შეისწავლოს მოდელები, მონაცემთა ნაკრებები და ML დემოები. მას აქვს ღია კოდის მოდელების, მონაცემთა ნაკრებების და დემოების ყველაზე ფართო კოლექცია. Hub-ზე გაზიარება აძლიერებს თქვენი fastai მოდელების გავლენას, რადგან მათ სხვებისთვის ხელმისაწვდომს ხდის ჩამოსატვირთად და შესასწავლად. ასევე შეგიძლიათ გამოიყენოთ ტრანსფერული სწავლება (transfer learning) fastai მოდელებით; ჩატვირთეთ სხვისი მოდელი, როგორც თქვენი ამოცანის საფუძველი. ნებისმიერ მსურველს შეუძლია მიიღოს წვდომა Hub-ში არსებულ ყველა fastai მოდელზე hf.co/models ვებგვერდის fastai ბიბლიოთეკით გაფილტვრით, როგორც ეს ქვემოთ მოცემულ სურათზეა. მოდელების უფასო ჰოსტინგისა და ფართო საზოგადოებისთვის ხელმისაწვდომობის გარდა, Hub-ს აქვს ჩაშენებული ვერსიის კონტროლი, რომელიც დაფუძნებულია git-ზე (git-lfs, დიდი ფაილებისთვის) და მოდელის ბარათები აღმოჩენადობისა და რეპროდუცირებადობისთვის. Hub-ში ნავიგაციის შესახებ დამატებითი ინფორმაციისთვის იხილეთ ეს შესავალი. Hub-ში მოდელების გასაზიარებლად, დაგჭირდებათ მომხმარებელი. შექმენით ის Hugging Face-ის ვებგვერდზე. huggingface_hub ბიბლიოთეკა არის მსუბუქი Python კლიენტი კომუნალური ფუნქციებით, Hugging Face Hub-თან ურთიერთობისთვის. fastai მოდელების Hub-ში ასატვირთად, საჭიროა რამდენიმე ბიბლიოთეკის წინასწარ დაყენება (fastai>=2.4, fastcore>=1.3.27 და toml). მათი ავტომატურად ინსტალაცია შეგიძლიათ huggingface_hub-ის ინსტალაციისას ["fastai"] მითითებით, და თქვენი გარემო მზად იქნება: აქ ჩვენ ვწვრთნით fastbook-ის პირველ მოდელს კატების 🐱 იდენტიფიცირებისთვის. სრულად გირჩევთ წაიკითხოთ მთელი fastbook-ი. Learner არის fastai ობიექტი, რომელიც აერთიანებს მოდელს, მონაცემთა ჩამტვირთველებს და დანაკარგის ფუნქციას. ამ პოსტის განმავლობაში Learner-ს და Model-ს ურთიერთშენაცვლებით გამოვიყენებთ. პირველ რიგში, შედით Hugging Face Hub-ში. თქვენი ანგარიშის პარამეტრებში უნდა შექმნათ წერის ტოკენი (write token). შესასვლელად სამი ვარიანტია: თქვენს ტერმინალში ჩაწერეთ huggingface-cli login და შეიყვანეთ თქვენი ტოკენი. თუ Python ნოუთბუქში ხართ, შეგიძლიათ გამოიყენოთ notebook_login. შეგიძლიათ შეიყვანოთ push_to_hub_fastai იმ Learner-ით, რომლის ატვირთვაც გსურთ, და Hub-ის რეპოზიტორიუმის ID ფორმატში "namespace/repo_name". namespace შეიძლება იყოს ინდივიდუალური ანგარიში ან ორგანიზაცია, რომელზეც გაქვთ წერის წვდომა (მაგალითად, 'fastai/stanza-de'). დამატებითი დეტალებისთვის იხილეთ Hub Client-ის დოკუმენტაცია. Learner ახლა Hub-შია espejelomar/identify-my-cat სახელწოდების რეპოში. ავტომატურად იქმნება მოდელის ბარათი რამდენიმე ბმულითა და შემდგომი ნაბიჯებით. fastai Learner-ის (ან ნებისმიერი სხვა მოდელის) Hub-ში ატვირთვისას, სასარგებლოა მისი მოდელის ბარათის რედაქტირება (სურათი ქვემოთ), რათა სხვებმა უკეთ გაიგონ თქვენი ნამუშევარი (იხილეთ Hugging Face-ის დოკუმენტაცია). თუ გსურთ მეტი გაიგოთ push_to_hub_fastai-ის შესახებ, გადადით Hub Client-ის დოკუმენტაციაზე. არის რამდენიმე საინტერესო არგუმენტი, რომელიც შეიძლება დაგაინტერესოთ 👀. გახსოვდეთ, თქვენი მოდელი არის Git რეპოზიტორიუმი ყველა იმ უპირატესობით, რაც მას მოყვება: ვერსიის კონტროლი, ქომითები, ბრენჩები... მოდელის Hub-დან ჩატვირთვა კიდევ უფრო მარტივია. ჩვენ ჩავტვირთავთ ჩვენს Learner-ს, "espejelomar/identify-my-cat", და გამოვცდით კატის სურათით (🦮?). ეს კოდი ადაპტირებულია fastbook-ის პირველი თავიდან. პირველ რიგში, ატვირთეთ კატის (ან შესაძლოა ძაღლის?) სურათი. ამ გაკვეთილის Colab ნოუთბუქი იყენებს ipywidgets-ს კატის სურათის ინტერაქტიული ატვირთვისთვის (თუ არა?). აქ გამოვიყენებთ ამ საყვარელ კატას 🐅: ახლა კი ჩავტვირთოთ Learner, რომელიც ახლახან გავაზიარეთ Hub-ში და გამოვცადოთ. მუშაობს 👇! Hub Client-ის დოკუმენტაცია შეიცავს დამატებით დეტალებს from_pretrained_fastai-ის შესახებ. [Blurr არის] ბიბლიოთეკა, რომელიც შექმნილია fastai დეველოპერებისთვის, რომლებსაც სურთ Hugging Face ტრანსფორმერების გაწვრთნა და განთავსება - Blurr Docs. ჩვენ: თანამშრომლობა და ღია კოდი ფანტასტიურია! ჯერ დააინსტალირეთ blurr და გაწვრთენით Learner. გამოიყენეთ push_to_hub_fastai...