CUDA აანგარიშებს დოკუმენტის ინდექსებს
CUDA ტრენერი იცის რომელი დოკუმენტი შეღებინა
თითოეული ტრენინგის ნაბიჯი იღებს თანმიმდევრობას .btok ბინარულიდან, რომელიც შეიცავს მრავალ დოკუმენტს ერთმანეთის ჩამოყოლილი. CUDA ჩაწერს დოკუმენტის ინდექსს loss-თან ერთად: ნაბიჯი 47213, წყარო=gutenberg, დოკ=128407, loss=2.81. პროქსი აგროვებს ამ ანგარიშებს & ინარჩუნებს უნიკალური დოკუმენტის ინდექსების ნაკრებს წყაროს მიხედვით.
რაოდენობიდან დაფარვამდე
წყაროს დაფარვა = unique_docs_seen / n_docs. რამდენიმე მაგალითი:
| წყარო | n_docs | უნიკალურად ნანახი | დაფარვა |
|---|---|---|---|
| gutenberg | 512,000 | 154,000 | 30.1% |
| hermes3-general | 67,395 | 47,176 | 70.0% |
| dictionary | 88,000 | 88,000 | 100.0% |
| synthetic-chat | 1,400 | 1,400 | 100.0% |
მცირე წყაროები სწრაფად გაჯერებენ. დიდი წყაროები კვირებით ეცემა 50%-ის ქვემოთ. დაფარვის ბონუსი ჯილდოვებს ბანდიტს დოკუმენტების მონახულებისთვის, რომლებსაც ჯერ არ მოიკლო წყაროში.
ბონუსის ფორმულა
დაფარვის ბონუსი ლინეარულად მერყეობს 1.3x-დან 0%-იანი დაფარვისას 1.0x-მდე 50%-იანი დაფარვისას, შემდეგ კი 50%-ზე მეტისთვის რჩება 1.0x-ზე:
თუ coverage < 0.5:
bonus = 1.0 + 0.3 * (1.0 - coverage / 0.5)
სხვა შემთხვევაში:
bonus = 1.0
წყარო 0%-იანი ფარისხით იღებს 1.3x ბონუსს; 25%-იანი ფარისხის წყარო იღებს 1.15x-ს; 50%-იან ფარისხზე ეცემა 1.0x-მდე. 50%-ზე მეტის შემთხვევაში ბონუსი არ ვრცელდება.
ბონუსის გამოთვლა
ორი განსხვავებული სუნთქვის სიგნალი
იგივე მიზანი, განსხვავებული გრანულარობა
ANDREA-ს ორი მექანიზმი აქვს, რომელიც ხელს უშლის ერთი წყაროს მიერ გადაწვას. ისინი მსგავსად ჟღერს; სხვადასხვა რამეს ზომავს.
Epoch შუალედი. აკონტროლებს საერთო გადაწევას. როდესაც lifetime_pulls / n_docs > 1.0, წყარომ თეორიულად ყველა დოკუმენტს ერთხელ მაინც გაატარა. შუალედი = 1 / (1 + epochs). 1.4K-დოკუმენტიანი synthetic-chat წყარო 5,600 lifetime pulls-ით (epochs = 4) იღებს შუალედს 1/5 = 0.2x. Epoch-ების მონდომება განახლებებზე მუდმივია; ისინი არასდროს მცირდება.
Coverage ბონუსი. აკონტროლებს დოკუმენტების სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის სუნთქვის
Why Both Matter
| სიგნალი | თვალყურის დევნება | მიმართულება | ზღვარი | შენარჩუნდება ხელახალი გაშვებების შემდეგ |
|---|---|---|---|---|
| ეპოქის სჯა | აგრეგატული გადაჭარბებული მოთხრა | ამცირებს | 1/(1+e) | კი |
| დაფარვის ბონუსი | თითო დოკუმენტის სუნთქვის სუნთქვა | ზრდის | 1.3x | კი |
500K-დოკუმენტიანი gutenberg წყარო შეუძლია დარჩეს 50%-იანი დაფარვის ქვემოთ მთელი 200K-იანი ტრენინგის განმავლობაში, ხოლო არასდროს მიუახლოვდეს ეპოქა=1-ს. ეპოქის სჯა იგნორირებს მას; დაფარვის ბონუსი აქტიურად იზიდავს ბანდიტს gutenberg-ის unexplored 70% კუდისკენ.
საპირისპიროდ, 1.4K სინთეზური-ჩატის წყარო სატურირებს დაფარვას (100%) რამდენიმე ათასი მოთხრის შემდეგ; დაფარვის ბონუსი რჩება 1.0x-ზე, ხოლო ეპოქის სჯა იზრდება.
განასხვავეთ ორი
რას ყიდულობს Coverage Bonus ANDREA-სთვის
ხარვეზის რეჟიმი, რომელსაც ის ხელს უშლის
დოკუმენტის დონის თრექინგის გარეშე, ბენდიტი, რომელიც ირჩევს ნაბიჯის ჯილდოს მიხედვით, .btok თანმიმდევრობებს სიყვარულით ირჩევს. 500K-დოკუმენტიანი გუტენბერგის კორპუსი შეიცავს რამდენიმე ათას თანმიმდევრობას დაბალი კროს-ენტროპიით (თანმიმდევრული პროზა, ხშირი ლექსიკა). მხოლოდ ჯილდოს ბენდიტი ბრუნდება ამ თანმიმდევრობებში განმეორებით, რადგან ისინი მუდმივად გამოსცემენ ძლიერ ჯილდოს სიგნალებს.
შედეგი: 500K-დოკუმენტიანი კორპუსი იღებს სემპლინგს მხოლოდ 2K-5K განსხვავებულ თანმიმდევრობაზე 200K ტრენინგის ნაბიჯზე. მოდელი ამ თანმიმდევრობებს მემორიზებს, არასდროს ხედავს დანარჩენს. შესაძლებლობები ფუჭდება; კავერაჟი რჩება 1%-ის ქვემოთ.
რას ყიდულობს კავერაჟის ბონუსი
1.3x 0% კავერაჟზე, მასშტაბდება 1.0x-მდე 50%-ზე. ეს მცირე ნაკერკი გავრცელდება UCB1 შერჩევაში: იარაღები დაბალი კავერაჟით რჩება კონკურენტუნარიანად, მაშინაც კი, როდესაც მათი თითოეული გაყვანის ჯილდო კლებულობს. ბენდიტი თავისი დიზაინით იკვლევს კუდს, არა შემთხვევითობით.
500K-დოკუმენტიან გუტენბერგზე 200K-ნაბიჯიანი გაშვებაში, კავერაჟის ბონუსი ჩვეულებრივ ზრდის ობსერვირებულ კავერაჟს ~3%-დან (ბონუსის გარეშე) ~25-30%-მდე (ბონუსით). იგივე კომპიუტერი, რვა-ათჯერ მეტი დოკუმენტი შეხებული.
სად მდებარეობს თრექინგი
| კომპონენტი | პასუხისმგებლობა |
|---|---|
microgpt_cuda.cu | იუწყება დოკუმენტის ინდექსს თითოეული ტრეინინგის ნაბიჯზე |
training_proxy.py | ინარჩუნებს seen_docs მნიშვნელობას წყაროს მიხედვით |
training_proxy.py | ითვლის დაფარვას, გამოიყენებს ბონუსს ბანდიტის ჯილდოსთვის |
training_proxy.py | seen_docs-ს .state.json-ში ხსნის ხელახლა გაშვებებზე |