AutoNLP და Prodigy: ხელოვნური ინტელექტის მოდელების სწრაფი და ეფექტური შექმნა
სტატია მიმოიხილავს Hugging Face-ის AutoNLP-სა და Explosion-ის Prodigy-ს, ორ მძლავრ ინსტრუმენტს ღრმა სწავლის მოდელების შესაქმნელად და მონაცემთა ანოტაციისთვის. აღწერილია, თუ როგორ ამარტივებს AutoNLP უახლესი ტრანსფორმატორის მოდელების წვრთნას სხვადასხვა ბუნებრივი ენის დამუშავების ამოცანებისთვის (კლასიფიკაცია, სახელობითი ერთეულების ამოცნობა) მინიმალური კოდირებით. Prodigy წარმოდგენილია როგორც მოქნილი, რეალურ დროში ანოტაციის ინსტრუმენტი, რომელიც მხარს უჭერს ბუნებრივი ენის დამუშავების, კომპიუტერული მხედ
AutoNLP, Hugging Face-ის მიერ შექმნილი ჩარჩო, მომხმარებელს საშუალებას აძლევს, თითქმის ყოველგვარი კოდირების გარეშე, შექმნას საკუთარი უახლესი ღრმა სწავლის მოდელები საკუთარ მონაცემთა ბაზაზე. AutoNLP აგებულია Hugging Face-ის transformer-ების, dataset-ების, inference-api-ისა და მრავალი სხვა ინსტრუმენტის მძლავრ ბაზაზე. AutoNLP-ის მეშვეობით, შესაძლებელია SOTA (State-of-the-Art) transformer მოდელების წვრთნა საკუთარ მორგებულ მონაცემთა ბაზაზე, მათი ავტომატური დაკალიბრება და საბოლოო მომხმარებლისთვის სერვისის მიწოდება. AutoNLP-ით გაწვრთნილი ყველა მოდელი უახლესი და მზად არის საწარმოო გამოყენებისთვის. ამ სტატიის დაწერის მომენტისთვის, AutoNLP მხარს უჭერს ისეთ ამოცანებს, როგორიცაა ბინარული კლასიფიკაცია, რეგრესია, მრავალკლასიანი კლასიფიკაცია, ტოკენების კლასიფიკაცია (მაგალითად, სახელობითი ერთეულების ამოცნობა ან მეტყველების ნაწილი), კითხვა-პასუხი, შეჯამება და სხვა. მხარდაჭერილი ამოცანების სრული ჩამონათვალი ხელმისაწვდომია აქ. AutoNLP მხარს უჭერს ისეთ ენებს, როგორიცაა ინგლისური, ფრანგული, გერმანული, ესპანური, ჰინდი, ჰოლანდიური, შვედური და მრავალი სხვა. ასევე არსებობს მხარდაჭერა მორგებული მოდელებისთვის მორგებული ტოკენიზატორებით (იმ შემთხვევაში, თუ თქვენი ენა არ არის მხარდაჭერილი AutoNLP-ის მიერ).
Prodigy არის ანოტაციის ინსტრუმენტი, რომელიც შემუშავებულია Explosion-ის (spaCy-ის შემქმნელები) მიერ. ეს არის ვებ-ზე დაფუძნებული ინსტრუმენტი, რომელიც საშუალებას გაძლევთ, რეალურ დროში მოახდინოთ მონაცემთა ანოტაცია. Prodigy მხარს უჭერს ბუნებრივი ენის დამუშავების (NLP) ამოცანებს, როგორიცაა სახელობითი ერთეულების ამოცნობა (NER) და ტექსტის კლასიფიკაცია, თუმცა მისი შესაძლებლობები არ შემოიფარგლება მხოლოდ NLP-ით! ის მხარს უჭერს კომპიუტერული მხედველობის ამოცანებს და საკუთარი ამოცანების შექმნასაც კი! Prodigy-ის დემო ვერსიის ცდა შეგიძლიათ აქ. აღსანიშნავია, რომ Prodigy კომერციული ინსტრუმენტია. მეტი ინფორმაციის მიღება შეგიძლიათ აქ. ჩვენ Prodigy ავირჩიეთ, რადგან ის ერთ-ერთი ყველაზე პოპულარული ინსტრუმენტია მონაცემთა დასალეიბლად და უსაზღვროდ კონფიგურირებადია. მისი დაყენება და გამოყენება ასევე ძალიან მარტივია.
ახლა იწყება ამ სტატიის ყველაზე საინტერესო ნაწილი. მრავალი მონაცემთა ბაზისა და სხვადასხვა ტიპის პრობლემის განხილვის შემდეგ, ჩვენ წავაწყდით BBC News-ის კლასიფიკაციის მონაცემთა ბაზას Kaggle-ზე. ეს მონაცემთა ბაზა გამოიყენებოდა საკლასო კონკურსში და ხელმისაწვდომია აქ. მოდით, გადავხედოთ ამ მონაცემთა ბაზას: როგორც ვხედავთ, ეს არის კლასიფიკაციის მონაცემთა ბაზა. არის სვეტი „ტექსტი“, რომელიც წარმოადგენს საინფორმაციო სტატიის ტექსტს, და სვეტი „კატეგორია“, რომელიც სტატიის კლასს აღნიშნავს. საერთო ჯამში, არსებობს 5 სხვადასხვა კლასი: ბიზნესი, გართობა, პოლიტიკა, სპორტი და ტექნოლოგია. მრავალკლასიანი კლასიფიკაციის მოდელის გაწვრთნა ამ მონაცემთა ბაზაზე AutoNLP-ის გამოყენებით უმარტივესია.
ნაბიჯი 1: ჩამოტვირთეთ მონაცემთა ბაზა. ნაბიჯი 2: გახსენით AutoNLP და შექმენით ახალი პროექტი. ნაბიჯი 3: ატვირთეთ საწვრთნელი მონაცემთა ბაზა და აირჩიეთ ავტომატური დაყოფა. ნაბიჯი 4: დაადასტურეთ ფასი და გაწვრთენით თქვენი მოდელები. გთხოვთ გაითვალისწინოთ, რომ ზემოთ მოცემულ მაგალითში, ჩვენ ვავარჯიშებთ 15 სხვადასხვა მრავალკლასიანი კლასიფიკაციის მოდელს. AutoNLP-ის ფასი შეიძლება იყოს $10-დან თითო მოდელზე. AutoNLP ავტომატურად შეარჩევს საუკეთესო მოდელებს და შეასრულებს ჰიპერპარამეტრების დარეგულირებას თქვენთვის. ასე რომ, ახლა ჩვენ მხოლოდ უნდა დავმშვიდდეთ, დავჯდეთ და დაველოდოთ შედეგებს. დაახლოებით 15 წუთის შემდეგ, ყველა მოდელმა დაასრულა წვრთნა და შედეგები მზად იყო. როგორც ჩანს, საუკეთესო მოდელმა 98.67% სიზუსტე აჩვენა!
ასე რომ, ახლა ჩვენ შეგვიძლია მონაცემთა ბაზაში არსებული სტატიების კლასიფიცირება 98.67%-იანი სიზუსტით! მაგრამ მოიცადეთ, ჩვენ ხომ აქტიურ სწავლასა და Prodigy-ზე ვსაუბრობდით. რა დაემართა მათ? 🤔 ჩვენ ნამდვილად გამოვიყენეთ Prodigy, როგორც ამას მალე დავინახავთ. ჩვენ ის გამოვიყენეთ ამ მონაცემთა ბაზის დასალეიბლად სახელობითი ერთეულების ამოცნობის ამოცანისთვის. დალეიბლების ნაწილის დაწყებამდე, ჩვენ ვიფიქრეთ, რომ კარგი იქნებოდა გვქონოდა პროექტი, რომელშიც არა მხოლოდ შევძლებდით ახალი ამბების სტატიებში ერთეულების ამოცნობას, არამედ მათ კატეგორიზაციასაც. სწორედ ამიტომ ავაშენეთ ეს კლასიფიკაციის მოდელი არსებულ ლეიბლებზე. მონაცემთა ბაზას, რომელიც გამოვიყენეთ, ჰქონდა კატეგორიები, მაგრამ არ ჰქონდა ლეიბლები ერთეულების ამოცნობისთვის. ამიტომ, ჩვენ გადავწყვიტეთ გამოგვეყენებინა Prodigy მონაცემთა ბაზის დასალეიბლად სხვა ამოცანისთვის: სახელობითი ერთეულების ამოცნობისთვის. Prodigy-ის დაყენების შემდეგ, შეგიძლიათ უბრალოდ გაუშვათ: მოდით, გადავხედოთ სხვადასხვა მნიშვნელობებს: ზემოთ მოცემული ბრძანების გაშვების შემდეგ, შეგიძლიათ გადახვიდეთ Prodigy-ის ვებ ინტერფეისზე (ჩვეულებრივ localhost:8080-ზე) და დაიწყოთ მონაცემთა ბაზის დალეიბლება. Prodigy-ის ინტერფეისი ძალიან მარტივი, ინტუიციური და ადვილად გამოსაყენებელია. ინტერფეისი ასე გამოიყურება: ყველაფერი, რაც უნდა გააკეთოთ, არის აირჩიოთ, თუ რომელ ერთეულს გსურთ ლეიბლის მინიჭება (PERSON, ORG, PRODUCT, LOCATION) და შემდეგ აირჩიოთ ტექსტი, რომელიც ამ ერთეულს ეკუთვნის. ერთი დოკუმენტის დასრულების შემდეგ, შეგიძლიათ დააჭიროთ მწვანე ღილაკს და Prodigy ავტომატურად მოგაწვდით შემდეგ დაულეიბლებელ დოკუმენტს.
Prodigy-ის გამოყენებით, ჩვენ დავიწყეთ მონაცემთა ბაზის დალეიბლება. დაახლოებით 20 ნიმუშის ქონისას, ჩვენ ავარჯიშეთ მოდელი AutoNLP-ის გამოყენებით. Prodigy არ ექსპორტს მონაცემებს AutoNLP ფორმატში, ამიტომ ჩვენ დავწერეთ სწრაფი სკრიპტი მონაცემების AutoNLP ფორმატში გადასაყვანად: ეს მოგვცემს JSONL ფაილს, რომელიც შეიძლება გამოყენებულ იქნას მოდელის გასაწვრთნელად AutoNLP-ის გამოყენებით. ნაბიჯები იგივე იქნება, რაც ადრე, გარდა იმისა, რომ AutoNLP პროექტის შექმნისას ავირჩევთ Token Classification ამოცანას. საწყისი მონაცემების გამოყენებით, ჩვენ გავწვრთენით მოდელი AutoNLP-ის გამოყენებით. საუკეთესო მოდელს ჰქონდა დაახლოებით 86% სიზუსტე 0 სიზუსტითა და უკუძახილით (precision and recall). ჩვენ ვიცოდით, რომ მოდელს არაფერი არ უსწავლია. საკმაოდ აშკარაა, ჩვენ გვქონდა მხოლოდ დაახლოებით 20 ნიმუში. დაახლოებით 70 ნიმუშის დალეიბლების შემდეგ, ჩვენ დავიწყეთ გარკვეული შედეგების მიღება. სიზუსტე გაიზარდა...
თეგები:
#ხელოვნური ინტელექტი
#მანქანური სწავლება
#ბუნებრივი ენის დამუშავება
#hugging face
#ტრანსფორმატორები
#ტექსტის კლასიფიკაცია
#აქტიური სწავლა
#მონაცემთა ანოტაცია
#prodigy
#autonlp
#სახელობითი ერთეულების ამოცნობა
წყარო: huggingface.co
AI-ით გადამუშავებული