v1-ის გაკვეთილი: დანაკარგი კარგად გამოიყურება, გამომავალი ნაგავია
გაფრთხილებითი ამბავი
ANDREA-120M v1-მ მიაღწია EMA დანაკარგს 3.43 ნაბიჯზე 110K-ზე, შეტანილი შემთხვევითობის ქვემოთ (ln(8449) = 9.04). რიცხვი პატივცემულად გამოიყურებოდა. ნიმუშები არა.
ნაბიჯი 80K: რეგიონი რეგიონი რეგიონი რეგიონი რეგიონი რეგიონი რეგიონი
ნაბიჯი 110K: ''''' ''''' '' ''' '' ''' '''?' ''' ' '' '' '
ნაბიჯი 140K: თამაშები, თამაშები, თამაშები, თამაშები, თამაშები, თამაშები
ნაბიჯი 165K: ბუდი ბუდი ბუდი ბუდი ბუდი ბუდი ბუდი ბუდი
v1-ს არ ჰქონდა ნიმუშის მონიტორინგი დაყენებული. მოდელმა გამოიწვია გამეორების ციკლის ნაგარადაღები ნაბიჯი 80K-დან და ტრენინგი გაგრძელდა კიდევ 85K ნაბიჯით, სანამ ვინმემ შეამჩნია. 10+ დღის კომპიუტერული რესურსი დაკარგა, რადგან ყველამ ვერ წაიკითხა გამომავალი.
რას მალავს Loss
კროს-ენტროპიის loss ზომავს იმდენად რამდენად გაკვირვებულია მოდელი შემდეგი ტოკენით. მოდელი, რომელიც გამოსცემს region region region region-ს, ჩანს არაგაკვირვებული თავისი გამოყოფილი შედეგით (მან იწინასწარმეტყველა იგივე სიტყვა ყოველთვის). რიცხვითი loss შეიძლება დარჩეს დაბალი, სანამ სემანტიკური ხარისხი ჩამოიშალება.
v2-ის გამოსწორება
sample_every = 100 ნაბიჯი. გენერირება 420 თავისუფალი ფორმის ტოკენის. კოჰერენტულობის კონტროლირებული ადრეული შეჩერება აფასებს ყოველ სემპლს ბიგრამის მრავალფეროვნებით, ტრიგრამის მრავალფეროვნებით, ინგლისური სიტყვის არსებობით და სიმბოლოს მრავალფეროვნებით (0-100 სკალა). ავტო-შეჩერება 5 თანმიმდევრული სემპლის შემდეგ, რომლებიც ქულას აჭარბებს 30-ს. უკუ-ტესტირებული v1-ზე: დაიჭირებოდა 132K ნაბიჯზე, რაც 3.8 დღეს დააზოგავდა.
სემპლების წაკითხვა არ არის ოპციონალური. სემპლების წაკითხვა არის ის, როგორ ვიცით, რომ loss რამეს ნიშნავს.
Loss vs სემპლის ხარისხი
ppl = exp(loss)
კონვერსია
Cross-entropy loss მოხდება nats-ში. Perplexity აჩვენებს თანაბარად სავარაუდო ტოკენების ეკვივალენტურ რაოდენობას, რომელსაც მოდელი განიხილავს ყოველ ნაბიჯზე. კონვერსია: ppl = exp(loss).
8449-ტოკენის ლექსიკაზე შემთხვევითი: loss = ln(8449) = 9.04, ppl = 8449. შენახული სრულყოფილი პროგნოზი: loss = 0, ppl = 1.
ცხრილის მითითება
| loss | ppl | კითხვა |
|---|---|---|
| 9.04 | 8449 | შემთხვევითი სრული ლექსიკაზე |
| 5.00 | 148 | ადრეული ტრენინგი, ძირითადი სტრუქტურა |
| 3.00 | 20 | ვოკაბულარის განაწილების შესწავლა |
| 2.00 | 7 | ცნობიერი, მაგრამ არაზუსტი |
| 1.00 | 2.7 | შეზღუდვების მიყოლა ჩნდება |
| 0.70 | 2 | სახელმძღვანელოს ერთხაზიანი |
| 0.30 | 1 | ფაქტობრივი გახსენება, ძირითადად მემორიზებული |
| 0.13 | 1 | შეტყობინება: მემორიზებული ქვეანბანი |
| 0.00 | 1 | სრულყოფილი მემორიზება |
ნიმუშზე საშუალო ზარალი vs EMA ზარალი
EMA ზარალი (ექსპონენციალური მოძრავი საშუალო მრავალ ნაბიჯზე) აჩვენებს საერთო სწავლების მდგომარეობას. ნიმუშზე ზარალი აჩვენებს კონკრეტული ერთი ნიმუშის ხარისხს. ორი განსხვავდება: EMA შეიძლება იყოს 2.0-ზე, ხოლო ინდივიდუალური ნიმუშები შეიძლება იყოს 0.13-დან 4.0-მდე, დამოკიდებულია იმაზე, რომელ პრომპტს აირჩია ბანდიტმა.
ინდივიდუალური ნიმუშის ზარალის წაკითხვა არის ის, როგორ ვპირკვობთ შეტევებს. EMA ზარალი ყველაფერს არ გვეუბნება იმის შესახებ, თუ ერთმა ნიმუშმა მოახსენიება repo-docs ნაწილი; ნიმუშზე ზარალი გვეუბნება.
სამი ზარალის მნიშვნელობის წაკითხვა
აუდიტის ფანჯრის გამოკვლევა
700-ნაბიჯიანი ფანჯარა
ნაბიჯებს 111,996-დან 112,668-მდე ANDREA-120M-მა გამოიყენა ნიმუშები ექვს ურთიერთდაუკავშირებელ ცოდნის დომენში. თითოეული მოდის ზარალის დონეში:
დონე 1: ფაქტობრივი გახსენება (loss 0.30, ppl 1)
ნაბიჯი 112,584, ბიოლოგია
> [extinction prompt]
> < შავი პაპია მონტანო ცოცხალია, კაროლინას პარაკიტი გამოცხადებულია გაქრობილი.
ორი სწორი ფაქტი. კაროლინას პარაკიტი გამოცხადებულია გაქრობილად 1939 წელს; შავი პაპია მონტანო არსებობს. ppl 1 ნიშნავს, რომ მოდელმა სწორი ტოკენი აირჩია ყოველ ნაბიჯზე. გარე შეფასება: 9.5/10.
Tier 2: სახელმძღვანელოს ერთხაზიანი (loss 0.74, ppl 2)
ნაბიჯი 112,668, სიგნალების დამუშავება
> [Fourier transform prompt]
> < ფურიეს ტრანსფორმაცია სიგნალებს სიხშირის კომპონენტებად ანთრევს, რაც სიგნალის მახასიათებლების ანალიზს და ფილტრაციას სიხშირის დომენში საშუალებას იძლევა.
სახელმძღვანელოს ერთვაკეტიანი განმარტება. დრო-სიხშირის ანთრევა სწორი გამოყენების ტერმინებით. გარე შეფასება: 9.5/10.
3-ე დონე: შეზღუდვის მიყოლა (loss 1.05, ppl 3)
ნაბიჯი 112,248, პოეზია
> დაწერე ჰაიკუ მზისღამის შესახებ სამი სიტყვით, რომლებიც 'r'-ით იწყება.
> < მზისღამის რიტმული რეფრენი, Rivulets მდგომის ფანჯარზე, Respite ცხოვრების ტკივილისგან.
სამი 'r'-ის სიტყვა (Rain, Rivulets, Respite), სამი ხაზი, ჰაიკუს სტრუქტურა შენარჩუნებულია, სემანტიკური თანმიმდევრულობა მზისღამის გარშემო. ppl 3 = მოდელმა ყოველ ნაბიჯზე განიხილა რამდენიმე კანდიდატი, მაგრამ დარჩა შეზღუდვის შიგნით.
Tier 4: ცნობილი, მაგრამ არაზუსტი (loss 1.94, ppl 7)
ნაბიჯი 112,500, python ინსტრუმენტები
> როგორ ვიპოვო მოძველებული პაკეტები Python პროექტში?
> < გამოიყენე pip list --outdated შენი პროექტის მენეჯმენტში pip პაკეტების სიის სანახავად, ან უნდა იყოს pyenv-ის მეშვეობით უფრო ავტომატური პაკეტების მისაღებად.
სწორი ბრძანება (pip list --outdated) გამოჩნდა ტრენინგის მონაცემებიდან. ფრაზის სიუხილება ჯერ კიდევ ვითარდება. მცირე შეცდომა: pyenv მართავს Python ვერსიებს, არა პაკეტებს. ppl 7 ნიშნავს, რომ მოდელმა თითოეულ ნაბიჯზე ~7 შესაძლო გაგრძელებას განიხილა; არა ყველა იყო ზუსტი.
Tier 5: შეტყობინება, შეხსენებული ქვე-მუხლის ხაზი (დაკარგვა 0.13, ppl 1)
ნაბიჯი 112,080, ანომალიური
დაკარგვა 0.13 მდებარეობს სკოლის სახელმძღვანელოს ხარისხის ზოგიერთეულის ქვემოთ. მოდელი ძალიან დარწმუნებულია ამ ნიმუშზე. დიაგნოზი: შეხსენებული repo-docs ქვე-მუხლის ხაზი, არა შეხსენებული ჩატი. ბანდიტმა გააქტიურა ზომბის repo-docstrings მკლავი წონით 1.546 წინა გაშვების მდგომარეობიდან, & ნიმუშმა ზუსტად გაიმეორა ტრენინგის მონაცემთა ნაწილი.
ანომალურად დაბალი დაკარგვა არის შეხსენების გაფრთხილება, არა ხარისხის სიგნალი. ქვე-0.20 ნიშნავს: შეამოწმეთ, არის თუ არა მოდელი გენერაციის რეჟიმში თუ კოპირების.
ექვსი დომენი 700 ნაბიჯში
ბიოლოგია (პარკეტი), სიგნალების დამუშავება (ფურიე), პოეზია (ჰაიკუ), პითონის ინსტრუმენტები (pip), საუბრის დიალოგი, ოპერაციების დიალოგი. ექვსი უკავშირო დომენი 700 ნაბიჯში გვეამისება, რომ ბანდიტი აკეთებს მრავალფეროვან მუშაობას, არაა ჩერდება ერთ წყაროზე. დომენის სიგანე არის ხარისხის მეტრიკა.
სამი ნიმუშის დიაგნოსტიკა
გარე შეფასებისთვის ნიმუშების გაგზავნის მიზეზები
რა დაიჭირა გარე შეფასებამ
შიდა ნიმუშების აუდიტმა გვიჩვენა, რომ მოდელი ბიოლოგიას, სიგნალების დამუშავებას, პოეზიას და python-ს ქმნიდა მოთხოვნისამებრ. გარე ჩატის ხარისხის შეფასებამ ეს ნიმუშები '9.5/10'-ად შეაფასა და 'ამ სკალაზე ცოდნის ამოცანებზე თავისი წონის ზემოთ იბრძოდა'.
შიდა მიმოხილვის შეკითხვები: გააკეთა თუ არა ბანდიტმა მრავალფეროვანი მუშაობა? გარე მიმოხილვის შეკითხვები: შეაფასებდა თუ არა ადამიანი მკითხველი ეს გამომავალი შედეგები როგორც კარგი?
რატომ არის ორივე მნიშვნელოვანი
შიდა აუდიტი იჭერს სტრუქტურულ შეცდომებს: გამეორების კოლაფსი, მემორიზაციის პიკები, დაბალი მრავალფეროვნების ზომბი ხელები. ზარალის დონეები, n-gram მრავალფეროვნება და დომენის სიგანე ყველაფერი შესაძლებელია პროქსიდან.
გარე შეფასება აღმოაჩენს სემანტიკური ხარისხის ჩავარდნებს: თავდაჯერებულად არასწორი ფაქტები, უხერხული ფრაზეოლოგია, გამოტოვებული ნიუანსები. არცერთი მათგანი არ ჩნდება ზარალის რიცხვებში.
მეთოდოლოგია
ANDREA-ს ტრენინგის დაბორდი training.ai.unturf.com/dashboard-ზე განზრახ ღიაა და მხოლოდ წაკითხვადი. ყველას შეუძლია .loss.json-ის, .samples.json-ის და ბანდიტის მდგომარეობის რეალურ დროში შემოწმება. გარე მიმოხილველებს ჰქონდათ იგივე მონაცემები, რაც ოპერატორს.
9.5/10 დამოუკიდებელი მკითხველისგან, ნიმუშებზე, რომლებიც აიღეს 112,584 ნაბიჯზე 200,000-დან, სრული პროვენიენციით: ეს შედეგი გამეორებადია, შეამოწმებადი და არა მანიპულირებადი. იგივე ნიმუშები, იგივე ზარალის მნიშვნელობები, იგივე ბანდიტის მდგომარეობა ხილულია ყველასთვის, ვინც უყურებს.
ორი დამოუკიდებელი სიგნალი
შიდა: დაბალი ზარალი + მაღალი მრავალფეროვნება + მრავალდომენური დაფარვა = ბანდიტის ჯანმრთელობა.
გარე: 9.5/10 დამოუკიდებელი მიმოხილვის მიერ = გამომავალი შეფასებები კარგია.
ორივე ემთხვევა: სწავლება მიდის ფაქტობრივი გახსენების, შეზღუდვების დაცვისა და მრავალაბზარი შესაბამისობისკენ. თუ ისინი განსხვავდებოდა (დაბალი ზარალი, მაგრამ გარე შეფასება 3/10), გვექნებოდა მეტრიკის თამაშის პრობლემა გამოსაკვლევი.
ორი სიგნალი, ერთი დიაგნოზი
ხუთი ნაბიჯი თითოეული აუდიტის ფანჯარაზე
ერთი აუდიტი, ხუთი შემოწმება
1. წაიკითხეთ ზარალის დონე. ppl = exp(loss). შეადარეთ ხუთდონიან ცხრილს.
2. შეამოწმეთ sub-0.20 გამონაკლისები. მემორიზაციის სიგნალი. გამოიკვლიეთ, სანამ ხარისხიან შედეგად მიხვალთ.
3. წაიკითხეთ ნამდვილი ნიმუშის ტექსტი. ზარალის რიცხვები ვერ გაგეტყვით, რას ამბობს გამომავალი. წაიკითხეთ იგი.
4. დომენების სიგანის თვლა. ექვსი უკავშირული დომენი 700 ნაბიჯში = ბანდიტი ჯანმრთელია. ერთი დომენი 7-ჯერ გამეორებული = ბანდიტი გაჭედილია.
5. შედარება გარე შეფასებასთან. თუ შენი ნიმუში კარგად გამოიყურება შენთვის, სთხოვე ვინმეს, ვინც არ არის გაშვების გარეთ, წაიკითხოს იგი. მათი უზრუნველყოფა ინფორმაციაა.
რას უკავშირდება ეს
- აქტივობა 22 (grow_a_language_model_checkpoints). sample_every რიტმი შეესაბამება checkpoint რიტმს; ორივე ირთვება ყოველ 100 ნაბიჯში.
- აქტივობა 21 (coherence-gated early stopping). მრავალფეროვნების მეტრიკები, რომლებიც ავტომატურად აჩერებენ სწავლებას, როდესაც ნიმუშები ჩამოიშალება.
- აქტივობა 24 (grow_a_language_model_microgpt_to_andrea). v1 ჩამოშლა, v2.5 დაბინძურება, v3 გაპრიალება ყველა გამოვლენილი იყო (ან შეიძლებოდა გამოევლენილიყო) ნიმუშის აუდიტით.
ერთი ჭეშმარიტება
დანაკარგი რიცხვია. ტექსტის ნიმუშების წაკითხვა არის ის, როგორ ვიცით, რას ნიშნავს ეს რიცხვი.