Post-traininggel javítaná a nagy léptékű kódkeresést az Applied Compute

Az Applied Compute és a turbopuffer egy nyílt súlyú modellt tanított meg nagy kódkorpuszok keresésére. A megközelítés a hagyományos fájlrendszeres eszközöket turbopufferben tárolt keresési indexekkel egészíti ki, hogy csökkentse a keresés költségét és késleltetését.
- A Qwen3.6-35B-A3B modellt nagy léptékű kódkeresésre tanították.
- A tanítási korpusz mintegy 9000 nyílt forráskódú GitHub-adattárból állt.
- A turbopuffer hibrid indexe BM25-keresést és vektoros beágyazásokat használ.
- A turbopufferes ügynök 57 százalékkal javult a szűk feladatban.
- A nyitott feladatban a turbopufferes változat csúcsteljesítménye 211 százalékkal nőtt.
A grep nagy kódbázisoknál már kevés lehet
A határterületi modellek a kódkeresési feladatokban gyakran olyan hagyományos eszközöket használnak, mint a fájlrendszer, az ls és a grep. Kisebb korpuszoknál ez elkerülheti egy külön keresési index kiépítésének összetettségét. Nagy kódkorpuszok esetén azonban a lassú keresések és a magas következtetési költségek eltüntethetik ezt az előnyt.
Az Applied Compute és a turbopuffer erre két részből álló megoldást mutatott be. Egy kisebb, specializált keresési modellt utólagos tanítással keresési eszközök használatára tanítottak, miközben a kódot külön turbopuffer-indexben tárolták. A cégek szerint a nyílt súlyú modellek keresési feladatokban alapból gyengébben teljesíthetnek, de megfelelő utólagos tanítással alacsonyabb költség és késleltetés mellett is jó keresési minőséget érhetnek el.
Kilencezer GitHub-adattárból építettek tanítási korpuszt
A kutatók mintegy 9000, nyílt forráskódú GitHub-adattárat indexeltek. A gyűjtemény több programozási nyelvet és projektfajtát tartalmazott, a tanítási feladatokhoz pedig minden alkalommal véletlenszerű részhalmazokat rendeltek a célként megjelölt kódbázisokkal együtt.
A Qwen3.6-35B-A3B modellt megerősítéses tanulási környezetben, GRPO-val tanították. Kétféle feladatot használtak. A szűk feladatban legfeljebb 1000 adattár közül kellett megtalálni egy anonimizált céladattárat, majd a kódból pontos választ adni egy konkrét kérdésre. A rendszer jutalmazása a válasz helyességét, a kódhivatkozások pontosságát és a hatékonyságot is figyelembe vette.
A nyitott feladatban legfeljebb 100 adattár között kellett egy meghatározott kódmintára, például a látogató vagy kettős diszpécselés mintájára példákat találni. A modellnek a megtalált adattárakat kódrészletekkel kellett igazolnia. A pontozás a pontosságra összpontosított, így a kevés találat csökkentette a lefedettséget, a téves adattárak felsorolása pedig rontotta az eredményt.
A turbopuffer indexe többféle keresést kombinál
A modell egy csak olvasható homokozóban dolgozott. Az alapértelmezett eszköztár a fájlok olvasását, a rekurzív reguláris kifejezéses keresést, a fájlminták szerinti keresést és a könyvtárak listázását tette lehetővé.
Ehhez adták hozzá a turbopuffer előre elkészített indexein végzett hibrid keresést. A tárakat a tree-sitter segítségével, absztrakt szintaxisfa alapján darabolták fel. Minden kódrészlethez BM25 kulcsszóindex és az open-source Octen-Embedding-8B modell által készített sűrű vektoros beágyazás készült. A fájlútvonalat és a sorszámokat metaadatként tárolták.
A keresés során a turbopuffer jelölte ki a jelölteket, majd az open-source Qwen3 Reranker 4B rangsorolta őket. A modell nem közvetlenül a kérdést ágyazta be. Ehelyett egy feltételezett kódrészletet írt, amely azt próbálta leírni, hogyan nézhet ki a válasz a forrásban. Ezt a szöveget BM25-kereséssel és vektoros kereséssel együtt használták, majd a metaadatok alapján a modell közvetlenül a forrásfájlhoz ugorhatott.
A tanítás mindkét keresési módban javított az eredményeken
A kísérletben egy bash-alapú, illetve egy bash és turbopuffer keresést kombináló módot hasonlítottak össze. A tanítás mindkét esetben javította a modell keresési teljesítményét.
A szűk feladatban a csak bash-eszközöket használó ügynök helyesség és hivatkozási alátámasztás alapján 38 százalékkal javult a tanítás során. A turbopufferes keresést használó változat javulása 57 százalék volt. A nyitott feladatban a csúcson mért pontosság a bash-only változatnál 182, a turbopufferes ügynöknél 211 százalékkal nőtt.
A beszámoló szerint a turbopufferes eszközökhöz hozzáférő modell a tanítás végén a szűk feladatban 16, a nyitott feladatban 25 százalékponttal előrébb járt. Ez a felállás olyan fejlesztőknek és kutatóknak lehet fontos, akik nagy, több kódbázisból álló korpuszokban szeretnének pontos forrásrészleteket megtalálni, miközben a modell válaszainak hosszát és a keresési lépések számát is korlátoznák.
turbopuffer: Post-training open-weight models for large-scale code search


