ეს ბლოგ-პოსტი წარმოგიდგენთ ModernBERT-ს, უახლესი, ენკოდერ-მხოლოდ მოდელების ოჯახს, რომელიც ყოვლისმომცველ გაუმჯობესებას წარმოადგენს ძველი თაობის ენკოდერებთან შედარებით, 8192 სიმბოლოიანი მიმდევრობის სიგრძით, უკეთესი ქვემდებარე ამოცანების შესრულებითა და გაცილებით სწრაფი დამუშავებით. ModernBERT ხელმისაწვდომია, როგორც ნებისმიერი BERT-ის მსგავსი მოდელის ჩასანაცვლებელი ვერსია, როგორც საბაზისო (149 მილიონი პარამეტრი), ასევე დიდი (395 მილიონი პარამეტრი) ზომებით. ModernBERT ინტეგრირებული იქნება transformers-ის v4.48.0 ვერსიაში. მანამდე კი, საჭიროა transformers-ის ინსტალაცია main რეპოზიტორიიდან: რადგან ModernBERT არის Masked Language Model (MLM), მისი გამოყენება შესაძლებელია fill-mask „პაიპლაინით“ ან მისი ჩატვირთვა AutoModelForMaskedLM-ის მეშვეობით. ModernBERT-ის ქვემდებარე ამოცანებისთვის, როგორიცაა კლასიფიკაცია, ინფორმაციის მოძიება ან კითხვა-პასუხი (QA), საჭიროა მისი „ფაინ-ტიუნინგი“ BERT-ის სტანდარტული „ფაინ-ტიუნინგის“ რეცეპტების მიხედვით. ⚠️ თუ თქვენი GPU მხარს უჭერს, გირჩევთ გამოიყენოთ ModernBERT Flash Attention 2-თან ერთად მაქსიმალური ეფექტურობის მისაღწევად. ამისათვის, დააინსტალირეთ Flash Attention შემდეგნაირად, შემდეგ კი გამოიყენეთ მოდელი ჩვეულებრივად: AutoModelForMaskedLM-ის გამოყენებით: „პაიპლაინის“ გამოყენებით: შენიშვნა: ModernBERT არ იყენებს ტოკენის ტიპის ID-ებს, განსხვავებით ზოგიერთი ადრინდელი BERT მოდელისგან. ქვემდებარე ამოცანების უმეტესობისთვის გამოყენება იდენტურია Hugging Face Hub-ზე არსებული სტანდარტული BERT მოდელებისა, იმ განსხვავებით, რომ შეგიძლიათ გამოტოვოთ `token_type_ids` პარამეტრი. BERT გამოვიდა 2018 წელს (ათასწლეულების წინ ხელოვნური ინტელექტის „წლებით“!) მაგრამ დღესაც ფართოდ გამოიყენება: სინამდვილეში, ის ამჟამად მეორე ყველაზე ჩამოტვირთული მოდელია HuggingFace hub-ზე, 68 მილიონზე მეტი ყოველთვიური ჩამოტვირთვით, მხოლოდ ერთი სხვა ენკოდერ მოდელის შემდეგ, რომელიც ინფორმაციის მოძიებისთვისაა „ფაინ-ტიუნინგირებული“. ეს იმიტომ ხდება, რომ მისი ენკოდერ-მხოლოდ არქიტექტურა მას იდეალურს ხდის ყოველდღიური რეალური პრობლემებისთვის, როგორიცაა ინფორმაციის მოძიება (მაგალითად, RAG-ისთვის), კლასიფიკაცია (მაგალითად, კონტენტის მოდერაცია) და სუბიექტის ამოღება (მაგალითად, კონფიდენციალურობისა და მარეგულირებელი შესაბამისობისთვის). საბოლოოდ, 6 წლის შემდეგ, ჩვენ გვაქვს ჩანაცვლება! დღეს, ჩვენ Answer.AI-სა და LightOn-ში (და მეგობრები!) ვუშვებთ ModernBERT-ს. ModernBERT არის მოდელების ახალი სერია, რომელიც წარმოადგენს პარეტოს გაუმჯობესებას BERT-სა და მის უმცროს და-ძმებთან შედარებით, როგორც სიჩქარის, ასევე სიზუსტის თვალსაზრისით. ეს მოდელი აერთიანებს მსხვილ ენობრივ მოდელებზე (LLM) ბოლო წლების მუშაობის ათობით მიღწევას და მათ BERT-ის სტილის მოდელზე იყენებს, მათ შორის არქიტექტურისა და ტრენინგის პროცესის განახლებებს. ჩვენ ველით, რომ ModernBERT გახდება ახალი სტანდარტი მრავალ აპლიკაციაში, სადაც ენკოდერ-მხოლოდ მოდელები უკვე გამოიყენება, როგორიცაა RAG „პაიპლაინები“ (Retrieval Augmented Generation) და სარეკომენდაციო სისტემები. სიჩქარისა და სიზუსტის გარდა, ModernBERT ასევე ზრდის კონტექსტის სიგრძეს 8K ტოკენამდე (უმეტესი ენკოდერისთვის მხოლოდ 512-თან შედარებით) და არის პირველი ენკოდერ-მხოლოდ მოდელი, რომელიც თავის სავარჯიშო მონაცემებში დიდ რაოდენობას კოდს შეიცავს. ეს მახასიათებლები ხსნის ახალ აპლიკაციის სფეროებს, რომლებიც ადრე მიუწვდომელი იყო ღია მოდელების მეშვეობით, როგორიცაა მასშტაბური კოდის ძიება, IDE-ის ახალი ფუნქციები და ინფორმაციის მოძიების ახალი ტიპის „პაიპლაინები“, რომლებიც ეფუძნება სრული დოკუმენტის მოძიებას და არა მცირე ნაწილებს. მაგრამ იმის ასახსნელად, თუ კონკრეტულად რა გავაკეთეთ, მოდით ჯერ უკან დავიხიოთ და ვნახოთ, საიდან მოვედით. LLM-ებში ბოლო დროს შეინიშნებოდა მაღალი დონის მიღწევები ისეთ მოდელებში, როგორიცაა GPT, Llama და Claude. ეს არის დეკოდერ-მხოლოდ მოდელები, ანუ გენერაციული მოდელები. მათი უნარი, შექმნან ადამიანის მსგავსი კონტენტი, შესაძლებლობას იძლევა საოცარი ახალი GenAI აპლიკაციის სფეროებისთვის, როგორიცაა გენერაციული ხელოვნება და ინტერაქტიული ჩეთი. ამ შთამბეჭდავმა აპლიკაციებმა მოიზიდა დიდი ინვესტიციები, დააფინანსა მზარდი კვლევები და გამოიწვია სწრაფი ტექნიკური პროგრესი. ის, რაც ჩვენ გავაკეთეთ, არსებითად, არის ამ მიღწევების ენკოდერ-მხოლოდ მოდელში დაბრუნება. რატომ? იმიტომ, რომ ბევრ პრაქტიკულ აპლიკაციას სჭირდება მოდელი, რომელიც არის ეფექტური და ოპტიმიზებული! და არ არის აუცილებელი ის იყოს გენერაციული მოდელი. უფრო პირდაპირ რომ ვთქვათ, დეკოდერ-მხოლოდ მოდელები ზედმეტად დიდია, ნელია, ხშირად დახურული და ძვირია მრავალი სამუშაოსთვის. გაითვალისწინეთ, რომ ორიგინალური GPT-1 იყო 117 მილიონი პარამეტრის მოდელი. Llama 3.1 მოდელი, კონტრასტისთვის, 405 მილიარდ პარამეტრს შეიცავს, ხოლო მისი ტექნიკური ანგარიში აღწერს მონაცემთა სინთეზისა და კურაციის რეცეპტს, რომელიც ძალიან რთული და ძვირია უმეტესი კორპორაციებისთვის გამეორებისთვის. ამგვარი მოდელის, მაგალითად ChatGPT-ის გამოსაყენებლად, თქვენ იხდით ცენტებს და წამებს ელოდებით API-ის პასუხის მისაღებად მძლავრი სერვერებიდან, რომლებიც თქვენი კონტროლის მიღმაა. რა თქმა უნდა, ამ გიგანტური გენერაციული მოდელების ღია შესაძლებლობები ნიშნავს, რომ საჭიროების შემთხვევაში, შეგიძლიათ გამოიყენოთ ისინი არაგენერაციული ან დისკრიმინაციული ამოცანებისთვის, როგორიცაა კლასიფიკაცია. ეს იმიტომ, რომ შეგიძლიათ კლასიფიკაციის ამოცანა მარტივი ინგლისურით აღწეროთ და... უბრალოდ სთხოვოთ მოდელს კლასიფიკაცია მოახდინოს. მაგრამ მიუხედავად იმისა, რომ ეს სამუშაო პროცესი შესანიშნავია პროტოტიპირებისთვის, მასობრივ წარმოებაში პროტოტიპის ფასის გადახდა არ მოგინდებათ. GenAI-ის ირგვლივ არსებულმა პოპულარულმა აჟიოტაჟმა დაჩრდილა ენკოდერ-მხოლოდ მოდელების როლი. ესენი არიან პრაქტიკული ენის დამუშავების „მუშა ცხენები“, მოდელები, რომლებიც ამჟამად გამოიყენება მრავალ სამეცნიერო და კომერციულ აპლიკაციაში. ენკოდერ-მხოლოდ მოდელის გამოსავალი არის რიცხვითი მნიშვნელობების სია (ემბედინგის ვექტორი). შეიძლება ითქვას, რომ ტექსტით პასუხის ნაცვლად, ენკოდერული მოდელი სიტყვასიტყვით აკოდირებს