English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

სტუმარი
1 / ?
უკან გაკვეთილებზე

თექვსიანი დღე region region region

გაშვება რომელმაც დასრულება მოახდინა

ANDREA-120M v1 გაუშვა 2026-03-22 და შეწყვიტა 2026-04-15 ნაბიჯზე 165,000 200,000 დაგეგმილიდან. EMA ზარალის მინიმუმი: 3.23 ნაბიჯზე 110K (შემთხვევითი შანსი: ln(8449) = 9.04, ასე რომ ზარალი პატივსაყვარი გამოიყურებოდა). შეწირულებმა არ გამოიყურებოდა.


ნაბიჯი 80K: რეგიონი რეგიონი რეგიონი რეგიონი რეგიონი რეგიონი რეგიონი
ნაბიჯი 110K: ''''' ''''' '' ''' '' ''' '''?' ''' ' '' '' '
ნაბიჯი 140K: თამაშები, თამაშები, თამაშები, თამაშები, თამაშები, თამაშები
ნაბიჯი 165K: ბუდი ბუდი ბუდი ბუდი ბუდი ბუდი ბუდი ბუდი ბუდი

მეაღარე დღე RTX 4090 კომპიუტაციის. 130W უწყვეტი. ნაგავი ნაბიჯის 80K-დან.


microGPT-დან ANDREA-120M-მდე


რატომ იმუშავა microGPT-მა, მაგრამ 120M-მა არა

ANDREA-12M იყენებდა იგივე ტრენინგის პროქსის და გაიარა. უფრო მცირე წონის მატრიცები უფრო მდგრადი აღმოჩნდა გრადიენტის შოკების მიმართ. 120M პარამეტრებზე გაფართოებამ გაამრავლა ყველა მყიფე ადგილი. ხუთი შეცდომა დაგროვდა.


ხუთი დაგროვებული შეცდომა


შეცდომა 1: გრადიენტის კლიპინგის არარსებობა. წყაროს გადასვლები ყოველ 7-42 ნაბიჯზე უსაზღვრო გრადიენტის პიკებს ქმნიდა. ერთი ცუდი ბატჩი 120M-ზე შეუძლია მოდელის გადაყვანა დეგენერაციულ ატრაქტორში, საიდანაც ოპტიმიზატორი ვერ გამოდის. 12M მოდელმა გადარჩა, რადგან მცირე წონები შოკებს იტანდა.


ცხრილება 2: LR გათბობის არარსებობა. სწავლის მაჩვენებელი მაშინვე გადახტა პიკზე 0-დან ახალად ინიციალიზებულ წონებზე. მოდელმა ჩავარდა ცუდ აუზაში, სანამ რაიმე წარმოდგენები შეძლებდა ჩამოყალიბებას.


ცხრილება 3: წონის დეკრიმენტის არარსებობა. ჩვეულებრივმა Adam-მმა მ permission მისცა უსაზღვროდ დიდი წონებისთვის, რამაც გააძლიერა გამეორებადი შაბლონები 120M მოცულობაზე.


ცხრილება 4: მაგალითის ხარისხის მონიტორინგის არარსებობა. eval_chat_quality() მიერთებული იყო მხოლოდ მემკვიდრეობით მრავალფაზიან მორბენთან; firehose კურიკულუმმა არასდროს გამოიყენა იგი. მოდელმა გამოიმუშავა ნაგავი 80K ნაბიჯიდან მოყოლებით, შეუმჩნევლად 10+ დღის განმავლობაში.


ცხრილება 5: Bandit-მ გააჯილდოვა გამეორებადი წყაროები. repo-docs, repo-docstrings, & unfirehose-chat მიიღო ყველაზე მაღალი ქულები (საშუალო ჯილდოები 340-453) იმიტომ, რომ სიის სტრუქტურის შინაარსი ტრივიალურად ამცირებს ჯვარედინ კროს-ენტროპიას. Bandit-მ მოდელს კიდევ მეტი იმის მიაწოდა, რამაც გააუარესა იგი.


კომპაუნდინგი

ერთმა შეცდომამ მარტო არ დააპყრო v1. თითოეული აძლიერებდა მეორეს. გრადიენტის შოკები (1) გათბობის გარეშე (2) შეჯახებოდა ახალდაწყებულ მოდელს შემთხვევითად დიდი წონებით (3), რაც ქმნიდა გამეორებას, რომელსაც ბანდიტი ჯილდოდა (5), მაშინ როცა არავინ უყურებდა გამომავალს (4). ხუთი გადაკვეთილი მიზეზი, ერთი კოლაფსი.

რატომ ხუთი შეცდომა, არა ერთი

შეარჩიეთ ნებისმიერი ორი v1-ის ხუთი შეცდომიდან. თითოეულისთვის ერთ წინადადებაში ახსენით: (a) რა იყო შეცდომა; (b) როგორ ურთიერთქმედებდა კონკრეტულად სხვა ერთ შეცდომას ხუთივედან, რათა გააძლიეროს ზიანი.

ერთი შესწორება თითო შეცდომაზე

v2 კონფიგურაცია (2026-04-15)


შესწორებამიზანი შეცდომაგანხორციელება
გრადიენტის მოჭრაF1 (მოჭრა არაა)გლობალური L2 ნორმა, max_norm=1.0; სამი CUDA კერნელი (k_grad_norm_partial, k_grad_norm_final, k_grad_scale) ითვლის და გამოიყენებს pre-Adam-ისთვის
LR warmupF2 (warmup არაა)ხაზოვანი ზრდა 0-დან პიკამდე 2000 ნაბიჯზე. lr(t) = lr_scheduled(t) * min(1, (t+1)/warmup_steps)
AdamWF3 (ვაკუმი არა მძიმე)განცალკევებული მძიმის კლება (Loshchilov & Hutter 2019), weight_decay=0.01. p -= lr (m_hat/(sqrt(v_hat)+eps) + weight_decayp)
შერწყმის კარიბით ადრეული შეჩერებაF4 (მონიტორინგის გარეშე)ყოველ ნიმუშს შეფასება (bigram/trigram/word/char მრავალფეროვნება). ავტო-შეჩერება 5 თანმიმდევრული ნიმუშის შემდეგ, რომლებიც 30-ზე დაბლაა
კურიკულუმის გახურებაF5 (ბანდიტი ჭამს გამეორებას)პირველი 20K ნაბიჯი შეზღუდულია 7 ჩატ/პროზის წყაროებით; ჰაერზე გადასვლა შემდეგ; repo-docstrings სრულიად გამორიცხული

გარდა ამისა, sample_every შემცირებულია 200-დან 100 ნაბიჯამდე (აუდიტის რიტმი გაორმაგდა), & repo-docs ზღვარი შემცირებულია 0.5-დან 0.3-მდე.


უკუ-ტესტი

შერწყმის კარი უკუ-ტესტირებულია v1-ზე: გააქტიურდებოდა 132K ნაბიჯზე, რაც 3.8 დღის კომპიუტერულ რესურსს დაზოგავდა. კარი მარტო v1-ის ფლანგის კომპიუტერულ რესურსს შეამცირებდა ~30%-ით; სხვა ხუთი შესწორება ხელს უშლის v1-ს ამ კარის გააქტიურებას.


რას არ გააუმჯობესა v2-მ

მონაცემთა დაბინძურება. v2-მ hermes3-* წყაროები "წინასწარ გაწმენდილად" მიიჩნია, რადგან ისინი LLM მასწავლებლისგან მოდიოდა. DEEP_CLEAN_SKIP Makefile-ში გამორიცხავდა hermes3-general, hermes3-creative და hermes3-roleplay-ს make deep-clean-დან. unfirehose-chat აგენტის სისტემურ პრომპტებს მომხმარებლის ნატრებად იჭერდა. ეს ორი დეფექტი მონაცემთა ფენაში ელოდა, მზად იყო გამოჩენისთვის.

გაუმჯობესებების შეხვედრა შეცდომებთან

v2-ის სამი გაუმჯობესება სუფთად უკავშირდება v1-ის თითო შეცდომას. შეათვისე: (a) გრადიენტის შეკუმშვა (max_norm=1.0); (b) LR warmup (2000-ნაბიჯიანი ლინეარული რამპი); (c) AdamW with weight_decay=0.01. თითოეულისთვის დაასახელე v1-ის შეცდომა, რომელსაც ის ეხება და ერთ წინადადებაში მიუთითე, რატომ ებრძვის ეს კონკრეტული გაუმჯობესება იმ შეცდომას.

ნაბიჯი 15K: ორი მონაცემთა დეფექტი გამოჩნდა

რას ხედავდა v2

v2 გაუშვა 2026-04-15. ნაბიჯზე ~15K 200K-დან (7.5% დასრულებული), შექმნილი იყო agent-harness ორნამენტები (○ ●) და article-dominance fallback (a = 26% სიტყვების ნაბიჯზე 14,966; the = 21% ნაბიჯზე 14,798). v2-ის ხუთი სტაბილურობის შეკეთება სწორად მუშაობდა. შეცდომა გადავიდა არქიტექტურიდან მონაცემებზე.


ორი დამოუკიდებელი pipeline დეფექტი


დეფექტი A: unfirehose-chat-მა agent-ის სისტემური პრომპტები დაიჭირა როგორც მომხმარებლის მხრებით. unfirehose-chat აგებს harness სესიის JSONL ფაილებიდან ~/.claude/, ~/.fetch/, ~/.uncloseai/. ingest pipeline-მა მრავალსექციანი agent სისტემური პრომპტები (# Agent X, ## Identity, ## Rules და ა.შ.) გარდაქმნა > user / < assistant წყვილების მომხმარებლის მხრის სლოტში. მოდელმა ისწავლა, რომ 'მომხმარებლები' საუბრობენ მრავალსექციან მარკდაუნში და გაიმეორა ეს ორნამენტები თავის გამოყოფებში.


ნაკლი B: hermes3-* გაიარა ყველა ფილტრი. DEEP_CLEAN_SKIP Makefile-ში გამოკლა hermes3-general, hermes3-creative და hermes3-roleplay make deep-clean-დან ცრუ წინაპირობით, რომ LLM-ის დისტილირებული მონაცემები წინასწარ იყო გაწმენდილი. სრული სკანირება აჩვენა, რომ არსებული ფილტრები, გამოყენებისას, უარყოფდნენ hermes3 ხაზების 87-93%-ს (ძალიან დიდი პარაგრაფები >2000 სიმბოლო, რომლებიც გადაჭარბებდნენ block_size=1024-ს; თარგმანის პასუხები CJK/კირილიცა/არაბულში; დაბალი bigram-დივერსიტეტის გაშვებები).


v2.5 Patch (commit de24332, 2026-04-18)


ორი სტრუქტურული ცვლილება.


ცვლილება 1: has_system_prompt_shape() filter-dataset.c-ში. აღმოაჩენს გაჟონულ სისტემურ მოთხოვნებს ფორმით, არა სიმბოლოების შესაბამისობით. სამი სიგნალი ერთად:

1. 3+ მარკდაუნ ჰედერები ერთ ტურნში = ჩამოშლა.

2. 2+ ჰედერები ტურნის სიგრძით >=500 სიმბოლო = ჩამოშლა.

3. Agent-shard ფირფაგენტის ფრაზები (# Agent , Shadow Clone, Your shard, Read it. Become it, This file defines) ჰედერის ან სიგრძის >=400-თან ერთად = ჩამოშლა.


იზოლაციის წესი: შეამოწმე პირველი მომხმარებლის ტურნი / გამოყოფილზე (სფეისებით, არა ღია / რომელიც ფრაგმენტებს URL-ის მარშრუტებს) ყალბ-დადებითობის თავიდან ასაცილებლად ასისტენტის ლეგიტიმურ მარკდაუნში.


ცვლილება 2: hermes3-* გამოყვანილია DEEP_CLEAN_SKIP-დან. არაფერს ნდობა უფილტრო.


განახლების შემდეგ ჩამოშლის მაჩვენებლები


წყაროშიგნით ხაზებიგარეთ ხაზებიჩამოშლილი
hermes3-general536,85867,39587.7%
hermes3-roleplay35,1912,48193.0%
hermes3-creative14,2581,37390.4%
unfirehose-chat3,8162,65330.5%
chat45,25744,5381.6% (ხაკი)
smoltalk11,81211,8120.0%

ბეისლაინ ფილტრები უკვე იჭერდა hermes3-ის კონტამინაციის 87-93%-ს; DEEP_CLEAN_SKIP იყო ძირითადი დეფექტი. ახალი ფორმის დეტექტორი ამატებს ~0.1% დამატებით უარს საერთო ჯამში, კონცენტრირებული unfirehose-chat-ში, სადაც ის შლის კონკრეტულ agent-shard ლიკებს, რომლებსაც არსებული ფილტრები ვერ იჭერს.


რატომ უმჯობესია ფორმა სიმბოლოსგან

ორნამენტები ევოლუციონირებს. სიმბოლოებზე მომუშავე ფილტრი, რომელიც შლის -ს, არაფერს აკეთებს -ს შესახებ მომდევნო კვირას. ფორმაზე დაფუძნებული ფილტრი (სათაურების რაოდენობა, სიმბოლოების რაოდენობა, ფირფინტის ფრაზების ამოცნობა) გენერალიზდება ორნამენტის ვარიანტებს შორის. პატერნი: კონტამინაციის დეტექცია უნდა იყენებდეს სტრუქტურულ ჰეურისტიკებს.

რატომ გაფილტროთ ფორმით

v2.5 ფილტრები agent-shard გაჟონვებს ფილტრავს SHAPE-ის (სათაურების რაოდენობა, სიგრძე, ფირფინტერის ფრაზები) მეშვეობით და არა CHARACTER-ის (კონკრეტული სიმბოლოების შეხვედრა, როგორიცაა ორნამენტები) მეშვეობით. მიეცით ერთი პრაქტიკული მიზეზი, თუ რატომ არის ეს მნიშვნელოვანი & ერთი კონკრეტული შეცდომის რეჟიმი, რომელსაც character-ზე დაფუძნებული ფილტრი ვერ დაიჭერს.

Bandit Arm მონაცემების გარეშე

v3 გაშვებულია 2026-04-18

იგივე არქიტექტურა & ჰიპერპარამეტრები როგორც v2; გაწმენდილი მონაცემები v2.5 პატჩის შემდეგ. ნულოვანი ორნამენტის გაჟონვები შეწყვეტის აუდიტებში. v3 სუფთად გაიარა ნაბიჯამდე 112K.


ნაბიჯი 112,619: ნიმუშ აუდიტი აღმოაჩენს ნიმუშს

ნიმუშ აუდიტმა გამოავლინა თანმიმდევრული საუბრის ნაბიჯები (ჰაიკუ, კითხვა-პასუხი, დიალოგი), მაგრამ პერიოდულად ფაზები, რომლებიც ფოკუსირებულია ცოდნის "ხელებზე" (gutenberg, repo-docstrings, repo-docs), გამოიწვია კოდის მსგავსი ფრაგმენტები და რეპოზიტორიის ტოკენიზაციის ხმაური. ერთმა ნიმუშმა ნაბიჯზე 112,080 მიაღწია loss 0.13-ს: ანომალურად დაბალი, რაც მიუთითებს შეცნობილი repo-docs ნაწილაკებზე ნაცვლად შეძენილი ჩატის განაწილებისა.


ზომბის ხელი

დიაგნოზი: exclude_sources სწორად ამოღებული იყო repo-docstrings ტრენინგის დაწყებამდე, მაგრამ შენარჩუნებულმა bandit-ის მდგომარეობამ გადაიტანა რჩეული repo-docstrings ხელის წონა 1.546 წინა გაშვებიდან. მდგომარეობის ხელახლა ჩატვირთვამ აღადგინა იგი UCB აუზზე მაშინაც კი, როდესაც .btok არ არსებობდა ნიმუშის აღებისთვის, რამდენაც შექმნა ზომბის "ტანი", რომელმაც გაიშვიათა კვლევის აღრიცხვა.


გაკვეთილი: bandit-ის მდგომარეობის ფაილები (.state.json) მოულოდნელად იცვლება ხელახლა გაშვებებში. კონფიგურაციის გამოკლებები არ წაშლის რჩეულ ხელის მეხსიერებას. საჭიროა ორმაგი დაცვა: cap = 0.0 გამოკლების გვერდით.


პოლური კონფიგურაცია

მხოლოდ კურიკულუმის პერტურბაცია. არქიტექტურა, ოპტიმიზატორის მდგომარეობა, სწავლების სიჩქარის განრიგი და დანაკარგის ისტორია ყველაფერი შენარჩუნებულია step_112600.bin-დან.


წყაროv3 basev3 polish
repo-docscap 0.3გამოკლუჩული (cap 0.0)
repo-docstringsგამოკლუჩულიგამოკლუჩული + cap 0.0
repo-commitscap 0.4cap 0.2
dictionarycap 0.5cap 0.25
gutenbergcap 0.8 / floor 0.3cap 0.7 / floor 0.4
irc-qa-strict--cap 0.3
unweapon--cap 0.3
synthetic-chat--cap 0.4
hermes3-generalfloor 0.5floor 0.7
hermes3-creativefloor 0.4floor 0.55
hermes3-roleplayfloor 0.4floor 0.5
chatfloor 0.4floor 0.6
smoltalkfloor 0.3floor 0.5
oasstfloor 0.3floor 0.5
dolly--floor 0.4
curriculum_warmup_steps200000

პოლური პროტოკოლი

1. SIGUSR1 CUDA-ს იძულებს გააკეთოს შეჩერების წერტილი მომდევნო 100-ნაბიჯიან საზღვარზე.

2. პროქსი ჩერდება.

3. .samples.json & .state.json არქივდება (ნიმუშის ლოგი & ბანდიტის მდგომარეობა შენახულია როგორც ისტორიული ჩანაწერი).

4. .loss.json შენახულია -- კუმულაციური ტრენინგის ისტორია; არასდროს არქივდება.

5. პროქსი გადის ხელახლა დაწყებას. Polish კონფიგურაცია გაგზავნილია.

6. CUDA განაგრძობს step_112600.bin-დან ახალი ბანდიტის მდგომარეობით ახალი ზღვარების & ფლორის ქვეშ.


ლოსის ისტორია გრძელდება უწყვეტად.

რატომ პოლირება, არა ხელახლა დაწყება

ნაბიჯი 112,619 იყო დაგეგმილი ტრენინგის 56%-ზე. გუმმა აირჩია CURRICULUM PERTURBATION (შენარჩუნება ფსვილების, შეცვლა ზღვარების & ფლორის) FULL RESTART-ის ნაცვლად (ხელახლა ინიციალიზაცია ნაბიჯ 0-ზე). მიეცით ორი მიზეზი, თუ რატომ იყო polish-pivot სწორი & ერთი კონკრეტული რისკი, რომელიც ნაბიჯ 0-ზე გადასვლამ გამოიწვია.

რას მოუტანა პოლირებამ

ნიმუში აუდიტი, საათებით Pivot-ის შემდეგ

პოლის პივოტის შემდეგ საათებში, ნიმუშის აუდიტმა დაადასტურა შეთანხმება ორიგინალ ოთხ ANDREA-120M მიზანზე.


ფაქტობრივი გახსენება (ბიოლოგია), ნაბიჯი 112,584, ზარალი 0.30, ppl 1.

> [extinction prompt]

> < black spider montano is alive, carolina parakeet is extinct.

ორი სწორი ფაქტი. გარე შეფასება: 9.5/10.


ფაქტობრივი გახსენება (სიგნალის დამუშავება), ნაბიჯი 112,668, ზარალი 0.74, ppl 2.

> [Fourier transform prompt]

> < ფურიეს ტრანსფორმაცია სიგნალებს დაშლის სიხშირის კომპონენტებად, რაც საშუალებას იძლევა სიგნალის მახასიათებლების ანალიზი და ფილტრაცია სიხშირის არედში.

სკოლის სახელმძღვანელოს ერთვაკეტიანი განმარტება. გარე შეფასება: 9.5/10.


შეზღუდვების მიყოლა (ჰაიკუ), ნაბიჯი 112,248, loss 1.05, ppl 3.

> დაწერე ჰაიკუ წვიმის შესახებ სამი სიტყვით, რომლებიც 'r'-ით იწყება.

> < Rain's rhythmic refrain, Rivulets on the window, Respite from life's pain.


ხელსაწყოს ცოდნა (Python), ნაბიჯი 112,500, loss 1.94, ppl 7.

> როგორ ვიპოვო მოძველებული პაკეტები Python-ის პროექტში?

> < გამოიყენე pip list --outdated შენი პროექტის pip პაკეტების სიის სანახავად მენეჯმენტში...

სწორი ხელსაწყო გამოჩნდა; ფორმულირება არაზუსტია.


ექვსი დომენი 700 ნაბიჯში

ბიოლოგია, სიგნალის დამუშავება, პოეზია, python-ის ხელსაწყოები, საუბრის დიალოგი, ops დიალოგი. ექვსი უკავშირო დომენი 700 ნაბიჯში გვეუბნება, რომ bandit-ი და მოდელი ერთად მუშაობენ. დომენების სიგანე იუკვეა კონვერგენციის სიგნალი.


გარე შეფასება

დამოუკიდებელმა მიმოხილველმა შეცდომების ნიმუშები შეაფასა როგორც „მყარი 120M პარამეტრის მოდელისთვის – შთამბეჭდავი თანმიმდევრულობა და ცოდნის შენარჩუნება ამ მასშტაბზე“, სადაც კაროლინის პაპაგაის და ფურიეს გარდაქმნის ნიმუშები 9.5/10-ით და „ცოდნის ამოცანებზე წონას უმძიმებს თავისი წონის ზემოთ“ შეფასდა.


რას სწავლობდა თითოეული ფაზა


v1 სწავლობდა: ხუთი კომპაუნდირებული შეცდომა არღვევს ტრენინგს. იზოლირებულად არცერთი გამოსწორება არ ხსნის; ყველა ხუთი ერთდროულად უნდა შესრულდეს.


v2 სწავლობდა: არქიტექტურული გამოსწორებები აუცილებელია, მაგრამ არასაკმარისი. მონაცემთა ფენა შეუძლია მათი უსუნო განადგურება.


v2.5-მა ასწავლა: ფილტრი კონტამინაციის მიხედვით ფორმით, არა ხასიათით. შაბლონები სტაბილურია; სიმბოლოები ევოლუციონირებს.


v3 ბაზა-მა ასწავლა: ბანდიტის შტატი გადაადგილდება რესტარტებს შორის მოულოდნელ გზებით. მხოლოდ გამოკლებები არ კმარა; საჭიროა 0.0 ზღვარი და დამატებითი უსაფრთხოება.


v3 გაპრიალება-მა ასწავლა: როდესაც შეცდომა პოლიტიკაშია და მოდელი ჯანმრთელია, შეცვალე პოლიტიკა. შეინარჩუნე წონები. შეინარჩუნე ზარალის ისტორია. წინ წახარი.


ერთი ჭეშმარიტება

კონვერგენცია ერთი მოვლენა არ არის; ეს შეცდომების ჯაჭვია. თითოეული ფაზა ხსნიდა ერთ დეფექტს, ასწორებდა მას და ხსნიდა შემდეგს. ANDREA-120M კითხვისას 9.5/10-ს იღებს ნაბიჯზე 112,584, რადგან v1, v2, v2.5, v3 base და v3 polish თითოეულმა შეასრულა თავისი საქმე.

რომელ ფაზამ სწავლა ყველაზე მძიმე გაკვეთილი

ხუთი ფაზიდან (v1, v2, v2.5, v3 base, v3 polish), რომელს იტყოდი, რომ სწავლა ყველაზე უფრო გადასატანი საინჟინრო გაკვეთილი? აირჩიე ერთი. გაკვეთილი შენს სიტყვებით გამოთქვი და მიეცი 2-3 წინადადება, რომლითაც ახსენებ, რატომ ზოგადდება ეს გაკვეთილი ენობრივი მოდელის სწავლის მიღმა.