IPO-ს ნაშრომის ავტორებთან კონსულტაციის შემდეგ, აღმოვაჩინეთ, რომ TRL-ში IPO-ს იმპლემენტაცია არასწორი იყო; კერძოდ, დასრულებების ლოგ-ალბათობებზე დანაკარგი უნდა იყოს საშუალო და არა ჯამური. ჩვენ დავამატეთ შესწორება ამ PR-ში და ხელახლა გავუშვით ექსპერიმენტები. შედეგები ახლა შეესაბამება ნაშრომს, სადაც IPO DPO-ს თანაბრად ეფექტურია და KTO-ს უკეთ ასრულებს დაწყვილებული უპირატესობის პარამეტრებში. ჩვენ განვაახლეთ პოსტი ამ ახალი შედეგების ასახვის მიზნით. მოკლედ: ჩვენ ვაფასებთ ენის მოდელების გასწორების სამ პერსპექტიულ მეთოდს გაძლიერებითი სწავლის (ან უპირატესობის დაზუსტების) გარეშე, მრავალ მოდელსა და ჰიპერპარამეტრის წყობაზე. კერძოდ, ჩვენ ვავარჯიშებთ სხვადასხვა ჰიპერპარამეტრების გამოყენებით და ვაფასებთ: ამ პოსტში, ჩვენ ვახორციელებთ სამი პერსპექტიული LLM გასწორების ალგორითმის — Direct Preference Optimization (DPO), Identity Preference Optimisation (IPO) და Kahneman-Tversky Optimisation (KTO) — ემპირიულ შეფასებას. ჩვენი ექსპერიმენტები ჩავატარეთ ორ მაღალი ხარისხის 7b LLM-ზე, რომლებმაც გაიარეს ზედამხედველობითი დაზუსტების ეტაპი, მაგრამ არა უპირატესობის გასწორება. ჩვენ აღმოვაჩინეთ, რომ მიუხედავად იმისა, რომ ერთი ალგორითმი აშკარად სჯობნის სხვებს, არსებობს ძირითადი ჰიპერპარამეტრები, რომლებიც უნდა დარეგულირდეს საუკეთესო შედეგების მისაღწევად. Direct Preference Optimization (DPO) გამოჩნდა, როგორც პერსპექტიული ალტერნატივა დიდი ენობრივი მოდელების (LLM) ადამიანის ან AI-ს უპირატესობებთან გასაწორებლად. ტრადიციული გასწორების მეთოდებისგან განსხვავებით, რომლებიც გაძლიერებით სწავლაზეა დაფუძნებული, DPO გასწორების ფორმულირებას მარტივ დანაკარგის ფუნქციად გარდაქმნის, რომელიც პირდაპირ შეიძლება ოპტიმიზირებულ იქნას უპირატესობების მონაცემთა ნაკრებზე {(x, yw, yl)}, სადაც x არის მოთხოვნა, ხოლო yw და yl სასურველი და არასასურველი პასუხებია. ეს DPO-ს პრაქტიკაში მარტივ გამოსაყენებლად აქცევს და წარმატებით იქნა გამოყენებული Zephyr-ისა და Intel-ის NeuralChat-ის მსგავსი მოდელების მოსამზადებლად. DPO-ს წარმატებამ მკვლევარებს უბიძგა შეექმნათ დანაკარგის ახალი ფუნქციები, რომლებიც მეთოდს ორი ძირითადი მიმართულებით აზოგადებენ. ამავდროულად, ეს მრავალი მეთოდი მოიცავს ჰიპერპარამეტრებს, რომელთაგან ყველაზე მნიშვნელოვანია β, რომელიც აკონტროლებს, თუ რამდენად უნდა შეფასდეს საცნობარო მოდელის უპირატესობა. ვინაიდან ეს ალტერნატივები ახლა ხელმისაწვდომია პრაქტიკოსთა არსენალში ისეთი ბიბლიოთეკების მეშვეობით, როგორიცაა 🤗 TRL, ბუნებრივად ჩნდება კითხვა, თუ რომელი ამ მეთოდებიდან და ჰიპერპარამეტრებიდან წარმოქმნის საუკეთესო ჩატ-მოდელს? ეს პოსტი მიზნად ისახავს ამ კითხვაზე პასუხის გაცემას სამი მეთოდის ემპირიული ანალიზის გზით. ჩვენ შევისწავლით ძირითად ჰიპერპარამეტრებს, როგორიცაა β და ვარჯიშის ნაბიჯები, შემდეგ შევაფასებთ მიღებული მოდელების მუშაობას MT-Bench-ის მეშვეობით, რომელიც არის ჩატ-მოდელის შესაძლებლობების გასაზომი საერთო ბენჩმარკი. ჩვენ გთავაზობთ ღია კოდს ამ შედეგების განმეორებისთვის 🤗 alignment-handbook-ის ბოლოდროინდელ განახლებაში. დავიწყოთ! აქ მოცემულია ჩვენს ანალიზთან დაკავშირებული მნიშვნელოვანი ბმულები: გასწორების ექსპერიმენტების ჩატარებისას ორი ძირითადი ინგრედიენტი უნდა იქნას გათვალისწინებული: მოდელი, რომლის ოპტიმიზაციასაც ვირჩევთ, და გასწორების მონაცემთა ნაკრები. მეტი დამოუკიდებელი მონაცემთა წერტილის მისაღებად, ჩვენ განვიხილეთ ორი მოდელი, OpenHermes-2.5-Mistral-7B და Zephyr-7b-beta-sft, და გასწორების ორი მონაცემთა ნაკრები: Intel-ის orca_dpo_pairs და ultrafeedback-binarized მონაცემთა ნაკრები. პირველი ექსპერიმენტისთვის, ჩვენ გამოვიყენეთ OpenHermes-2.5-Mistral-7B, რადგან ის არის ერთ-ერთი საუკეთესო 7B პარამეტრის მქონე ჩატ-მოდელი, რომელიც არ ყოფილა გასწორების რაიმე ტექნიკის საგანი. შემდეგ გამოვიყენეთ Intel-ის orca_dpo_pairs მონაცემთა ნაკრები, რომელიც შედგება 13 ათასი მოთხოვნისგან, სადაც არჩეული პასუხი გენერირებულია GPT-4-ის მიერ, ხოლო არასასურველი პასუხი – Llama-Chat 13b-ის მიერ. ეს არის მონაცემთა ნაკრები NeuralChat-ისა და NeuralHermes-2.5-Mistral-7B-ის უკან. ვინაიდან KTO არ საჭიროებს წყვილთა უპირატესობებს, ჩვენ უბრალოდ ვუყურებთ GPT-4-ის პასუხებს, როგორც „კარგ“ ეტიკეტებს, ხოლო Llama-Chat 13b-ის პასუხებს – როგორც „ცუდ“ ეტიკეტებს. მიუხედავად იმისა, რომ GPT-4-ის პასუხები სავარაუდოდ უპირატესობას ანიჭებს Llama-Chat 13b-ს, შეიძლება იყოს შემთხვევები, როდესაც Llama-Chat-13b უკეთეს პასუხს წარმოქმნის, ჩვენ მიგვაჩნია, რომ ეს წარმოადგენს მაგალითების მცირე უმცირესობას. მეორე ექსპერიმენტმა შეასრულა უპირატესობის გასწორება Zephyr-7b-beta-sft მოდელზე ultrafeedback-binarized მონაცემთა ნაკრებით, რომელიც შეიცავს 66 ათას მოთხოვნას არჩეული და უარყოფილი პასუხების წყვილებით. ეს მონაცემთა ნაკრები გამოყენებული იქნა ორიგინალური Zephyr მოდელის მოსამზადებლად, რომელიც იმ დროისთვის იყო საუკეთესო 7B კლასის მოდელი მრავალ ავტომატიზებულ ბენჩმარკზე და ადამიანურ შეფასებებში. გასწორების სახელმძღვანელო გთავაზობთ ერთი ექსპერიმენტის კონფიგურაციის მარტივ გზას; ეს პარამეტრები გამოიყენება run_dpo.py სკრიპტის კონფიგურაციისთვის. ჩვენ შევქმენით მსგავსი საბაზო კონფიგურაციის ფაილი Zephyr-ის ექსპერიმენტებისთვის. ჩატის შაბლონები ავტომატურად გამოვლენილ იქნა საბაზო ჩატ-მოდელიდან, სადაც OpenHermes-2.5 იყენებს ChatML ფორმატს და Zephyr იყენებს H4 ჩატის შაბლონს. ალტერნატიულად, თუ გსურთ გამოიყენოთ საკუთარი ჩატის ფორმატი, 🤗 tokenizers ბიბლიოთეკამ ახლა მოგცა მომხმარებლის მიერ განსაზღვრული ჩატის შაბლონების გამოყენების შესაძლებლობა Jinja ფორმატის სტრიქონების მეშვეობით: რომელიც საუბრებს შემდეგნაირად აფორმებს: ჩვენ ვავარჯიშეთ DPO, IPO და KTO მეთოდები TRL-ის DPOTrainer-ის loss_type არგუმენტის გამოყენებით, ბეტა მნიშვნელობებით 0.01, 0.1, 0.2, ..., 0.9.