11%-kal gyorsabb GPT-2 tréninget hoz Karpathy új 'autoresearch' rendszere
Andrej Karpathy március 7-én kiadott 'autoresearch' repója, amely a MIT licenc alatt fut, közel 90 ezer GitHub csillagot gyűjtött be napok alatt. A rendszer 11%-kal csökkenti a GPT-2 betanítási idejét.

A legtöbben még mindig úgy használják az AI-t, mint egy 2015-ös keresőmezőt: beírnak valamit, elolvassák, majd újra beírnak. Egy új minta azonban ezt a manuális oda-vissza kommunikációt egy ciklusra cseréli. Az úgynevezett loop engineering lényege, hogy a modell a cél eléréséig önállóan iterál: tervez, cselekszik, ellenőrzi az eredményt, majd ismétli a folyamatot. A cél egyszeri meghatározása után a ciklus kezeli az iterációkat, és csak akkor éri meg a költséget, ha a munka mérhető.
Minden megbízható AI-ciklus három fő komponensből áll. Az első az ellenőr (verifier), amely minden próbálkozást pontoz, legyen az egy teszt, egy mérőszám vagy egy build. Enélkül az ügynök csak ismételné önmagát. A második a státusz (state), amely rögzíti, mi volt sikeres, mi sikertelen, és mi maradt hátra, így a következő futás nem a nulláról indul. A harmadik a leállási feltétel (stop condition), amely megakadályozza a költségek elszállását: a ciklus akkor áll le, ha a cél teljesült, vagy egy előre meghatározott kísérletszámot elértek.
Kapcsolódó: autonóm ML ügynök
Andrej Karpathy március 7-én kiadott 'autoresearch' repója, amely a MIT licenc alatt fut, közel 90 ezer GitHub csillagot gyűjtött be napok alatt. A rendszer 11%-kal csökkenti a GPT-2 betanítási idejét. A 'Karpathy Loop' néven is ismert rendszerben az ügynök csak a GPT modell betanítási kódját, a Muon és AdamW optimalizálókat, valamint a tréning ciklust szerkesztheti, de nem nyúlhat az értékelő segédprogramokhoz. Ez biztosítja, hogy az ügynök ne könnyítse meg a tesztet, hanem valóban javítsa a modellt. Az emberi szerep a program.md fájlban írt instrukciók betartatására korlátozódik. Minden ciklus egy kísérletet futtat, majd a 'val_bpb' (validation bits per byte) metrika alapján dönt a változtatás megtartásáról vagy visszavonásáról. Ez a keret nagyjából 12 kísérletet tesz lehetővé óránként, így éjszaka körülbelül 100 fut le.
Kapcsolódó: önfejlesztő adatgyártó
A rendszer hatásai
A konkrét eredmények meggyőzőek. Karpathy a nanochat GPT-2 kódján futtatta a rendszert két napig, mintegy 700 kísérletet végezve, ebből 20 valódi javítást tartott meg. Ezek a módosítások 11%-kal csökkentették a GPT-2 betanítási idejét, 2,02 óráról 1,80 órára. Az egyik felfedezés egy hiányzó skalár szorzó volt a QK-Norm implementációban, ami túl diffúzvá tette a figyelmet a fejek között. Míg az ember nagyjából tucatnyi kísérlet után elfárad, a ciklus nem. A Shopify vezérigazgatója, Tobi Lütke is futtatta a 'autoresearch'-t egy belső modellen, és 37 kísérlet után 19%-os javulást jelentett. Karpathy szerint, ha van mérhető célunk, mi magunk vagyunk a szűk keresztmetszet.
Kapcsolódó: kódíró ügynökök
Bilevel Autoresearch: Egy ciklus a ciklus tetején
A kutatók továbbgondolták a koncepciót: ha a 'autoresearch' kutatás, akkor lehet-e a 'autoresearch'-t is autoresearch-elni? A 'Bilevel Autoresearch: Meta-Autoresearching Itself' című tanulmány erre igent mond. A belső ciklus megegyezik Karpathy eredeti megközelítésével: javasol, betanít, értékel, megtart vagy elvet. A külső ciklus pedig figyeli a belső ciklust, elemzi annak kódját és nyomkövetéseit, azonosítva, hol akad el a keresés. Ezután új Python mechanizmusokat ír, futásidőben injektálja azokat, és újra futtatja a belső ciklust. Ez a megközelítés Karpathy GPT előbetanítási benchmarkján ötször nagyobb csökkenést ért el a 'val_bpb' metrikában, mint az egyszintű ciklus (-0,045 vs. -0,009). Érdekesség, hogy mindkét ciklus ugyanazt az LLM-et használta, így a nyereség az architektúrának, nem egy okosabb modellnek köszönhető.
Kapcsolódó: AutoTTS tokenhasználat
A gyakorlatban a rendszer három szintre oszlik: a 1. szint futtatja az alapciklust, a 1.5 szint ötévente finomhangolja a keresési paramétereket, a 2. szint pedig egy négykörös szekvenciában generál mechanizmusokat. A tesztekhez egy RTX 5090 32GB-os kártyát és 300 másodperces keretet használtak. A belső ciklus ugyanis gyakran ugyanazokhoz az alapelvekhez tért vissza, még akkor is, ha azok már nem működtek. A külső ciklus ezeket a mintákat törte meg ismeretlen feltárások kikényszerítésével.
Kapcsolódó: AI és lustaság
Ezek az ötletek jól alkalmazhatók a modellfejlesztésen túl is. Modellmunka esetén a ciklus hiperparamétereket keres, amíg a 'val_bpb' csökken. Szoftverfejlesztésnél refaktorál, amíg a tesztek, típusok és a build sikeresek. Tartalomgenerálásnál átír, amíg minden értékelési pontszám eléri a küszöböt. Adatfeldolgozásnál egy folyamat-t hangol, amíg a sémaellenőrzések teljesülnek. Mindegyik esetben közös vonás egy automatikus kapu, amely elutasíthatja a rossz munkát.