Ugrás a fő tartalomra
OpenAI

A GPT‑5.6 ötvözi az élvonalbeli intelligenciát és hatékonyságot

Betöltés…

A GPT‑5.6 modellcsaládot úgy terveztük, hogy a modelljeinkkel végzett feladatok teljes skáláján egyensúlyt teremtsen a képességek és a költségek között. Zászlóshajó modellünk, a GPT‑5.6 Sol maximális érveléssel kevesebb mint feleakkora költség mellett teljesíti túl a Claude Fable 5-öt az Artificial Analysis Coding Agent Indexen. A Terra feleannyiért ér el a GPT‑5.5-tel azonos eredményt az intelligenciateszteken, a Luna pedig a leggyorsabb és legkedvezőbb árú modellünk, amelynek ára 80%-kal alacsonyabb a Solénál. E hatékonyság eléréséhez kutatási és műszaki csapataink jelentős optimalizálásokat hajtottak végre technológiai rendszerünk minden fő rétegében. Ezek a fejlesztések modelljeinkre, az inferenciára (vagyis arra, hogyan futtatjuk a modelleket a kimenet előállításához), valamint a Codex és a ChatGPT Work által egyaránt használt ügynöki végrehajtási környezetünkre is kiterjednek.

Az elmúlt négy év során modelljeinket 1 milliárd aktív felhasználóra és több mint 2 millió vállalkozásra méreteztük fel; eközben a hatékonyság központi szerepet játszott abban, hogy mindenki részesülhessen az intelligencia előnyeiből. Küldetésünk annak biztosítása, hogy a mesterséges általános intelligencia az egész emberiség javát szolgálja. Ezekben az években folyamatosan új optimalizálási lehetőségeket tártunk fel technológiai rendszerünkben, hogy a költség-intelligencia görbe minden pontján a legjobb teljesítményű modelleket kínálhassuk. A GPT‑5.6‑tal értük el eddigi legjobb tokenenkénti intelligenciahatékonyságunkat; a modellt arra tanítottuk, hogy tokenenként több munkát végezzen el. A betanítás során a feladat sikerét és a hatékonyságot egyaránt optimalizáljuk, így a modell közvetlenebb úton oldja meg a feladatot.

Ez a bejegyzés a modelljeinken túlmutatva bemutatja, hogyan terveztünk a hatékonyságra technológiai rendszerünk két másik fő részének fejlesztésével: 1) az inferenciában a terheléselosztás, a spekulatív dekódolás, a gyorsítótárazás és a kernelek optimalizálásával, hogy ugyanabból a hardverből több kimenetet nyerjünk ki; 2) az ügynöki végrehajtási környezetünkben pedig a kontextus túlzott növekedésének, az eszközhasználatnak és az ismétlődő munkának a jobb kezelésével. Azt is bemutatjuk, milyen szerepet játszott a GPT‑5.6 Sol több ilyen előny önálló megvalósításában. Bár egy-egy fejlesztés önmagában korlátozottnak tűnhet, eredményeik összeadódnak, így az intelligencia és a hatékonyság terén egyaránt az élvonalban teljesíthetünk.

Ábra a GPT-5.6 hatékonyságáról az ügynöki végrehajtási környezetben, az API-összehangolásban és a modellinferenciában, amely kevesebb hálózati adatot, kevesebb CPU-munkát és nagyobb GPU-kimenetet eredményez.

Az inferencia felgyorsítása a GPT‑5.6 Sollal

Egy számítási kapacitás által korlátozott világban, ahol a modellek iránti kereslet gyorsabban nő, mint a kapacitás, minden rendszer tervezésének alapja a hatékonyság. Ez különösen igaz az inferenciarendszerünkre, amely a betanított modelleket futtatva válaszokat hoz létre. Elsődleges célunk, hogy ugyanazzal a hardverrel több tokent szolgáljunk ki, miközben megőrizzük a felhasználók által elvárt intelligenciát, késleltetést, rendelkezésre állást és megbízhatóságot.

Ehhez az egész rendszert optimalizálni kell. Egy modell önmagában rendkívül hatékony lehet, kiszolgálása mégis költséges maradhat, ha a kérések elosztása nem megfelelő, a hardver kihasználatlan, vagy az adatmozgatás lassítja a számításokat. Az egyes rétegek fejlesztései összeadódnak: a nyereség az útválasztás (hová küldjük a kéréseket), az ütemezés (mikor küldjük őket), a kernelek (a GPU-kon futó szoftverek), a gyorsítótárazás (az elmentett és újra felhasznált munka), valamint a modell implementációjának (a GPU-kód sorrendjének) optimalizálásából származik. A Codexben futó GPT‑5.6 Sol meghatározó szerepet játszott mindezekben az optimalizálásokban.

Az első fontos példa a terheléselosztás. Világszerte olyan tényezők alapján irányítjuk a kéréseket, mint a földrajzi hely, a rendelkezésre álló kapacitás és a gyorsító típusa (a modellt futtató GPU vagy speciális chip típusa). Egy fürtön belül a terhelés, a kontextus hossza, a gyorsítótár elérhetősége és a kérések egyéb jellemzői alapján osztjuk el a munkát a modellpéldányok között. Ezután minden példányon belül hatékonyan fel kell osztani a munkát a gyorsítók, a modell alhálózatai és a számítási magok között. A Codexben futó GPT‑5.6 Sol segít elemezni az éles forgalmat, azonosítani a korábban figyelmen kívül hagyott egyensúlytalanságokat, tesztelni az új útválasztási stratégiákat és folyamatosan finomhangolni ezeket a heurisztikákat. Már önmagukban ezek a terheléselosztási fejlesztések is drámaian csökkentették modelljeink kiszolgálási költségét.

A GPT‑5.6 Sol segítségével a modell előrehaladó számítását is optimalizáltuk: azt a számítást, amely a bemeneteket a következő tokenre vonatkozó előrejelzésekké alakítja. Még ha az egyes műveletek gyorsak is, a túlzott memóriamozgatás, a szinkronizálás és a nem hatékony adatelrendezés miatt a GPU-k kihasználatlanok maradhatnak. Ennek elkerülésére a GPT‑5.6 Sol olyan munkafolyamatokat azonosított, amelyek előre kiszámíthatók, elkerülhetők vagy párhuzamosíthatók. A Codex segítségével a GPT‑5.6 Sol önállóan írta át és optimalizálta éles környezetben használt kerneljeinket: a modell matematikai műveleteit végrehajtó alapvető kódot. Ez részben azért működött, mert a GPT‑5.6‑ot megtanítottuk arra, hogy hatékonyan írjon és fejlesszen kerneleket a Triton(új ablakban nyílik meg) és a Gluon(új ablakban nyílik meg) nyílt forráskódú, az OpenAI által karbantartott GPU-programozási nyelveken. Ezek az erőfeszítések a GPT‑5.6 Sol átfogóbb kernelfejlesztéseivel együtt 20%-kal csökkentették a teljes kiszolgálási költséget. Emellett jelentős beruházásokat végeztünk ellenőrzőeszközökbe, például a nyílt forráskódú FpSan(új ablakban nyílik meg) (lebegőpontos hibakereső) eszközbe, hogy ellenőrizhessük a GPT‑5.6 Sol által írt kernelek helyességét.

A spekulatív dekódolás szintén javíthatja a sebességet és a hatékonyságot. A technika során az elsődleges modell mellett egy kisebb vázlatmodell (más néven „spekulátor”) fut, amely több tokent javasol, hogy az elsődleges modell párhuzamosan ellenőrizhesse őket. Ha a rendszer elfogadja ezeket a javaslatokat, az elsődleges modell egyetlen futásával több kimeneti tokent állíthat elő, csökkentve a költséges szekvenciális számítások mennyiségét. A GPT‑5.6 Sol saját vázlatmodelljét úgy fejlesztette tovább, hogy több száz kísérletet tervezett és futtatott az architektúráján, tesztelve a méret, a szerkezet és a funkciók módosításait. A GPT‑5.6 Sol emellett elindította és felügyelte a spekulátor betanítását, és önállóan beavatkozott, amikor problémák – köztük hardverhibák és a betanítás instabilitása – merültek fel. Az így elért fejlesztések több mint 15%-kal növelték a tokengenerálás hatékonyságát.

A gyorsítótárban nem szereplő bemeneti tokenek feldolgozásakor a modell egyetlen számításigényes menetben építi fel a kulcs-érték (KV) gyorsítótárat; a kimenet generálásakor pedig ismételten olvas belőle és bővíti. A kiszolgálás optimális konfigurációja – például a kötegelt feldolgozás, a particionálás és a KV-kezelés – nagyban függ a munkaterheléstől: az utasítás és a kimenet hosszától, a kötegmérettől, a gyorsítótár találati arányától, a lekérdezés jellemzőitől és más tényezőktől. A konfigurációs lehetőségek tere azonban korábban túl nagy volt a módszeres hangoláshoz, ezért a mérnököknek általános heurisztikákra kellett támaszkodniuk. A Codexben futó GPT‑5.6 Sol segítségével elemezhettük az éles munkaterheléseket, lehetséges konfigurációkat hozhattunk létre és értékelhettünk, valamint minden helyzetre rendkívül pontosan optimalizálhattuk a motor és a modell beállításait. Ez a munkaterhelés-specifikus optimalizálás új szintjét teszi megvalósíthatóvá, így ugyanabból a hardverből több hasznos inferenciát nyerhetünk ki.

Az inferencia optimalizálása folyamatos visszacsatolási ciklus. Mérjük az éles rendszer működését, azonosítjuk a legnagyobb hiányosságokat, végrehajtjuk a módosításokat, majd ellenőrizzük, hogy egy elszigetelt teljesítményteszt helyett az egész rendszert javítják-e. A GPT‑5.6 Sol és a Codex ennek a ciklusnak minden részét felgyorsítja. Így csapatunk több ötletet vizsgálhat meg, gyorsabban reagálhat a változó munkaterhelésekre, és kisebb késleltetésű, nagyobb kapacitású, a felhasználók számára pedig alacsonyabb költségű inferenciarendszert hozhat létre.

Így teszi hatékonyabbá ügynöki végrehajtási környezetünk az ismétlődő munkát

A ChatGPT Work és a Codex modellkérések és eszközhívások sorozatával hajt végre összetett feladatokat. Egyetlen forduló alatt – a felhasználó kérésétől a végső válaszig – a Codex megvizsgálhatja a forráskódot, kereshet a telepítési előzményekben, elolvashatja az incidensjelentéseket, szerkeszthet egy fájlt és teszteket futtathat. Minden lépéshez szükség lehet egy kérésre.

A kontextus előkészítése, az adatátvitel, az inferencia futtatása, az eszközök meghívása és a folyamatok elindítása egyaránt időt és számítási kapacitást igényel. Ha egy feladathoz 30 modellkérés szükséges, kérésenként egy plusz másodperc is összeadódik. Az általános teljesítmény javításához az egész rendszerben csökkenteni kell az ismétlődő munkát, nem elég csupán felgyorsítani a modellt.

Egy felhasználói feladat belép a modellbe, amely eszközt hívhat meg, fogadhatja annak eredményét, majd a feladat befejezéséig ismételten újabb modelldöntést hozhat.

Egyetlen felhasználói forduló számos modell- és eszköziterációt tartalmazhat. Az ismétlődő tartományon belüli költségek többször is felmerülhetnek.

Ezeket a többszöröző hatásokat figyelembe véve terveztük meg ügynöki végrehajtási környezetünket: egy Rust-alapú összehangolási réteget, amely összekapcsolja modelljeinket, eszközeinket és a felhasználó környezetét. A következőkben bemutatjuk, hogyan teszi hatékonyabbá az egyes kéréseket a kontextus túlzott növekedésének elkerülése, az eszközök betöltése és a munka újrafelhasználása.

A kontextus túlzott növekedésének elkerülése

Ahogy az ügynökök egyre több eszközhöz, képességhez, bővítményhez és beszélgetési előzményhez kapnak hozzáférést, a kontextusablakok könnyen megnőhetnek. Ez növeli a költségeket, elvonja a modell figyelmét, és szükségtelen érvelést vált ki. A végrehajtási környezet késleltetett felderítéssel csökkentheti ezt a többletterhet, így az integrációk, egyéni MCP-eszközök, képességek és bővítmények csak szükség esetén válnak elérhetővé. A végrehajtási környezet azt is megakadályozza, hogy egyes eszközök és MCP-integrációk váratlanul felhasználják a kontextusablakot. Az eszközök kimenete alapértelmezés szerint legfeljebb 10 000 token lehet, kivéve, ha a modell más korlátot kér.

A pontos előtagok megőrzése az utasítások gyorsítótárazásához

Ahogy korábban említettük, egy ügynöki ciklus egyetlen fordulón belül többször is elküldheti ugyanazokat az utasításokat, beszélgetési előzményeket, eszközdefiníciókat és korábbi eredményeket a GPU-knak. Ezeknek az ismétlődő bemeneteknek a feldolgozása költséges, ezért az utasítások gyorsítótárazása újra felhasználja a korábban feldolgozott utasításelőtaghoz tartozó számításokat. Az előtag megőrzése érdekében a végrehajtási környezet minden, a modell számára látható előzményt csak bővíthetőként kezel: az új üzenetek, eszközeredmények és környezeti frissítések a végére kerülnek, nem pedig a korábbi kontextusba. Az eszközök szintén determinisztikus sorrendben jelennek meg, míg a futásidejű beállításokat – például a jóváhagyási szabályokat – a végrehajtás során alkalmazzuk, nem pedig az eszközdefiníciókba ágyazzuk. Ez a tervezési döntés hozzájárul a Codex és a ChatGPT Work utasítás-gyorsítótárának összességében magas találati arányához.

Három kérés összehasonlítja a tartós kapcsolaton keresztül elküldött bájtokat a modell által látott, növekvő kontextussal és a gyorsítótárból újra felhasználható előtaggal.

Az inkrementális átvitel azt változtatja meg, hogy mi halad át a hálózaton; az utasítások gyorsítótárazása pedig azt, hogy a modell mit ne számítson újra. A szélességek szemléltető jellegűek, a további tömörítési réteg pedig nincs feltüntetve.

Hatékonyság az intelligenciagörbe egészén

A GPT‑5.6‑tal elért hatékonyságnövekedés a teljes technológiai rendszerünkben – a kutatástól és az inferenciától az ügynöki végrehajtási környezetünkig – éveken át egymásra épülő fejlesztések eredménye. A GPT‑5.6 számos fejlesztésben játszott szerepe bizakodással tölt el bennünket az optimalizálás ütemének felgyorsulásával kapcsolatban. Technológiai rendszerünk alapvető továbbfejlesztése mellett továbbra is jelentős optimalizálásokat végzünk olyan területeken, mint a kernelek optimalizálása. Örömmel adjuk tovább felhasználóinknak és ügyfeleinknek ezeket a háttérben zajló fejlesztéseket, szélesebb körben elérhető és költséghatékonyabb intelligencia formájában.

Külön köszönet Matthew Ferrarinak, Philippe Tillet-nek, Ahmed Ibrahimnak, Joe Gershensonnak és Steve Coffeynak, műszaki munkatársainknak a bejegyzés elkészítéséhez nyújtott hozzájárulásukért.

Szerző

Matthew Ferrari, Phil Tillet, Ahmed Ibrahim, Joe Gershenson és Steve Coffey