ოპტიმიზაცია (Optimization) – მოდელის პარამეტრების ისე შერჩევა, რომ შეცდომა რაც შეიძლება მცირე იყოს.
როგორ მუშაობს ოპტიმიზაცია
მანქანურ სწავლებაში ოპტიმიზაცია (optimization) ნიშნავს მოდელის პარამეტრების ისეთი მნიშვნელობების ძიებას, რომლებიც შეცდომის ფუნქციას მინიმუმამდე ამცირებს. ამისთვის გამოიყენება ოპტიმიზატორები, მაგალითად SGD ან Adam, რომლებიც გრადიენტული დაშვების ვარიანტებია. ტერმინი ფართოდაც გამოიყენება: მოდელის ოპტიმიზაცია ინფერენსისთვის ნიშნავს მის დაჩქარებას და გაიაფებას, მაგალითად კვანტიზაციით.
მაგალითი ყოველდღიური ცხოვრებიდან
ნავიგატორი ეძებს მარშრუტს, რომელიც ყველაზე ნაკლებ დროს მოითხოვს. ეს ოპტიმიზაციის ამოცანაა: მრავალ ვარიანტს შორის საუკეთესოს პოვნა კონკრეტული კრიტერიუმით.
რატომ არის ოპტიმიზაცია მნიშვნელოვანი
- სწავლება – ოპტიმიზაციის გარეშე მოდელი ვერაფერს ისწავლიდა.
- ხარჯი – კარგი ოპტიმიზატორი ტრენინგს აჩქარებს და გამოთვლით რესურსს ზოგავს.
- პრაქტიკა – ოპტიმიზებული მოდელი უფრო სწრაფად და იაფად პასუხობს.
ოპტიმიზაციის ალგორითმები
მანქანურ სწავლებაში ოპტიმიზაციის საფუძველი გრადიენტული დაშვებაა: წონები იცვლება იმ მიმართულებით, რომელიც შეცდომას ამცირებს. პრაქტიკაში იყენებენ მის სტოქასტურ ვერსიას, სადაც გრადიენტი ყოველ ჯერზე მონაცემების პატარა ნაწილზე, ბეჩზე, ითვლება. ეს გაცილებით სწრაფია, თუმცა ნაბიჯები ნაკლებად სტაბილურია.
ამ ხმაურის შესამცირებლად შეიქმნა მომენტუმი: ოპტიმიზატორი წინა ნაბიჯების მიმართულებასაც ითვალისწინებს, როგორც დაღმართზე მგორავი ბურთი, რომელიც სიჩქარეს აგროვებს. Adam და მისი ვარიანტი AdamW ამას ამატებს თითოეული პარამეტრისთვის ნაბიჯის ზომის ავტომატურ მორგებას. AdamW დღეს დიდი ენობრივი მოდელების ტრენინგში ერთ-ერთი ყველაზე ხშირად გამოყენებული ოპტიმიზატორია.
სწავლის ტემპი ოპტიმიზაციის ყველაზე მნიშვნელოვანი ჰიპერპარამეტრია. ხშირად ტრენინგის დასაწყისში ტემპი თანდათან იზრდება, ამას „გახურება“ ჰქვია, შემდეგ კი ნელ-ნელა მცირდება. ასეთი განრიგი ტრენინგს უფრო სტაბილურს ხდის.
ოპტიმიზაცია ყოველთვის ტრენინგს არ ნიშნავს. ტერმინი გამოიყენება მოდელის დაჩქარების კონტექსტშიც, მაგალითად კვანტიზაციისას ან კოდის ისე გადაწყობისას, რომ პასუხი უფრო სწრაფად და იაფად გენერირდებოდეს.
ოპტიმიზატორი თავადაც მეხსიერებას მოითხოვს: Adam-ი თითოეული პარამეტრისთვის დამატებით მნიშვნელობებს ინახავს, რაც დიდი მოდელების ტრენინგისას მნიშვნელოვან რესურსს ხარჯავს.
დაკავშირებული ტერმინები
გრადიენტული დაშვება · შეცდომის ფუნქცია · ჰიპერპარამეტრი · კვანტიზაცია · გაწვრთნა · AI ლექსიკონი
ხშირად დასმული კითხვები
რა არის Adam?
პოპულარული ოპტიმიზატორი, რომელიც ყოველი პარამეტრისთვის სწავლის ნაბიჯს ავტომატურად არეგულირებს.
ოპტიმიზაცია ყოველთვის საუკეთესო გადაწყვეტას პოულობს?
არა ყოველთვის. ხშირად მიიღწევა საკმარისად კარგი, მაგრამ არა იდეალური შედეგი.
შეჯამება
ოპტიმიზაცია მოდელის პარამეტრების საუკეთესო მნიშვნელობების ძიებაა. ის სწავლებისაც და ეფექტური გამოყენების საფუძველია.