„Reformer“ მოდელი: ტრანსფორმერის ახალი ერა გრძელი თანმიმდევრობების დამუშავებაში
ეს სტატია განიხილავს „Reformer“ მოდელს, რომელიც ქიტაევის, კაიზერის და სხვების (2020) მიერ იქნა წარმოდგენილი, როგორც დღესდღეობით ერთ-ერთი ყველაზე მეხსიერების ეფექტური „ტრანსფორმერის“ მოდელი გრძელი თანმიმდევრობის მოდელირებისთვის. აღწერილია მისი უპირატესობები სტანდარტულ მოდელებთან შედარებით NLP ამოცანებში, როგორიცაა შეჯამება და კითხვა-პასუხი, და განმარტებულია, თუ როგორ შეუძლია მას ერთდროულად ნახევარ მილიონამდე ტოკენის დამუშავება. პოსტი დეტალურად განიხილავს „Reformer“-ის ოთხ ძირითად მახასიათებელს, რ
ქიტაევის, კაიზერის და სხვების (2020) მიერ წარმოდგენილი „Reformer“ მოდელი დღესდღეობით ერთ-ერთი ყველაზე მეხსიერების ეფექტური „ტრანსფორმერის“ მოდელია გრძელი თანმიმდევრობის მოდელირებისთვის. ბოლო დროს, გრძელი თანმიმდევრობის მოდელირებამ ინტერესის ზრდა განიცადა, რასაც მოწმობს მრავალი ნაშრომი მხოლოდ ამ წელს – ბელტაჯი და სხვ. (2020), როი და სხვ. (2020), ტეი და სხვ., ვანგი და სხვ., რომელთაგან რამდენიმე დასახელდა.
გრძელი თანმიმდევრობის მოდელირების მოტივაცია მდგომარეობს იმაში, რომ ბუნებრივი ენის დამუშავების (ბედ) ბევრი ამოცანა, მაგალითად, შეჯამება, კითხვა-პასუხი, მოითხოვს მოდელისგან უფრო გრძელი შეყვანის თანმიმდევრობების დამუშავებას, ვიდრე ამას "BERT"-ის მსგავსი მოდელები ახერხებენ. ამოცანებში, რომლებიც მოდელისგან დიდ შეყვანის თანმიმდევრობას მოითხოვს, გრძელი თანმიმდევრობის მოდელებს არ უწევთ შეყვანის თანმიმდევრობის დაჭრა მეხსიერების გადავსების თავიდან ასაცილებლად და, შესაბამისად, მათ აჩვენეს სტანდარტული „BERT“-ის მსგავსი მოდელების გაუმჯობესებული შესრულება (იხ. ბელტაჯი და სხვ. (2020)). „Reformer“ აფართოებს გრძელი თანმიმდევრობის მოდელირების საზღვრებს თავისი უნარით, დაამუშაოს ნახევარ მილიონამდე ტოკენი ერთდროულად, როგორც ეს ამ დემოშია ნაჩვენები. შედარებისთვის, ჩვეულებრივი bert-base-uncased მოდელი შეყვანის სიგრძეს მხოლოდ 512 ტოკენით ზღუდავს. „Reformer“-ში, სტანდარტული „ტრანსფორმერის“ არქიტექტურის თითოეული ნაწილი ხელახლაა შემუშავებული მეხსიერების მინიმალური მოთხოვნილებების ოპტიმიზაციისთვის, შესრულების მნიშვნელოვანი ვარდნის გარეშე. მეხსიერების გაუმჯობესება ოთხ მახასიათებელს მიეწერება, რომელიც „Reformer“-ის ავტორებმა „ტრანსფორმერის“ სამყაროს გააცნეს.
ამ ბლოგ-პოსტის მიზანია, მკითხველს მისცეს სიღრმისეული გაგება „Reformer“-ის ოთხი ზემოხსენებული მახასიათებლის შესახებ. მიუხედავად იმისა, რომ განმარტებები ფოკუსირებულია „Reformer“-ზე, მკითხველმა უკეთ უნდა გაიგოს, თუ რა გარემოებებში შეიძლება იყოს ეფექტური თითოეული ოთხი მახასიათებელი სხვა „ტრანსფორმერის“ მოდელებისთვისაც.
ოთხი სექცია მხოლოდ ფხვიერად არის დაკავშირებული, ამიტომ მათი ინდივიდუალურად წაკითხვაც შესაძლებელია. „Reformer“ არის 🤗Transformers ბიბლიოთეკის ნაწილი. „Reformer“-ის ყველა მომხმარებელს ურჩევენ, გაეცნოს ამ დეტალურ ბლოგ-პოსტს, რათა უკეთ გაიგოს, როგორ მუშაობს მოდელი და როგორ სწორად დააყენოს მისი კონფიგურაცია. ყველა განტოლებას თან ახლავს მათი ექვივალენტური სახელი „Reformer“-ის კონფიგურაციისთვის, მაგ., config., რათა მკითხველმა სწრაფად დააკავშიროს ისინი ოფიციალურ დოკუმენტაციასთან და კონფიგურაციის ფაილთან. შენიშვნა: აქსიალური პოზიციური კოდირებები (Axial Positional Encodings) არ არის განმარტებული „Reformer“-ის ოფიციალურ ნაშრომში, მაგრამ ფართოდ გამოიყენება ოფიციალურ კოდის ბაზაში. ეს ბლოგ-პოსტი იძლევა აქსიალური პოზიციური კოდირებების პირველ სიღრმისეულ განმარტებას.
„Reformer“ იყენებს თვითყურადღების ორ განსაკუთრებულ ფენას: ლოკალურ თვითყურადღების ფენებს და ლოკალურობის მიმართ მგრძნობიარე ჰეშირებით (LSH) თვითყურადღების ფენებს. ამ ახალი თვითყურადღების ფენების უკეთ წარსადგენად, მოკლედ განვიხილავთ ჩვეულებრივ თვითყურადღებას, როგორც ეს ვასვანის და სხვების (2017) ნაშრომშია შემოთავაზებული. ეს ბლოგ-პოსტი იყენებს იგივე აღნიშვნებსა და ფერებს, რასაც პოპულარული ბლოგ-პოსტი „The illustrated transformer“, ამიტომ მკითხველს მკაცრად ურჩევენ, ჯერ ეს ბლოგი წაიკითხოს. მნიშვნელოვანია: მიუხედავად იმისა, რომ „Reformer“ თავდაპირველად შემოთავაზებული იყო კაუზალური თვითყურადღებისთვის, მისი გამოყენება ორმხრივი თვითყურადღებისთვისაც შეიძლება. ამ პოსტში, „Reformer“-ის თვითყურადღება წარმოდგენილია ორმხრივი თვითყურადღებისთვის.
ნებისმიერი „ტრანსფორმერის“ მოდელის ბირთვი არის თვითყურადღების ფენა. ჩვეულებრივი თვითყურადღების ფენის გასახსენებლად, რომელსაც აქ გლობალურ თვითყურადღების ფენას ვუწოდებთ, დავუშვათ, რომ „ტრანსფორმერის“ ფენას ვიყენებთ ჩაშენების ვექტორულ თანმიმდევრობაზე X=x1,…,xn, სადაც თითოეული ვექტორი xi არის config.hidden_size ზომის, ანუ dh. მოკლედ, გლობალური თვითყურადღების ფენა X-ს პროეცირებს query, key და value მატრიცებზე Q,K,V და ითვლის გამოსავალ Z-ს softmax ოპერაციის გამოყენებით შემდეგნაირად:
Z=SelfAttn(X)=softmax(QKT)V, სადაც Z არის dh×n განზომილების (გასამარტივებლად გამოტოვებულია key-ის ნორმალიზაციის ფაქტორი და თვითყურადღების წონები WO). „ტრანსფორმერის“ სრული ოპერაციის შესახებ მეტი დეტალისთვის იხილეთ „The illustrated transformer“. ვიზუალურად, ეს ოპერაცია შეგვიძლია შემდეგნაირად ვაჩვენოთ n=16, dh=3-ისთვის: გაითვალისწინეთ, რომ ყველა ვიზუალიზაციისთვის batch_size და config.num_attention_heads მიღებულია 1-ად. ზოგიერთი ვექტორი, მაგალითად, x3 და მისი შესაბამისი გამომავალი ვექტორი z3 მონიშნულია, რათა LSH თვითყურადღება მოგვიანებით უკეთ იყოს ახსნილი. წარმოდგენილი ლოგიკა უპრობლემოდ შეიძლება გაფართოვდეს მრავალთავიანი თვითყურადღებისთვის (config.num_attention_heads > 1). მკითხველს ურჩევენ, იხილოს „The illustrated transformer“ მრავალთავიანი თვითყურადღების შესახებ საცნობარო ინფორმაციისთვის. მნიშვნელოვანია გვახსოვდეს, რომ ყოველი გამომავალი ვექტორის zi-სთვის, მთელი შეყვანის თანმიმდევრობა X მუშავდება. შინაგანი dot-product QKT-ის ტენზორს აქვს ასიმპტოტური მეხსიერების სირთულე O(n^2), რაც ჩვეულებრივ წარმოადგენს მეხსიერების შეფერხებას ტრანსფორმერის მოდელში.
თეგები:
#ხელოვნური ინტელექტი
#მანქანური სწავლება
#nlp
#მეხსიერების ეფექტურობა
#ტრანსფორმერი
#თვითყურადღება
#reformer
#lsh
#გრძელი თანმიმდევრობის მოდელირება
#აქსიალური პოზიციური კოდირებები
წყარო: huggingface.co
AI-ით გადამუშავებული