ემბედინგები: ხელოვნური ინტელექტის მრავალფუნქციური ინსტრუმენტი სემანტიკური ძიებისთვის
ეს სტატია განმარტავს „ემბედინგების“ კონცეფციას – ინფორმაციის (ტექსტი, სურათი, აუდიო) რიცხვით წარმოდგენას, რომელიც მის სემანტიკურ მნიშვნელობას იჭერს. განხილულია ემბედინგების ძირითადი გამოყენება ხელოვნური ინტელექტის აპლიკაციებში, როგორიცაა საძიებო სისტემები, რეკომენდაციის სისტემები და ჩატბოტები, რაც შესაძლებელს ხდის სემანტიკური მსგავსების შეფასებას. სტატია დეტალურად აღწერს, თუ როგორ შეიძლება ემბედინგების გენერირება ღია კოდის ინსტრუმენტების, მაგალითად, Sentence Transformers ბიბლიოთეკისა და Hugging
ემბედინგი არის ინფორმაციის ნაწილის რიცხვითი წარმოდგენა, მაგალითად, ტექსტის, დოკუმენტების, სურათების, აუდიოს და სხვა. ეს წარმოდგენა იჭერს იმ სემანტიკურ მნიშვნელობას, რასაც წარვადგენთ, რაც მას მრავალი ინდუსტრიული აპლიკაციისთვის მძლავრ ინსტრუმენტად აქცევს. მოცემული ტექსტისთვის „რა არის ხმის მიცემის მთავარი უპირატესობა?“, წინადადების ემბედინგი შეიძლება წარმოდგენილი იყოს ვექტორულ სივრცეში, მაგალითად, 384 რიცხვის სიით (მაგალითად, [0.84, 0.42, ..., 0.02]). რადგან ეს სია იჭერს მნიშვნელობას, შეგვიძლია საინტერესო რაღაცების გაკეთება, მაგალითად, სხვადასხვა ემბედინგებს შორის მანძილის გამოთვლა იმის დასადგენად, თუ რამდენად ემთხვევა ერთმანეთს ორი წინადადების მნიშვნელობა.
ემბედინგები არ შემოიფარგლება მხოლოდ ტექსტით! თქვენ ასევე შეგიძლიათ შექმნათ სურათის ემბედინგი (მაგალითად, 384 რიცხვის სია) და შეადაროთ ის ტექსტის ემბედინგს იმის დასადგენად, აღწერს თუ არა წინადადება სურათს. ეს კონცეფცია საფუძვლად უდევს მძლავრ სისტემებს სურათების ძიების, კლასიფიკაციისა, აღწერის და სხვა მრავალი მიზნისთვის!
როგორ იქმნება ემბედინგები? ღია კოდის ბიბლიოთეკა სახელწოდებით Sentence Transformers საშუალებას გაძლევთ უფასოდ შექმნათ უახლესი ემბედინგები სურათებიდან და ტექსტიდან. ეს ბლოგი გვიჩვენებს მაგალითს ამ ბიბლიოთეკის გამოყენებით. „...როდესაც გაიგებთ ამ მანქანური სწავლების მრავალფუნქციურ ინსტრუმენტს (ემბედინგი), შეძლებთ ყველაფრის აშენებას, საძიებო სისტემებიდან დაწყებული, რეკომენდაციების სისტემებით, ჩატბოტებით და მრავალი სხვა. მათ გამოსაყენებლად არ გჭირდებათ იყოთ მონაცემთა მეცნიერი ML ექსპერტიზით, არც უზარმაზარი მარკირებული მონაცემთა ნაკრები გჭირდებათ.“ – დეილ მარკოვიცი, Google Cloud.
როგორც კი ინფორმაციის ნაწილი (წინადადება, დოკუმენტი, სურათი) ემბედირდება, იწყება კრეატიულობა; რამდენიმე საინტერესო ინდუსტრიული აპლიკაცია იყენებს ემბედინგებს. მაგალითად, Google Search იყენებს ემბედინგებს ტექსტის ტექსტთან და ტექსტის სურათებთან შესატყვისებლად; Snapchat იყენებს მათ „სწორი რეკლამის სწორი მომხმარებლისთვის სწორ დროს მიწოდებისთვის“; ხოლო Meta (Facebook) იყენებს მათ სოციალური ძიებისთვის. სანამ ემბედინგებიდან ინტელექტის მოპოვებას შეძლებდნენ, ამ კომპანიებს თავიანთი ინფორმაციის ემბედირება დასჭირდათ. ემბედირებული მონაცემთა ნაკრები ალგორითმებს საშუალებას აძლევს სწრაფად მოძებნონ, დაალაგონ, დააჯგუფონ და სხვა. თუმცა, ეს შეიძლება იყოს ძვირი და ტექნიკურად რთული.
ამ პოსტში, ჩვენ ვიყენებთ მარტივ ღია კოდის ინსტრუმენტებს იმის საჩვენებლად, თუ რა ადვილი შეიძლება იყოს მონაცემთა ნაკრების ემბედირება და ანალიზი. ჩვენ შევქმნით მცირე ზომის ხშირად დასმული კითხვების (FAQs) სისტემას: მივიღებთ მომხმარებლისგან შეკითხვას და დავადგენთ, რომელი FAQ არის ყველაზე მსგავსი. ჩვენ გამოვიყენებთ აშშ-ის სოციალური უსაფრთხოების Medicare-ის FAQ-ებს. მაგრამ ჯერ, ჩვენი მონაცემთა ნაკრების ემბედირება გვჭირდება (სხვა ტექსტები ტერმინებს „encode“ და „embed“ ურთიერთშემცვლელად იყენებენ).
Hugging Face Inference API საშუალებას გვაძლევს მარტივად მოვახდინოთ მონაცემთა ნაკრების ემბედირება სწრაფი POST გამოძახების გამოყენებით. რადგან ემბედინგები იჭერს კითხვების სემანტიკურ მნიშვნელობას, შესაძლებელია სხვადასხვა ემბედინგების შედარება და იმის დანახვა, თუ რამდენად განსხვავებული ან მსგავსია ისინი. ამის წყალობით, შეგიძლიათ მიიღოთ მოთხოვნასთან ყველაზე მსგავსი ემბედინგი, რაც ყველაზე მსგავსი FAQ-ის პოვნას უდრის. იხილეთ ჩვენი სემანტიკური ძიების გაკვეთილი, რათა მიიღოთ უფრო დეტალური განმარტება იმის შესახებ, თუ როგორ მუშაობს ეს მექანიზმი.
მოკლედ, ჩვენ: პირველი ნაბიჯი არის არსებული, წინასწარ გაწვრთნილი მოდელის შერჩევა ემბედინგების შესაქმნელად. მოდელის არჩევა შეგვიძლია Sentence Transformers ბიბლიოთეკიდან. ამ შემთხვევაში, გამოვიყენოთ „sentence-transformers/all-MiniLM-L6-v2“, რადგან ის მცირე ზომის, მაგრამ მძლავრი მოდელია. მომავალ პოსტში განვიხილავთ სხვა მოდელებსა და მათ კომპრომისებს.
შედით Hub-ში. თქვენ უნდა შექმნათ წერის (write) ტოკენი თქვენს ანგარიშის პარამეტრებში (Account Settings). ჩვენ შევინახავთ წერის ტოკენს hf_token-ში. ემბედინგების გენერირებისთვის შეგიძლიათ გამოიყენოთ https://api-inference.huggingface.co/pipeline/feature-extraction/{model_id} ბოლო წერტილი (endpoint) სათაურებით (headers) {"Authorization": f"Bearer {hf_token}"}. აქ მოცემულია ფუნქცია, რომელიც იღებს ლექსიკონს ტექსტებით და აბრუნებს ემბედინგების სიას.
პირველად ემბედინგების გენერირებისას, API-ს შეიძლება დასჭირდეს გარკვეული დრო (დაახლოებით 20 წამი) მათ დასაბრუნებლად. ჩვენ ვიყენებთ retry დეკორატორს (დააინსტალირეთ pip install retry-ით), რათა თუ პირველი მცდელობისას output = query(dict(inputs = texts)) არ იმუშავებს, დაველოდოთ 10 წამს და კიდევ სამჯერ ვცადოთ. ეს ხდება იმიტომ, რომ პირველი მოთხოვნისას, მოდელი უნდა გადმოიწეროს და დაინსტალირდეს სერვერზე, მაგრამ შემდგომი გამოძახებები ბევრად უფრო სწრაფია.
მიმდინარე API არ აწესებს მკაცრ მოთხოვნათა სიჩქარის შეზღუდვებს. ამის ნაცვლად, Hugging Face ტვირთს თანაბრად ანაწილებს ჩვენს ყველა არსებულ რესურსს შორის და უპირატესობას ანიჭებს მოთხოვნების სტაბილურ ნაკადებს. თუ თქვენ გჭირდებათ რამდენიმე ტექსტის ან სურათის ემბედირება, Hugging Face Accelerated Inference API დააჩქარებს ინფერენციას და მოგცემთ საშუალებას აირჩიოთ CPU-სა თუ GPU-ს გამოყენება.
პასუხად, თქვენ მიიღებთ სიების სიას. თითოეული სია შეიცავს ერთი FAQ-ის ემბედინგს. მოდელი „sentence-transformers/all-MiniLM-L6-v2“ შეყვანის კითხვებს აკოდირებს 13 ემბედინგად, თითოეული 384 ზომის. მოდით, სია გადავიყვანოთ Pandas DataFrame-ად, რომლის ზომაა (13x384). ის ჰგავს ამ მატრიცას: 🤗 Datasets არის ბიბლიოთეკა მონაცემთა ნაკრებებზე სწრაფი წვდომისა და გაზიარებისთვის. მოდით, ემბედინგების მონაცემთა ნაკრები განვათავსოთ Hub-ში მომხმარებლის ინტერფეისის (UI) გამოყენებით. შემდეგ, ნებისმიერს შეუძლია მისი ჩატვირთვა კოდის ერთი ხაზით. თქვენ ასევე შეგიძლიათ გამოიყენოთ ტ... [ტექსტი შეწყვეტილია]
თეგები:
#ხელოვნური ინტელექტი
#მანქანური სწავლება
#საძიებო სისტემები
#ჩატბოტები
#hugging face
#ღია კოდი
#მონაცემთა დამუშავება
#ემბედინგი
#სემანტიკური ძიება
#რეკომენდაციის სისტემები
წყარო: huggingface.co
AI-ით გადამუშავებული