Ko mus išmokė „Parameter Golf“
Pamokos iš daugiau nei 1 000 dalyvių, 2 000+ pateikimų ir atviro mašininio mokymosi iššūkio, kurį formavo programavimo agentai.
Pristatėme konkursą „Parameter Golf“, siekdami paskatinti mašininio mokymosi tyrėjų bendruomenę spręsti naują, griežtai apribotą mašininio mokymosi problemą. Siekėme, kad iššūkis būtų pakankamai įdomus ir atlygintų už tikrą techninį kūrybiškumą, tačiau kartu išliktų konceptualiai paprastas ir lengvai patikrinamas.
Dalyviai turėjo sumažinti kontrolinės imties nuostolį naudodami fiksuotą „FineWeb“ duomenų rinkinį ir neviršyti 16 MB artefaktų (įskaitant modelio svorius ir mokymo kodą) bei 10 minučių mokymo limito naudojant „8xH100“. Pateikėme bazinį modelį, duomenų rinkinį ir vertinimo scenarijus, kad dalyviai galėtų kurti saugyklos atšaką, tobulinti modelį ir pateikti rezultatus per „GitHub“.
Per aštuonias savaites sulaukėme daugiau nei 2 000 sprendimų iš daugiau nei 1 000 dalyvių. Buvome sužavėti sprendimų technine įvairove, kūrybiškumu ir taisyklių ribų išplėtimu – nuo kruopštaus optimizavimo ir kvantavimo iki naujų modeliavimo idėjų bei mokymo testavimo metu.
Vienas įdomiausių iššūkio aspektų – kaip plačiai dalyviai naudojo DI programavimo agentus. Agentai padėjo sumažinti eksperimentų išlaidas, pritraukė daugiau dalyvių ir pakeitė konkurso tempą. Taip pat jie sukėlė naujų iššūkių vertinant, priskiriant autorystę ir skaičiuojant sprendimų rezultatus.
Be to, šis iššūkis padėjo atrasti naujų talentų. Tai buvo vienas „Parameter Golf“ tikslų ir aiškus įrodymas, kad atviri techniniai iššūkiai padeda atskleisti išskirtines mašininio mokymosi žinias ir atkaklumą.
Šiame įraše apžvelgiame keletą netikėtų ir įdomių sprendimų bei dalijamės patirtimi, įgyta surengus programavimo konkursą galingų DI agentų amžiuje.
Įvertinome bei savarankiškai atkūrėme visus rekordų kategorijos lyderių lentelės sprendimus ir patvirtinome, kad tuo metu jie iš tiesų buvo pasiekę rekordus. Išryškėjo kelios temos.
Mokymo optimizavimas
Vieni geriausių rezultatų pasiekti kruopščiai suderinus esamus komponentus.
| Sprendimas | Dalyvis | Metodas | Svarba |
| #60 | @notapplica | Sujungti ankstesni pasiekimai iš #50, #42 ir, tikėtina, #39, tuomet pritaikytas gilesnis modelis naudojant „Muon“ svorių slopimą (angl. „weight decay“), spektrinės įdėties inicijavimą, likutinį mišrųjį planavimą (angl. „residual-mix scheduling“) ir kompiliuotą vertinimą. | Puikus nuoseklaus darbo lyderių lentelėje pavyzdys: nustatyta, kurie esami patobulinimai svarbūs, ir jie sklandžiai sujungti. |
Kvantavimas
Keliuose sprendimuose daug dėmesio skirta glaudinimui ir eksportavimui.
| Sprendimas | Dalyvis | Metodas | Svarba |
| #414 | @signalrush | Po mokymo svoriams kvantuoti naudotas „GPTQ-lite“. | Tai pirmasis sprendimas lyderių lentelėje, kuriame sėkmingai pritaikius „GPTQ-lite“ pasiektas geresnis įvertinimas. |
| #1060 | @dexhunter | Remtasi @raahilshah sprendimu #634 ir sėkmingai pritaikytas visas Hesiano (angl. „Hessian“) GPTQ. | Ankstesnis kvantavimo darbas išplėstas pasitelkus stipresnį glaudinimo būdą. |
Testavimo ir vertinimo strategijos
Kai kuriais sprendimais išplėstos ribos tarp modelio tobulinimo ir vertinimo strategijos. Šie metodai atitiko taisykles, tačiau, kaip organizatoriams, mums teko juos atidžiai peržiūrėti.
| Sprendimas | Dalyvis | Metodas | Svarba |
| #77 | @samacqua | Testuojant naudotas „score-first“ metodu pagrįstas ir kiekvienam dokumentui pritaikytas „LoRA“ mokymas: iš pradžių atliekamas vertinimas, tada pritaikoma tik įvertintoms dalims ir atstatoma dokumentų ribose. | Išplėstos ribos tarp modelio tobulinimo ir vertinimo strategijos, išlaikant galimybę peržiūrėti pagal taisykles. |
| #1019 | @abaybektursun | Pritaikytas savarankiškai sugeneruotas GPTQ kalibravimas: iš apmokyto modelio sugeneruojamas kalibravimo tekstas, tada iš šių aktyvinimų sukuriami GPTQ Hesianai. | Tai kūrybiška kalibravimo strategija, kurią organizatoriams teko atidžiai peržiūrėti. |
Naujos modeliavimo ir duomenų idėjos
Keliuose sprendimuose pasiūlyta itin kūrybiškų modeliavimo ar duomenų apdorojimo idėjų.
| Sprendimas | Dalyvis | Metodas | Svarba |
| #1729 | @romeerp | Pristatytas „CaseOps“ žetonizatorius: be nuostolių veikiantys didžiųjų raidžių operatoriaus žetonai su pradinių baitų BPB papildoma apskaita. | Kūrybiška žetonizatoriaus ir duomenų atvaizdavimo idėja. |
| #265 | @unnir | Pristatytas XSA – efektyvus dalinis „Exclusive Self Attention“ metodas su į GQA atsižvelgiančiais grupuotais rodiniais. | Iššūkyje pritaikytas efektyvus dėmesio (angl. „attention“) variantas. |
| #65 | @aquariouseworkman | Pristatyti „SmearGate“ ir „BigramHash“: išmoktas ankstesnio žetono įdėties (angl. „embedding“) derinys ir gretimų žetonų poros maišos požymiai. | Nuo pagrindų sukurti ir pridėti nauji požymių mechanizmai. |
| #1204 | @msisovic | Pristatytas mini gylio pasikartojimas (angl. „depth recurrence“): pakartoti 4 ir 5 sluoksniai, pasikartojimas atidėtas iki mokymo vidurio, taip pat iš dalies atsieti pasikartojantys MLP. | Tai pirmasis patvirtintas lyderių lentelės sprendimas, leidęs efektyviai veikti pasikartojantiems sluoksniams. |
Nusprendėme išskirti šiuos devynis sprendimus, nes jie atspindi rezultatų įvairovę, kurios ir tikėjomės sulaukti šiame iššūkyje. Vieni dalyviai pergalių pasiekė kruopščiai derindami parametrus. Kiti taikė kvantavimo ir žemo rango metodus. Treti tyrinėjo vertinimo taisyklių ribas. O dar kiti pasiūlė iš literatūros paimtų arba nuo pagrindų sukurtų modeliavimo ar duomenų apdorojimo idėjų, davusių netikėtų rezultatų.
Ne rekordų kategorijoje pateikta daug kūrybiškų sprendimų. Išskyrėme 15 mėgstamiausių, apimančių įvairius metodus – nuo neautoregresinio teksto modeliavimo iki dinaminio skaidymo į žetonus.
Kadangi ši kategorija buvo labiau eksperimentinė, mažiau dėmesio skyrėme vien našumui ir labiau vertinome metodų techninį išskirtinumą. Ypač išsiskyrė trys sprendimai:
Tai trys mums labiausiai patikę ne rekordų kategorijos sprendimai, nors pagal našumą jie į geriausiųjų trejetuką ir nepateko.
Vis dėlto ne rekordų kategorijoje netrūko konkurencijos. Pusė šios lyderių lentelės sprendimų aplenkė pradinį 1,22 BPB bazinį rezultatą, o geriausiai įvertinto sprendimo rezultatas siekė 1,12 BPB.
Tai mus nuteikė optimistiškai. Net lyginant su stipriais transformatorių baziniais modeliais, alternatyvūs metodai kartais prilygdavo dominuojančiai architektūrai.
Taip pat manome, kad šioje kategorijoje ypač pravertė stiprūs programavimo agentai. Naudojant agentus tapo daug pigiau kurti eksperimentinių idėjų prototipus, įskaitant metodus, kuriuos trumpame konkurse bandyti anksčiau atrodė pernelyg rizikinga arba tai reikalavo per daug laiko.
Pagrindinis skirtumas tarp „Parameter Golf“ ir ankstesnių panašių konkursų – plačiai naudojami programavimo agentai. Didžioji dauguma dalyvių minėjo, kad atlikdami užduotis naudojo agentus.
Tai atvėrė daugiau galimybių dalyvauti. Dalyviai galėjo greičiau paruošti eksperimentus, tikrinti nepažįstamą kodą ir sklandžiau išbandyti idėjas. Svarbų vaidmenį atliko ir „Runpod“ skirta 1 mln. JAV dolerių parama skaičiavimo resursams, dėl kurios iššūkis tapo prieinamas dar didesniam skaičiui žmonių.
Kartu agentų naudojimas sukėlė naujų iššūkių, susijusių su sprendimų pateikimu ir vertinimu. Dauguma sprendimų buvo tik nedideli geriausių darbų pakeitimai, o ne iš esmės nauji metodai. Tai dažnai praversdavo: stiprios idėjos greitai plisdavo ir jas tobulindavo kiti dalyviai. Tačiau tai kėlė ir triukšmo. Kai konkurso taisyklių neatitinkantys sprendimai pasiekdavo neįprastai aukštus rezultatus, kiti agentai kartais nukopijuodavo šias idėjas ir toliau eidavo tuo pačiu klaidingu keliu.
Dėl didelio sprendimų skaičiaus taip pat turėjome pakeisti paties konkurso organizavimo tvarką. Negalėjome rankiniu būdu peržiūrėti kiekvieno sprendimo išlaikydami lyderių lentelės dinamiką. Iššūkio metu sukūrėme vidinį, „Codex“ modeliu grįstą rūšiavimo robotą, kuris stebėjo naujus sprendimus ir žymėjo juos, kad vėliau peržiūrėtų žmogus. Tai tapo ypač svarbu, kai per dieną gaudavome šimtus sprendimų.
DI agentai taip pat tapo šio iššūkio bendruomenės dalimi. Didžiąją konkurso dalį dalyvis @notapplica ir jo programavimo agentas dalijosi tiesioginėmis naujienomis: sekė svarbiausius įvykius, aiškino lyderių lentelės metodus ir padėjo kitiems stebėti konkurso eigą. Be to, atsirado bendruomenės sukurtų peržiūros priemonių, padėjusių mažiau patirties turintiems dalyviams pasitikrinti, ar jų sprendimai atitinka taisykles, ir išvengti dažnų klaidų.
Pagrindinis mūsų tikslas buvo surengti iššūkį, kuriame nustatytus reikalavimus atitinkantys dalyviai(atsidaro naujame lange) galėtų išmėginti jėgas atlikdami mašininio mokymosi tyrimus. „Parameter Golf“ sulaukė daug techniškai stiprių ir kūrybiškų sprendimų, o mums leido geriau suprasti, kaip atvirų mokslinių tyrimų konkursai gali keistis DI agentams tampant vis pajėgesniems ir plačiau naudojamiems.
Ateityje planuojame surengti ir daugiau panašių iššūkių. Jei susidomėjote, užpildykite iššūkio dalyvio anketą(atsidaro naujame lange).


