eval_chat_quality() არასწორ მორბენთან იყო მიერთებული
10-დღიანი შეცდომა, რომელიც მესამე დღეზე უნდა შეჩერდებოდა
ANDREA-120M v1 16.1 დღის განმავლობაში ვარჯიშდა RTX 4090-ზე 130W უწყვეტ რეჟიმში. შეწოვის გამომუშავებები შენახული იყო ყოველ 200 ნაბიჯზე, მაგრამ არასდროს გაანალიზდა გაშვების დროს. 80K ნაბიჯზე (მე-4 დღე), შეწოვები კითხულობდა region region region region region. 110K ნაბიჯზე, ''''' ''''' '' ''' ''. ვარჯიში გაგრძელდა კიდევ 11 დღე, სანამ ხელით არ შეწყდა 165K ნაბიჯზე.
რა მოხდა სტუმარის ალარმთან
[END]eval_chat_quality() არსებობდა კოდის ბაზაში. ის აფასებდა სემპლის ხარისხს. ის სწორად მუშაობდა. მაგრამ ის მიერთებული იყო მხოლოდ მემკვიდრეობით მულტიფაზურ რანერთან. v1 firehose კურიკულუმი იყენებდა სხვა კოდის გზას და არასდროს იძახებდა ევალუაციას. სიმოწმის ზარი სხვა ოთახში იყო დახურული კარით.
ღირებულება
16.1 კომპიუტერული დღე. 130W უწყვეტი. ~50 კვტ/სთ ელექტროენერგია. მოდელმა არ გამოიყენა შეძლებული გამომავალი არც ერთ მომენტში. Loss EMA ჩამოვიდა 3.23-ზე სტეპზე 110K-ზე, შემდეგ 4.54-მდე გაიზარდა სტეპზე 165K-ზე, როდესაც ტრეინინგი შეწყდა. რიცხვითად მისაღები; სემანტიკურად ცარიელი.
შემთხვევითი შანსი 8449-ტოკენის ლექსიკონისთვის არის 9.04. v1 მიაღწია 3.23 EMA loss-ს region region region-ის გამოყოფისას. Loss მარტო ვერ აღმოაჩენს კოჰერენტულობის კოლაფსს. მოდელი, რომელიც მინიმუმამდე ამცირებს კროს-ენტროპიას ერთი მაღალი სიხშირის ტოკენის გამეორებით, რიცხვითად ჯილდოს იღებს ჩავარდნის რეჟიმისთვის.
რატომ მოგვატყუა Loss კურვები
შეაფასე ყოველი ნიმუში ოთხ აქსზე
კომპოზიტური ქულა
v2 გაგზავნის კოჰერენტურობის გარჩევას, რომელიც აფასებს ყოველ ნიმუშს (იღებენ ყოველ 100 ნაბიჯზე ხანძარსაყრელი სწავლების დროს) ოთხი მეტრიკით:
| მეტრიკა | დიაპაზონი | რას იჭერს |
|---|---|---|
| ბიგრამის მრავალფეროვნება | 0-35 | გამეორება ორი ტოკენის დონეზე (region region) |
| ტრიგრამის მრავალფეროვნება | 0-35 | გამეორება სამი ტოკენის დონეზე (a, b, a, b, a, b) |
| ინგლისური სიტყვის არსებობა | 0-20 | გადასვლა არაინგლისურში (CJK, კირილიცა, ნონსენსი) |
| სიმბოლოს მრავალფეროვნება | 0-10 | ერთი სიმბოლოს კოლაფსი (''''', ... ... ...) |
საერთო შესაძლებელი: 100. ზღვარი: 30.
რატომ ოთხი მეტრიკა, არა ერთი
თითოეული მეტრიკა განსხვავებულ შეცდომის რეჟიმს აღმოაჩენს:
- მოდელი, რომელიც ერთ ბიგრამზე იჭრება, ვერ გაივლის Bigram diversity-ს, მაგრამ გაივლის Character diversity-ს.
- მოდელი, რომელიც პუნქტუაციის ხმაურს გამოიმუშავებს (''''' ''''' ''), ვერ გაივლის Character diversity-ს, მაგრამ შესაძლოა გაივლოს Bigram diversity, თუ პუნქტუაციის წყვილები მრავალფეროვანია.
- მოდელი, რომელიც არაქართულში გადადის (თარგმანის ტრენინგის კონტამინაცია), ვერ აკმაყოფილებს ინგლისური სიტყვის არსებობას, მაგრამ გადის Bigram & Trigram მრავალფეროვნებას, თუ იქმნება გრამატიკულად სწორი მანდარინი.
- მოდელი, რომელიც ქმნის a, b, a, b, a, b გადის Bigram-ს (a-b & b-a გამოჩნდება) მაგრამ ვერ გადის Trigram-ს (a-b-a, b-a-b დომინირებს).
ერთად, ოთხი მეტრიკა ფარავს წარუმატებლობის სივრცეს. კომპოზიტური ქულა 30-ზე დაბლა ნიშნავს, რომ მინიმუმ ერთი ღერძი მძიმედ ჩამოიშალა, რამაც მთლიანი შეწირული ნიმუში ჩამოაგდო.
თანმდევრული მრიცხველი
Auto-halt ჩაირთვება 5 თანმდევრული შეწირული ქულის 30-ზე დაბლა შემდეგ. ერთი ცუდი შეწირული შეიძლება მოხდეს ფაზის გარდამავალობის ან იშვიათი წყაროს გამოყენების დროს; ხუთი თანმდევრული ნიშნავს, რომ მოდელმა შეწყვიტა აღდგენა. შეწირულები იღება ყოველ 100 ნაბიჯზე, 5 თანმდევრული დეგენერირებული შეწირული = 500 ნაბიჯი დადასტურებული კოჰერენტულობის ჩამონგრევის.
Compute a Score
როგორი იქნებოდა v1
უკუ-ტესტირებული გააქტიურება
v1-ის შენახული ნიმუშების მიხედვით, v2-ის თანმიმდევრულობის გატის რეტროსპექტიური გამოყენება აჩვენებს, რომ გატი ჩაირთვებოდა ნაბიჯზე 132K-ზე. v1 გაგრძელდა ნაბიჯამდე 165K ხელით შეჩერებამდე. გატი შეცვლიდა ტრენინგს 33,000 ნაბიჯით ადრე.
შენახული გამოთვლა
RTX 4090 ფუნქციონირებდა ~6 ნაბიჯი/წუთში FP16 cuBLAS-ით. 33,000 ნაბიჯი / 6 ნაბიჯი/წუთი = 5,500 წუთი = 91.6 საათი = შენახული გამოთვლა 3.8 დღის განმავლობაში. 130W მუდმივი მოხმარებით, ეს არის ~12 კვტ.სთ ელექტროენერგია, პლუს 3.8 დღის GPU ცვეთა.
რატომ ნაბიჯი 132K და არა 80K
v1 გამოიმუშავა region region region ნაბიჯზე 80K. რატომ არ ჩაითიშა გატი მაშინ?
ვინაიდან ნაწარმოები კარგი ნიმუშები ჩნდებოდა ცუდებს შორის. ბანდიტი ყოველ 7-42 ნაბიჯში გადადიოდა წყაროებს შორის. თუნდაც დეგენერირებულ მოდელს ზოგჯერ უფრო მრავალფეროვანი გამომუშავებები ჰქონდა სხვა წყაროდან ნიმუშვისას, რაც დროებით ავსებდა თანმიმდევრულ მრიცხველს. ნაბიჯზე 132K-მდე მოდელი იმდენად ღრმად დაიკოლაფსირა, რომ 5 თანმიმდევრული დეგენერირებული ნიმუშის (500 ნაბიჯი) გამოჩენა გარდაუვალი გახდა.
გაკვეთილი: მოწამვლის სიგნალიზატორი ყველა მაჯის მიერ
v2 eval_chat_quality()-ს პირდაპირ უკავშირებს ფაირჰოუსის კურიკულუმის ნიმუშების დამუშავების კოდის მარშრუტს, არა მხოლოდ მემკვიდრე მაჯს. ყველა ნიმუში, ყველა გაშვება, ყველა კოდის მარშრუტი: იგივე კარიბჭე. გამოსწორებამ დაახლოებით 30 სტრიქონი კოდი მოითხოვა.