Generatív ajánlórendszerek skálázása: xGR a gyakorlatban

Mesterséges intelligencia a kiskereskedelemben és e-kereskedelemben••By 3L3C

Az xGR megmutatja, hogyan lehet generatív ajánlórendszereket alacsony késleltetéssel skálázni. Tanulságok e-kereskedelemre és egészségügyre.

generatív ajánlásajánlórendszerekLLM servingskálázáse-kereskedelemegészségügyi AI
Share:

Featured image for Generatív ajánlórendszerek skálázása: xGR a gyakorlatban

Generatív ajánlórendszerek skálázása: xGR a gyakorlatban

2025 végére a generatív modellek már nemcsak „szép” szövegeket írnak: egyre több cég próbálja LLM-alapú generatív ajánlórendszerekkel kiváltani vagy kiegészíteni a klasszikus rangsoroló pipeline-okat. A gond ott kezdődik, amikor a prototípus találkozik a valós forgalommal: csúcsidőben sok ezer párhuzamos kérés, szigorú válaszidő-SLA, és közben a költségkeret sem végtelen.

A friss xGR kutatás (2025.12.19-én frissített verzió) pontosan ezt a fájdalompontot célozza: hogyan lehet a generatív ajánlást alacsony késleltetéssel és nagy áteresztőképességgel kiszolgálni. Ami nekem különösen tetszik benne, hogy nem „még egy modelltrükk”: ez szolgáltatás- és rendszertervezés. És ez az a réteg, ami a kiskereskedelmi/e-kereskedelmi AI-ban is gyakran alulbecsült.

A cikkben végig a „Mesterséges intelligencia a kiskereskedelemben és e-kereskedelemben” sorozat szemszögéből gondolkodom, de közben folyamatosan áthidalom az egészségügyi párhuzamokat is: ha a skálázott generatív ajánlás működik a kosárértékért, működhet a betegút- és diagnosztikai ajánlásokért is – csak a szabályozási és biztonsági elvárások sokkal szigorúbbak.

Miért más a generatív ajánlás, mint a „sima” LLM-serving?

A lényeg: a generatív ajánlórendszerek terhelési mintája eltér a klasszikus LLM-chat kiszolgálástól.

LLM-chatnél jellemzően rövidebb promptokkal indítunk, aztán hosszabban generálunk. Generatív ajánlásnál (GR) viszont gyakori, hogy:

  • hosszĂş a bemenet (pĂ©ldául több száz esemĂ©nybĹ‘l állĂł user–item szekvencia: kattintások, megtekintĂ©sek, kosárba tĂ©tel, vásárlás),
  • rövid Ă©s fix hosszĂş a kimenet (pl. top-20 ajánlás),
  • a decode szakasz mĂ©gis drága, mert nagy a beam width (több párhuzamos „jelölt Ăşt” keresĂ©se),
  • a jelölt tĂ©r hatalmas, ezĂ©rt a rendezĂ©s/szűrĂ©s overheadje idĹ‘ben Ă©s költsĂ©gben is megugrik.

E-kereskedelemben ez úgy csapódik le, hogy hiába jobb az ajánlás minősége, ha a válaszidő miatt romlik a konverzió, vagy a magas GPU-költség megeszi a marzsot. Egészségügyben pedig még keményebb a helyzet: egy triázs vagy klinikai döntéstámogatás esetén a késleltetés nemcsak UX-kérdés, hanem folyamatbiztonsági tényező.

Egy mondatban: a generatív ajánlás „hosszú prefill + rövid, de drága decode”, és ezt külön kell optimalizálni.

Mit ígér az xGR, és miért érdekes üzletileg?

Az xGR egy GR-orientált serving rendszer, ami kifejezetten alacsony késleltetés mellett, nagy konkurencia esetén próbál maximális throughputot adni. A tanulmány szerint a mért nyereség legalább 3,49× áteresztőképesség a korábbi state-of-the-art baseline-hoz képest, szigorú latency korlátok mellett.

Ez üzletileg több dolgot jelenthet:

  • ugyanazzal a GPU-parkkal több forgalmat szolgálsz ki,
  • vagy ugyanazt a forgalmat kisebb költsĂ©ggel,
  • Ă©s (ami a legfontosabb) stabilabb SLA-t kapsz csĂşcsidĹ‘ben.

A kiskereskedelmi AI-ban ezt tipikusan a karácsonyi időszakban érzed meg a legerősebben (és igen, 2025 decemberében ez kifejezetten aktuális): az ajánlórendszer terhelése ilyenkor nem „kicsit nő”, hanem megugrik.

Az xGR három ötlete: mit csinál másképp a pipeline-ban?

Az xGR három technikai pillért emel ki. Nem kell minden belső részletet ismerni ahhoz, hogy értsük a lényegét: mindhárom arról szól, hogy kevesebb felesleges munka történjen a kritikus útvonalon, és jobban átfedjék a számítást.

1) Prefill és decode egységesítése: staged compute + szeparált KV cache

Válasz elsőként: az xGR úgy kezeli a prefill és a decode munkát, hogy jobban illeszkedjen a GR terhelési profiljához.

A klasszikus transformer servingnél a KV cache (Key-Value cache) a decode gyorsításának alapja. GR esetén viszont a prefill hosszú, a decode rövid, és a beam search miatt a cache-kezelés könnyen széttöredezik.

Az xGR két irányból fogja meg:

  • staged computation: a számĂ­tást lĂ©pĂ©sekre bontja Ăşgy, hogy a GPU/CPU Ă©s memĂłria-hozzáfĂ©rĂ©sek jobban ĂĽtemezhetĹ‘k legyenek,
  • separated KV cache: a cache-t Ăşgy választja szĂ©t/strukturálja, hogy kevesebb legyen a fölös másolás Ă©s jobb legyen az ĂşjrahasznosĂ­tás.

E-kereskedelemben ez akkor látványos, ha sok az ismétlődő minta (pl. ugyanazon kampány-termékek sok felhasználónál). Egészségügyben pedig azért fontos, mert a betegút-szekvenciák (laborok, ICD-kódok, vizitek) hasonlóan hosszúak lehetnek, és ott sem fér bele, hogy a rendszer cache-menedzsment miatt „akadozzon”.

2) Beam search gyorsítása: korai rendezés-leállítás és maszkos item-szűrés

Válasz elsőként: a legdrágább pontot, a hatalmas item-tér rendezését és szűrését rövidíti le.

Generatív ajánlásnál a beam search nemcsak több jelöltet futtat, hanem a végén (vagy közben) sokat kell rendezni, top-k-t kiválasztani, és ki kell zárni érvénytelen jelölteket.

Az xGR itt két praktikus trükköt hoz:

  • early sorting termination: nem rendez vĂ©gig mindent, ha már biztosan megvan, ami kell (tipikusan top-k),
  • mask-based item filtering adatstruktĂşra-ĂşjrahasznosĂ­tással: a rendszer nem enged be eleve olyan itemeket a jelöltek közĂ©, amik „tiltĂłlistán” vannak (kĂ©szlethiány, jogi tiltás, Ă©letkori korlát, szemĂ©lyes preferencia), Ă©s mindezt Ăşgy, hogy a szűrĂ©shez használt struktĂşrák nem Ă©pĂĽlnek fel Ăşjra minden kĂ©rĂ©snĂ©l.

Kiskereskedelmi párhuzam (nagyon kézzelfogható):

  • ha egy termĂ©k nincs kĂ©szleten, vagy nem szállĂ­thatĂł az adott rĂ©giĂłba, akkor ne is kerĂĽljön be a beam jelöltterĂ©be,
  • ha bizonyos kategĂłriák tiltottak (pl. szabályozott termĂ©kek), a maszk ezt rögtön levágja,
  • Ă­gy az ajánlás nemcsak gyorsabb, hanem „tisztább” is.

Egészségügyi analógia: klinikai ajánlásnál a „maszk” lehet protokoll- és kontraindikációs szűrés (például egy gyógyszerjavaslat ne jelenjen meg, ha allergia vagy interakció miatt nem releváns). Itt az optimalizáció egyszerre teljesítmény- és biztonsági kérdés.

3) Pipeline újraépítése: multilevel overlap és multi-stream párhuzamosság

Válasz elsőként: az xGR a várakozási időt csökkenti azzal, hogy több műveletet átfedésbe hoz, és párhuzamos streameken futtat.

A serving rendszerekben gyakori, hogy a GPU számol, közben a CPU vár, vagy fordítva, és a memória-mozgatás is „láthatatlanul” eszi az időt. Az xGR célja, hogy:

  • a prefill/decode egyes lĂ©pĂ©sei átfedjĂ©k egymást,
  • a kĂĽlönbözĹ‘ stream-ek (GPU munkafolyamok) jobban kihasználják a rendelkezĂ©sre állĂł erĹ‘forrásokat,
  • Ă­gy ugyanazon hardveren több request fĂ©rjen bele ugyanabba az idĹ‘ablakba.

A gyakorlati üzenet számomra: ha GR-t akarsz élesben, akkor nem elég „jó modellt” tréningezni. A kiszolgáló pipeline ugyanúgy termék, és külön optimalizációt igényel.

Mit jelent ez a kiskereskedelmi és e-kereskedelmi AI-ban?

Válasz elsőként: a generatív ajánlás akkor lesz üzletileg életképes, ha a serving költség és a latency együtt kezelhető.

A klasszikus ajánlórendszerek (kétlépcsős retrieval + ranking) évtizedek óta azért működnek jól, mert kiszámíthatóak és gyorsak. A generatív ajánlás előnye a szekvenciák mélyebb megértése és a rugalmasabb jelöltképzés. De ha a beam search és a decode költsége elszáll, a CFO gyorsan nemet mond.

Három konkrét, alkalmazható tanulság e-kereskedelmi csapatoknak:

  1. Ne általános LLM-serving stackre húzd rá a GR-t „ahogy van”. A terhelésprofil más, a bottleneckek mások.
  2. A jelöltteret üzleti szabályokkal korán szűkítsd. Készlet, margin, szállíthatóság, compliance: ezek nem a végén „szépítések”, hanem teljesítménykulcsok.
  3. Mérj beam width és top-k oldalról is. A minőség–költség görbe nem lineáris: egy kis beam csökkentés néha nagy latency nyereséget ad minimális minőségromlással.

Ugyanez az egészségügyben: személyre szabás, csak nagyobb téttel

Válasz elsőként: az xGR-szerű serving megközelítés a klinikai generatív ajánlásoknál is releváns, mert ott is hosszú a kontextus és szigorú a válaszidő.

Az egészségügyi MI (mesterséges intelligencia az egészségügyben) területén egyre gyakoribbak az olyan use case-ek, ahol „ajánlani” kell:

  • következĹ‘ diagnosztikai lĂ©pĂ©seket (labor, kĂ©palkotás),
  • betegĂşt-Ăştvonalakat (melyik szakrendelĂ©s, milyen kontroll),
  • szemĂ©lyre szabott Ă©letmĂłd- vagy terápiás javaslatokat.

Ezek valójában nagyon hasonlítanak az e-kereskedelmi ajánláshoz: hosszú előzményt nézünk, rövid listát adunk vissza. A különbség, hogy:

  • sokkal szigorĂşbb a traceability (miĂ©rt ezt ajánlotta?),
  • erĹ‘sebb a safety (mit nem szabad ajánlani?),
  • Ă©s a kĂ©sleltetĂ©s gyakran folyamatkritikus.

A „mask-based filtering” itt különösen erős üzenet: a klinikai rendszerben a maszk lehet guideline, kontraindikáció, életkor, terhesség, gyógyszer-interakció, intézményi protokoll. Ha a serving architektúra eleve úgy van kitalálva, hogy a tiltás és szűrés gyors, akkor a biztonsági korlát nem „ráépített fék”, hanem a rendszer természetes része.

Gyakorlati ellenőrzőlista: mikor érdemes xGR-szemléletben gondolkodni?

Válasz elsőként: akkor, ha már most a serving a szűk keresztmetszet, vagy 3–6 hónapon belül az lesz.

Ha generatív ajánlást tervezel (kiskereskedelemben vagy egészségügyben), én ezt a listát szoktam javasolni egy gyors helyzetfelméréshez:

  • Konkurencia: hány párhuzamos ajánláskĂ©rĂ©s jön csĂşcsban (P95, P99)?
  • SLA: mi a maximális P95 latency? (Nem átlag!)
  • Kimenet: fix top-k kell (pl. 10/20/50), vagy adaptĂ­v?
  • Beam width: mekkora beam kell tĂ©nylegesen minĹ‘sĂ©ghez, Ă©s mekkora „megszokásbĂłl”?
  • Item space: hány aktĂ­v termĂ©k/entitás van, Ă©s mennyi a szűrĂ©s után?
  • SzűrĂ©si szabályok: mennyi ĂĽzleti/compliance tiltás van, Ă©s ezek a pipeline melyik pontján Ă©rvĂ©nyesĂĽlnek?
  • KöltsĂ©g: mennyi a megengedett ajánlás-költsĂ©g 1000 requestre vetĂ­tve?

Ha ezekből 2-3 elemre azt mondod, hogy „nem tudjuk pontosan”, akkor a projekt tipikusan nem modell-, hanem operációs és mérési kockázatba fut.

Következő lépés: ajánlásból döntéstámogatás – felelősen

A generatív ajánlórendszerek skálázása nem látványos téma, mégis itt dől el, hogy egy AI-képességből lesz-e termék. Az xGR üzenete számomra egyszerű: a generatív ajánlás servingje külön műfaj, és aki erre külön optimalizál, az stabilabb latency-t és jobb költség/érték arányt kap.

Ha a „Mesterséges intelligencia a kiskereskedelemben és e-kereskedelemben” sorozatot követed, ez a poszt jó helyre illeszkedik: a személyre szabott ajánlások minősége mellett most a kiszolgálhatóság a fókusz. És ugyanaz a tudás átvihető az egészségügybe is, ahol a személyre szabás értéke még nagyobb, de a kontrolloknak is erősebbnek kell lenniük.

A kérdés, amin szerintem érdemes elgondolkodni 2026 eleje előtt: a csapatod ma modellben gondolkodik, vagy rendszerben?