Kuidas GPT‑5.6 ühendab tipptasemel nutikuse ja tõhususe
Kujundasime GPT‑5.6 mudelipere nii, et see tasakaalustaks võimekust ja kulu kõigi ülesannete puhul, milleks inimesed meie mudeleid kasutavad. Meie lipulaeva mudel GPT‑5.6 Sol edestab Max-arutlusega Claude Fable 5 mudelit indeksis Artificial Analysis Coding Agent Index, makstes vähem kui poole selle hinnast. Terra saavutab nutikuse võrdlustestides GPT‑5.5-ga võrdväärseid tulemusi poole odavamalt ning Luna on meie kiireim ja soodsaim mudel, mille hind on Solist 80% madalam. Sellise tõhususe saavutamiseks on meie teadus- ja tehnikameeskonnad optimeerinud märkimisväärselt tehnilise pinu kõiki põhikihte. Need täiustused hõlmavad meie mudeleid, inferentsi ehk seda, kuidas käitame väljundi loomiseks mudeleid, ning agentide täitmiskeskkonda, mida kasutavad nii Codex kui ka ChatGPT Work.
Viimase nelja aasta jooksul oleme laiendanud oma mudelite kasutust miljardi aktiivse kasutaja ja enam kui kahe miljoni ettevõtteni. Tõhusus on olnud keskne, et nutikuse eelised jõuaksid kõigini. Meie missioon on tagada, et üldine tehisintellekt tooks kasu kogu inimkonnale. Oleme aastate jooksul pidevalt otsinud kogu tehnilises pinus uusi optimeerimisvõimalusi, et pakkuda kulu ja nutikuse kõvera igas punktis parima jõudlusega mudeleid. GPT‑5.6‑ga saavutasime seni parima nutikuse tokeni kohta: mudel on treenitud tegema iga tokeniga rohkem tööd. Treenimisel optimeerime nii ülesande edukat täitmist kui ka tõhusust, suunates mudelit läbima ülesannet otsesemat teed pidi.
Selles postituses vaatame mudelitest kaugemale ja selgitame, kuidas suurendasime tõhusust tehnilise pinu kahes teises põhiosas: 1) inferentsis, kus optimeerisime muu hulgas koormuse tasakaalustamist, spekulatiivset dekodeerimist, vahemällu salvestamist ja tuumi, et saada sama riistvaraga rohkem väljundit; ning 2) meie agentide täitmiskeskkonnas, kus täiustasime konteksti paisumise, tööriistakasutuse ja korduva töö haldamist. Samuti kirjeldame GPT‑5.6 Soli rolli mitme sellise täiustuse iseseisval saavutamisel. Üksik täiustus võib tunduda väike, kuid koos võimaldavad need saavutused pakkuda tipptasemel nutikust ja tõhusust.
Piiratud arvutusvõimsusega maailmas, kus nõudlus mudelite järele kasvab võimsusest kiiremini, on tõhusus iga süsteemi ülesehituse keskmes. See kehtib eriti meie inferentsipinu kohta, mis käitab vastuste loomiseks treenitud mudeleid. Meie peamine eesmärk on sama riistvaraga töödelda rohkem tokeneid, säilitades kasutajate oodatud nutikuse, latentsuse, käideldavuse ja töökindluse.
Selle saavutamiseks tuleb optimeerida kogu süsteemi. Mudel võib eraldi võetuna olla väga tõhus, kuid selle käitamine siiski kulukas, kui päringuid jaotatakse halvasti, riistvara seisab jõude või andmete liigutamine aeglustab arvutusi. Iga kihi täiustused võimendavad üksteist. Kasu annavad marsruutimise (kuhu päringud saadetakse), ajastamise (millal päringud saadetakse), tuumade (GPU-del töötava tarkvara), vahemällu salvestamise (tehtud töö talletamise ja taaskasutamise) ning mudeli teostuse (GPU-koodi järjestuse) optimeerimine. Codexis töötaval GPT‑5.6 Solil oli kõigis neis optimeerimistes oluline roll.
Esimene oluline näide on koormuse tasakaalustamine. Üleilmselt marsruudime päringuid selliste tegurite alusel nagu geograafiline asukoht, vaba võimsus ja kiirendi tüüp ehk mudelit käitava GPU või erikiibi liik. Klastri sees jaotame töö mudelieksemplaride vahel koormuse, konteksti pikkuse, vahemälu saadavuse ja päringu muude omaduste järgi. Seejärel tuleb töö igas eksemplaris tõhusalt jaotada kiirendite, mudeli alamvõrkude ja arvutustuumade vahel. Codexis töötav GPT‑5.6 Sol aitab meil analüüsida tootmisliiklust, tuvastada varem märkamata jäänud tasakaalustamatuse allikaid, katsetada uusi marsruutimisstrateegiaid ja neid heuristikuid pidevalt häälestada. Juba ainuüksi need koormuse tasakaalustamise täiustused vähendasid märkimisväärselt meie mudelite käitamise kulusid.
Kasutasime GPT‑5.6 Soli ka mudeli päripääsu optimeerimiseks: see on arvutus, mis teisendab sisendid järgmise tokeni ennustusteks. Isegi kui üksikud toimingud on kiired, võivad liigne andmete liigutamine, sünkroonimine ja ebatõhus andmepaigutus jätta GPU-d jõude. Selle vältimiseks leidis GPT‑5.6 Sol tööd, mida sai ette arvutada, vältida või paralleelselt teha. Codexi abil kirjutas GPT‑5.6 Sol iseseisvalt ümber ja optimeeris meie tootmistuumi – põhikoodi, mis teeb mudeli matemaatilisi operatsioone. See õnnestus muu hulgas seetõttu, et oleme treeninud GPT‑5.6 tõhusalt kirjutama ja täiustama tuumi OpenAI hallatavates avatud lähtekoodiga GPU-programmeerimiskeeltes Triton(avaneb uues aknas) ja Gluon(avaneb uues aknas). Need jõupingutused koos GPT‑5.6 Soli ulatuslikumate tuumatäiustustega vähendasid teenindamise kogukulu 20%. Oleme palju investeerinud ka kontrolltööriistadesse, nagu avatud lähtekoodiga FpSan(avaneb uues aknas) (Floating-Point Sanitizer), mis aitab kontrollida GPT‑5.6 Soli kirjutatud tuumade korrektsust.
Spekulatiivne dekodeerimine on veel üks võimalus kiiruse ja tõhususe parandamiseks. Selle meetodi korral käitatakse põhimudeli kõrval väiksemat mustandmudelit ehk „spekulaatorit“, mis pakub välja mitu tokenit, mida põhimudel saab paralleelselt kontrollida. Kui ettepanekud kiidetakse heaks, saab süsteem ühe põhimudeli läbimiga luua mitu väljundtokenit, vähendades kuluka järjestikuse arvutamise mahtu. GPT‑5.6 Sol täiustas oma mustandmudelit, kavandades ja tehes selle arhitektuuriga sadu katseid ning proovides muudatusi suuruses, struktuuris ja funktsioonides. Lisaks käivitas ja jälgis GPT‑5.6 Sol spekulaatori treenimist ning sekkus iseseisvalt probleemide, sealhulgas riistvararikete ja treenimise ebastabiilsuse korral. Saavutatud täiustused suurendasid tokenite genereerimise tõhusust üle 15%.
Vahemällu salvestamata sisendtokenite töötlemisel loob mudel võtme-väärtuse (KV) vahemälu ühe arvutusmahuka läbimiga; väljundi genereerimisel loeb ja laiendab mudel seda vahemälu korduvalt. Optimaalne teeninduskonfiguratsioon, sealhulgas pakettimine, killustamine ja KV haldus, sõltub suuresti töökoormusest: viibu ja väljundi pikkusest, paketi suurusest, vahemälu tabamusmäärast, päringute omadustest ning muust. Varem oli konfiguratsiooniruum aga süsteemseks häälestamiseks liiga suur, mistõttu insenerid pidid tuginema üldistele heuristikutele. Codexis töötava GPT‑5.6 Soli abil saime analüüsida tootmiskoormusi, luua ja hinnata võimalikke konfiguratsioone ning iga stsenaariumi jaoks mootori ja mudeli seadistust ülitäpselt optimeerida. See muudab praktiliseks töökoormuspõhise optimeerimise uue taseme, võimaldades sama riistvaraga teha rohkem kasulikku inferentsi.
Inferentsi optimeerimine on pidev tagasisidetsükkel. Mõõdame tootmiskeskkonna käitumist, tuvastame suurimad puudujäägid, viime sisse muudatused ja kontrollime, et need parandaksid kogu süsteemi, mitte ainult eraldiseisvat võrdlustesti. GPT‑5.6 Sol ja Codex kiirendavad selle tsükli kõiki osi. Nii saab meie meeskond uurida rohkem ideid, reageerida muutuvatele töökoormustele kiiremini ning luua kasutajatele väiksema latentsuse, suurema võimsuse ja madalamate kuludega inferentsipinu.
ChatGPT Work ja Codex täidavad keerukaid ülesandeid mudelipäringute ja tööriistakutsete jadana. Ühe vestlusvooru jooksul – kasutaja päringust lõpliku vastuseni – võib Codex uurida lähtekoodi, otsida juurutusajalugu, lugeda intsidendiaruandeid, muuta faili ja käitada teste. Iga etapp võib nõuda eraldi päringut.
Konteksti ettevalmistamine, andmete edastamine, inferents, tööriistade kutsumine ja protsesside käivitamine nõuavad kõik aega ning arvutusvõimsust. Kui ülesanne nõuab 30 mudelipäringut, koguneb igale päringule lisanduvast sekundist märgatav viivitus. Üldise jõudluse parandamiseks tuleb vähendada korduvat tööd kogu süsteemis, mitte üksnes mudelit kiirendada.
Üks kasutaja vestlusvoor võib hõlmata mitut mudeli- ja tööriistaiteratsiooni. Korduvas osas tekkiv kulu võib seega korduda mitu korda.
Need kordistuvad mõjud on suunanud meie agentide täitmiskeskkonna kujundamist. See on Rustis loodud koordineerimiskihiks, mis ühendab meie mudelid, tööriistad ja kasutaja keskkonna. Järgmisena vaatleme, kuidas konteksti paisumise vältimine, tööriistade laadimine ja tehtud töö taaskasutamine muudavad iga päringu tõhusamaks.
Kui agentidele antakse juurdepääs üha enamatele tööriistadele, oskustele, pistikprogrammidele ja vestlusajaloole, võivad kontekstivaated kergesti paisuda. See suurendab kulusid, hajutab mudeli tähelepanu ja põhjustab tarbetut arutlust. Täitmiskeskkond saab seda lisakulu vähendada viivitusega tuvastamise abil, mis muudab integratsioonid, kohandatud MCP-tööriistad, oskused ja pistikprogrammid nähtavaks alles vajaduse korral. Täitmiskeskkond ei lase ka üksikutel tööriistadel ja MCP-integratsioonidel kontekstivaadet ootamatult täita. Tööriista väljund on vaikimisi piiratud 10 000 tokeniga, kui mudel ei taotle teistsugust piirangut.
Nagu eespool mainitud, võib agendi tsükkel ühe vestlusvooru jooksul saata GPU-dele mitu korda samad juhised, vestlusajaloo, tööriistade määratlused ja varasemad tulemused. Nende korduvate sisendite töötlemine on kulukas, mistõttu kasutatakse viipade vahemällu salvestamisel uuesti varem töödeldud viiba prefiksiga seotud arvutusi. Selle prefixi säilitamiseks käsitleb täitmiskeskkond kogu mudelile nähtavat ajalugu ainult lisatavana: uued sõnumid, tööriistade tulemused ja keskkonnauuendused lisatakse lõppu, mitte varasemasse konteksti. Ka tööriistad esitatakse kindlas järjekorras, käitusaegseid sätteid, näiteks kinnitamispõhimõtteid, rakendatakse aga käitamise ajal, mitte ei manustata tööriistade määratlustesse. See lahendus aitab kaasa Codexi ja ChatGPT Worki viipade vahemälu üldisele kõrgele tabamusmäärale.
Järkjärguline edastus muudab võrgu kaudu liikuvat teavet; viipade vahemällu salvestamine muudab seda, mida mudel ei pea uuesti arvutama. Laiused on tinglikud ja täiendavat tihenduskihti pole näidatud.
GPT‑5.6‑ga saavutatud tõhususe kasv tuleneb aastate jooksul kogu tehnilises pinus kuhjunud täiustustest, mis hõlmavad teadustööd, inferentsi ja meie agentide täitmiskeskkonda. GPT‑5.6 roll paljude nende täiustuste saavutamisel annab meile alust uskuda, et optimeerimine kiireneb veelgi. Jätkame ulatuslikumat optimeerimist muu hulgas tuumade valdkonnas ning arendame edasi ka oma tehnilise pinu alustalasid. Soovime need pidevad taustal toimuvad täiustused kasutajate ja klientideni tuua laiemalt kättesaadava ning kulutõhusama nutikusena.
Eriline tänu selle postituse valmimisse panustanud tehnilise personali liikmetele Matthew Ferrarile, Philippe Tillet’le, Ahmed Ibrahimile, Joe Gershensonile ja Steve Coffeyle.


