Kutatás

Mesterséges intelligenciával generált szöveg

SWE-Serve feltárja a helyi tesztek és az éles modellkiszolgálás közti hiányt

A SWE-Serve egy új benchmark, amely a SGLang nyílt forráskódú inferencia-kiszolgáló változtatásain alapuló 53 feladattal méri azt a különbséget, hogy egy AI-kódoló ügynök által készített javítás helyi ellenőrzéseken átmegy-e, de hibát okoz-e, amikor valódi modellt töltenek be és éles kéréseket szolgálnak ki.

SWE-Serve feltárja a helyi tesztek és az éles modellkiszolgálás közti hiányt

A SWE-Serve egy új, nyílt benchmark, amely azt méri, hogy a kódmódosítások hogyan viselkednek az inference-serving teljes útján — nem csak a helyi vagy repository-szintű teszteken. A projektet a SGLang csapatának részvételével alakították ki; a benchmark 83 egyesített SGLang pull request alapján 53 végrehajtható feladatot hoz létre, amelyek a valós modellkiszolgálás különböző aspektusait fedik le.

Mire fókuszál a SWE-Serve

Míg a meglévő repository-szintű benchmarkok általában általános szoftvermérnöki feladatokat mérnek, és az inference-benchmarkok inkább kernel-generálásra vagy teljesítményre koncentrálnak, a SWE-Serve a teljes inference-serving veremre terjeszti ki a vizsgálatot. A tesztek között szerepelnek model- és backend-engedélyezés, dekódolási stratégia, cache és runtime állapot, időzítés/scheduling, serving API-k és futásidő-helyesség, valamint teljesítménykritériumok.

A 53 feladat hat mérnöki családba sorolható:

  • Spekulatív és fejlett dekódolás: 14 feladat
  • Modell- és backend-engedélyezés: 12 feladat
  • Kernel-ek, kvantálás és teljesítmény: 8 feladat
  • Serving API-k és futásidő-helyesség: 8 feladat
  • Cache és futásidő-állapot kezelése: 7 feladat
  • Elosztott végrehajtás és scheduling: 4 feladat

A feladatok közül 12 CPU-n fut, 41 egyetlen NVIDIA H100-at használ. Ez az első kiadás nem vizsgál több-inferencia-motoros, több-GPU-s vagy több-csomópontos futtatást.

Feladatok és verifikáció

A 53 feladat forrása 83 egyesített SGLang pull request: 37 feladat egyetlen upstream PR-ből ered, a többi 2–6 kapcsolódó változtatás kombinációja. Minden feladat egy utasítást és egy konténerizált SGLang checkoutot ad a célváltoztatás előtti állapotból. A patch akkor megy át, ha a feladat rejtett verifikátora a deklarált hardveren megfelel; a megoldást soha nem hasonlítják a referenciamegoldáshoz.

A referencia megoldások nem kis módosítások: a medián referencia-modosítás 553 sort változtat meg hét fájlban. Egy tipikus verifikátor körülbelül hét tesztet tartalmaz az új viselkedésre és 10 regressziós tesztet. 19 feladat valódi szervert indít, és 3 feladatnál kalibrált teljesítményszintet követelnek meg egy H100-on.

Egy feladat példája

Az egyik feladat azt kéri, hogy a patch adjon szerelési támogatást a Qwen3.5 sűrű (dense) és mixture-of-experts (MoE) modellekhez: a kiindulási állapotban nincs Qwen3.5-támogatás, a megoldásnak mind a 0.8B dense, mind a 35B-A3B MoE modellnek be kell töltenie és a szokásos SGLang interfészeken keresztül kiszolgálnia egy H100-on. A verifikátor ellenőrzi a modellregisztrációt, konfigurációt és súlybetöltést, képes bemeneteket (kép, videó), OpenAI-kompatibilis kéréseket, batchelt generálást, log-probabilitásokat és az MoE routolt expertjeinek működését.

Mit találnak meg a live-serving tesztek

Néhány hiba csak akkor mutatkozik meg, ha valódi szerver indul és tényleges modellt tölt be. A SGLang csapat javaslataira 19 olyan feladat szerepel a benchmarkban, amelyek elindítják a szükséges modellt és a patchet egy élő serving interfészen keresztül ellenőrzik.

E feladatok esetén ugyanannak a 627 patchnek a teljes verifikátorral mért áthaladási aránya 45.9% volt. Ha a live-serving teszteket kizárjuk, ez az arány 69.4%-ra emelkedik. Másként fogalmazva, 147 patch vált sikertelenségről sikerre akkor, ha a live-serving ellenőrzéseket nem vették figyelembe — tehát nagyjából minden harmadik, a többi teszten átmenő javítás élő szerveren megbukik.

A 19 feladat összesen 276 live-serving tesztet tartalmaz; ezek közül 242-t a SGLangból származtattak vagy adaptáltak, a fennmaradó 34 olyan viselkedést fed le, amelyet az upstream PR-ek nem teszteltek.

Például a Gemma 4 MoE feladatnál a 33 vizsgált patch közül 16 megfelelt minden egyéb ellenőrzésnek, de legalább egy live-serving teszten megbukott; ezek a tesztek a modellbetöltést, az expert routingot, a szöveg- és kép-kiszolgálást, valamint a batchelt generálást (helyes sorrenddel és log-probabilitásokkal) fedik le.

Fontos megjegyezni, hogy egy SWE-Serve "pass" szűk értelemben vett definíció: a patch megfelel a benchmark verifikátorának. Ezek a tesztek nem helyettesítik a SGLang upstream review folyamatát, és nem jelentenek deploy- vagy merge-engedélyt a SGLang karbantartói részéről.

Hol gyengébbek az ügynökök?

A benchmark a kéréstől a kimenetig vezető út négy futásidős tartományára osztotta a problémákat: kéréskezelés és I/O; scheduling és kérés-életciklus; modellvégrehajtás; valamint KV-cache és futásidő-erőforrás-kezelés.

A legjobb beállításokat figyelembe véve a 26, egyetlen futásidős tartományra korlátozott feladat áthaladási aránya 69.0% volt. A 27, több futásidő-tartományt érintő feladat áthaladási aránya 47.7% — 21.3 százalékponttal alacsonyabb. Minden modellbeállításnál ugyanezt a mintázatot találták.

Modell- és beállításfüggő teljesítmény

A benchmarkon tesztelt 11 modell és 31 modell-erkölcsi (effort) konfiguráció között nagy a szórás: a best-configuration pass@1 átlagok 34.6%-tól 75.5%-ig terjednek. A vizsgálatokat a mini-swe-agent nevű, csupán Bash-t használó minimális szoftvermérnöki ügynökkel végezték zárt körülmények között. Két Claude és három GPT-5.6 modell öt erőfeszítési szinten futott; a többi hat modell egy-egy beállítással.

Minden konfigurációt háromszor futtattak le a teljes 53-feladatos benchmarkon. Egy ügynökös munkamenet limitje 210 perc és 350 lépés volt. Egy feladat akkor számít megoldottnak, ha az adott hardveren a patch átmegy a teljes verifikátoron.

A legjobban teljesítő konfigurációk között Claude Opus 5 (max) és GPT-5.6 Sol (max) érte el a legmagasabb pass@1 értéket, egyaránt körülbelül 75% körül. Ugyanakkor a költség és a futási idő nem korrelál egyértelműen a teljesítménnyel: az azonos 64%-os átlagot elérő konfigurációk például 0.95 és 7.24 dollár közötti költséggel és 25.5–99.9 perc közötti átlagos falidővel jártak.

Senki sem vezet minden mérnöki családban: egy modell sem dominálta az összes feladatkategóriát, és hasonló összpontszámú konfigurációk eltérő erősségeket mutatnak.

Benchmark-validáció és integritás

A SWE-Serve feladatkiválasztása alapos volt: 786 potenciális forrást szűrtek, 156 végrehajtható jelöltet építettek, és végül 53 feladatot fogadtak el. Minden feladatot a megadott hardveren teszteltek; az eredeti (módosítatlan) repónak meg kellett buknia az új viselkedés tesztjein, miközben a regressziós teszteket továbbra is teljesítenie kellett. Egy referencia patchnek át kellett mennie a teljes verifikáción.

A leaderboard mögötti 1,749 próbát auditálták; 196 tiltott lekérési kísérletet blokkoltak, és egy sem volt sikeres. A jelentés leírja a részletes kvalifikációs és értékelési integritási folyamatot.

Hol futtatható és miért számít ez

A SWE-Serve tartalmazza a feladatkörnyezeteket, verifikátorokat és baseline beállításokat, és mérhetővé teszi azt a különbséget, hogy mi történik, ha egy patch "átmegy" a helyi teszteken, de nem működik a teljes serving útvonalon.

A kutatók és mérnökök megtekinthetik a SWE-Serve leaderboardot és a GitHub-tárhelyet, hogy saját kódügynökeiket SGLang inference-mérnöki feladatokon értékeljék.