Įvadas: Greičio spąstai
Su „greičiu“ AI išvadose yra taip, kad visi jo nori, bet niekas nesutaria, ką tai reiškia. Ar norite mažesnio latentinio laikotarpio vienam vartotojui? Didesnio pralaidumo apdorojant užklausų srautą? Geresnio žetonų skaičiaus už dolerį? O gal tiesiog mažiau atjungimų, kad jūsų demonstracija nežlugtų priešais viceprezidentą? „SGL vs vLLM“ yra vienas iš tų palyginimų, kuris „Hacker News“ atrodo paprastas, bet virsta painiava, kai bandote pristatyti kažką, ką žmonės iš tikrųjų naudoja.
Mus išmokė aptarnavimo sistemas vertinti kaip popierinių rankšluosčių prekių ženklus: jie visi surenka išsiliejusį skystį, tiesiog pasirinkite „ypač gerai sugeriantį“. Praktiškai SGL ir vLLM yra skirtingų tipų šluostės. Jie sprendžia panašias problemas skirtingais fizikos dėsniais ir keistai kategoriškomis idėjomis apie tai, kaip turėtų būti planuojamas užklausų vykdymas, kai jūsų GPU kaista.
Atsisakykime pagyrų, pakalbėkime apie prielaidas ir aptarkime, kur SGL ir vLLM iš tikrųjų skiriasi ir kodėl vis tiek galite pasirinkti „neteisingą“ ir jums bus gerai.
SGL vs vLLM: Koks iš tikrųjų klausimas?
- Jei jūsų raktinių žodžių dieta yra „SGL vs vLLM“, jūsų tikrasis klausimas greičiausiai yra: kuris serveris iš to paties GPU išgauna daugiau žetonų su mažiau dramos?
- Arba: kuris iš jų padaro mano modelį reaguojantį į interaktyvias programas, nepaverčiant pralaidumo moliūgu?
- Arba, atviriau: kurį iš jų galiu įdiegti iki penktadienio ir nesigailėti pirmadienį?
Tai yra rėmai. Detalės yra svarbios, bet ne visos vienodai.
Kam optimizuotas vLLM (ir kam ne)
vLLM prekės ženklas yra pralaidumas su smegenimis. Pagrindinė funkcija yra PagedAttention, VRAM puslapiavimo schema, kuri traktuoja KV talpyklą kaip atminties valdomą sistemą, o ne kaip šiukšlių stalčių. Galite įdėti daug lygiagrečių užklausų, neeikvodami brangios GPU atminties užpildymui ir zombių kontekstams. Eilių sistema yra optimizuota paketiniam, lygiagrečiam generavimui – pagalvokite apie daugybę vartotojų, daugybę pokalbių arba API galinį tašką, kuris yra apdorojamas mažomis ir vidutinėmis užklausomis.
Paprasta kalba: vLLM leidžia vienu metu generuoti daugiau vienetų vienam GPU, nes protingai naudoja atmintį ir planuoja. Tai nuobodu gerąja prasme – konservatyvūs numatytieji nustatymai, patikimas veikimas ir polinkis tiesiog veikti esant įprastoms formoms.
Kur jis įkanda: itin mažo latentinio laiko interaktyvi UX (vieno vartotojo uždari ciklai), keistai suformuoti raginimai (didžiulis įvestis + maža išvestis arba atvirkščiai) ir išrankūs plėtiniai (individualūs sluoksniai, individualus skaidymas arba naujausi mėginių ėmimo triukai) kartais prieštarauja vLLM apsaugos priemonėms. Tai tinkama bazinė linija daugumai komandų – kol pasiekiate ribą ir atrandate, kodėl ta bazinė linija egzistuoja.
Kam optimizuotas SGL (ir kodėl tai įdomu)
SGL pasiūlymas yra šiek tiek maksimalistiškesnis: išspauskite latentinį laikotarpį ir pralaidumą naudodami išmanesnį planavimą – dinamiškesnį išankstinį atėmimą, smulkesnį bendrinimą ir norą žongliruoti lygiagrečiomis užklausomis, kad bandas judėtų greičiau, neleisdamos nė vienai užklausai badauti. Jei vLLM atminties modelis yra jo vizitinė kortelė, tai SGL yra jo planuotojas. Tikslas yra ne tik sutalpinti daugiau į VRAM, bet ir nuolat tiekti GPU skaičiavimo juostas, neleidžiant ilgiems kontekstams sėdėti kaip banginiui, išmestam į krantą, kol laukia trumpos užklausos.
Praktiškai tai reiškia, kad SGL dažnai spindi, kai darbo krūvis yra šuoliuojantis arba mišrus – kai kurie didžiuliai raginimai, kai kurie trumpi atsakymai, eismo pliūpsniai ir interaktyvūs seansai, kai latentinio laiko šuoliai yra UX žudikas. Tai yra „pilna kavinė“ serveris: daug mažų užsakymų, vienas vaikinas su 14 ingredientų užsakytu latte ir barista, kuris iš tikrųjų žino, kaip lygiagrečiai apdoroti.
Nemaloni tiesa: išmanesnis planavimas taip pat reiškia daugiau politikos. Daugiau rankenėlių. Daugiau sprendimų, kuriuos galite padaryti neteisingai. Jei jums reikia itin paprasto, plataus vartojimo įdiegimo, SGL lankstumas gali atrodyti kaip pasirinkimo-savo-nuotykių žaidimas, kuriame keli pasirinkimai baigiasi drakonu.
Pagrindinė prekyba: latentinis laikotarpis prieš pralaidumą prieš nuspėjamumą
- Latentinis laikotarpis: SGL paprastai sumažina galutinį latentinį laikotarpį mišriems darbo krūviams, nes yra agresyvesnis žongliruojant. vLLM yra stabilus, bet pirmenybę teiks pralaidumui, kai eilė bus ilga.
- Pralaidumas: vLLM PagedAttention yra monstras, skirtas supakuoti lygiagrečias užklausas, kad būtų didelis žetonų skaičius per sekundę vienam GPU. SGL gali jį prilygti arba įveikti mišraus krūvio scenarijuose, kai išmanesnis išankstinis atėmimas neleidžia susidaryti skaičiavimo burbulams.
- Nuspėjamumas: vLLM laimi už „nuobodų ir stabilų“, SGL laimi už „Galiu tai sureguliuoti, kad suformuočiau eismą, kurį iš tikrųjų turiu“. Nuspėjamumas nėra moralinė dorybė; tai reikalavimas kai kurioms komandoms ir varžtai kitiems.
Paketinis apdorojimas ir vakarienės įkarščio problema
Įsivaizduokite restoraną. vLLM greitai susodina visus, išdėstydamas stalus kaip Tetris, todėl lieka minimaliai tuščios vietos. SGL taip pat valdo aukštą, bet maître d' taip pat mikrovadybauja virtuvę – maišydamas patiekalus, kad šešių žmonių stalas neblokuotų tuzino dviejų žmonių stalų, laukiančių bulvyčių. SGL vs vLLM esmė nėra „kas greičiau susodina“, bet „kas palaiko valgomojo šurmulį, kai atvyksta autobuso turas ir pusė jų netoleruoja glitimo“.
Jei jūsų eismas yra sklandus, o užklausų formos nuoseklios, vLLM Tetris laimi. Jei jūsų eismas yra šuoliuojantis su raginimų ilgių pasiskirstymu ir jums rūpi 95-asis procentilis interaktyvių vartotojų latentinio laiko, SGL virtuvės choreografija atsipirks.
KV talpykla: vienas keistas triukas, kuris nėra keistas
Tiek SGL, tiek vLLM traktuoja dėmesio talpyklą kaip brangų metalą. vLLM puslapiavimas yra kanoninis triukas: laikykite raktus/reikšmes kompaktiškas, defragmentuokite ir išvengsite VRAM švaistymo užpildymui. SGL požiūris labiau susijęs su tuo, kada ir kaip iš anksto atimti ir įterpti darbą, kad talpykla nevirstų sąvartynu.
Jei jūsų modelis vos telpa su vieta keliems lygiagretiems seansams, vLLM atminties efektyvumas gali būti skirtumas tarp „veikia“ ir „OOM“. Jei jūsų modelis patogiai telpa, bet jūsų vartotojai skundžiasi dėl vėlavimo šuolių, SGL planavimas gali būti skirtumas tarp „naudojamo“ ir „malonaus“.
Žetonų biudžeto sudarymas ir žmogaus suvokimas
Vartotojai nesuvokia „žetonų per sekundę“. Jie suvokia: bakstelėkite... palaukite... prasideda atsakymas... teka... baigta. Pralaidumas yra ekonominė metrika; latentinis laikotarpis yra psichologinė metrika. SGL šališkumas yra psichologijos link – nuolat tekinkite pirmuosius žetonus ir neleiskite susidaryti galutiniams šuoliams. vLLM šališkumas yra ekonomikos link – maksimaliai padidinkite pastovios būsenos generavimą. Nė vienas iš jų nėra klaidingas. Bet jūsų produktas greičiausiai krypsta į vieną pusę.
Kvantavimas ir kortų namelis
Čia gražios istorijos subyra. Kai tik įtraukiate 4 bitų arba 8 bitų kvantavimą, individualius branduolius arba nuo pagrindinio kelio nutolusias modelio architektūras, sprendimą gali priimti bet kuris projektas, turintis branduolio palaikymą, kurio jums reikia šiandien. SGL vs vLLM tampa „kas veikia be paslaptingų tikslumo regresijų ar minkštų gedimų po 40 minučių“.
Galite romantizuoti planavimą kiek tik norite; branduoliai yra gravitacija. Patikrinkite tikslaus modelio, dtype ir GPU, kuriuos planuojate pristatyti, matricą. Tada išbandykite taip, lyg nepasitikėtumėte niekuo – įskaitant save.
Srautinio perdavimo UX: Pirmasis žetonas svarbesnis už paskutinį
vLLM gerai transliuoja daugumai programų. SGL apsėdimas sumažinti eilės blokavimą suteikia jam pranašumą, kai vartotojo patirtis priklauso nuo pirmojo žetono laiko – skirtumo tarp „tai jaučiasi akimirksniu“ ir „kodėl tai sukasi?“. Jei jūsų programa yra kodo pagalbininkas, paieškos papildytas pokalbis arba bet kas, kur žmogus yra įtrauktas į ciklą, tas pirmasis žetonas yra svarbesnis už neapdorotus žetonus per sekundę.
Jei, vietoj to, generuojate savaitines ataskaitas paketais arba atvaizduojate ilgos formos išvestis serverio pusėje, vLLM pastovios būsenos pralaidumas susigrąžina dolerius GPU laiku. Niekam nerūpi, ar pirmasis žetonas atvyko per 150 ms, ar per 450 ms, jei visa tai yra foninis darbas.
Ops Realumas: žurnalai, apribojimai ir testas „Kas budi“
- vLLM: Brandi operacinė istorija. Lengviau argumentuoti. Aiškiau metrika pajėgumų planavimui, nes paketinis apdorojimas ir puslapiavimas yra nuspėjami.
- SGL: Daugiau ratukų. Potencialiai daugiau galios. Geriau, kai žinote savo srauto modelius ir norite juos formuoti. Bet „budėjimo 2 val. nakties“ istorija yra tik tokia gera, kokia yra jūsų bėgimo instrukcijos.
Naudinga heuristika: jei jūsų komanda negali paaiškinti savo p95/p99 tikslų ir kaip jie siejasi su pajamomis ar UX, pasirinkite vLLM. Jei galite ir turite priežastį siekti mažo galutinio latentinio laiko esant mišriam krūviui, SGL nusipelno savo sudėtingumo.
RAG ir didelio pralaidumo raginimas
Retrieval-augmented generation pila benzino į įvesties pusę. Didžiuliai raginimai su konteksto fragmentais paverčia latentinį laikotarpį tokenizacijos ir įvesties perdavimo sąnaudų funkcija. vLLM atminties pakavimas padeda sutalpinti daugiau šių monstrų šalia. SGL planavimas gali neleisti keliems banginiams užšaldyti būrio. Jei jūsų RAG atrodo kaip „milžiniškas raginimas + trumpas atsakymas“, SGL išankstinis atėmimas gali padėti išlaikyti gyvybingumą. Jei tai yra „vidutinis raginimas + vidutinis atsakymas“ esant nuolatiniam tūriui, vLLM pakavimas laimi.
Išlaidų modeliai, kuriuos iš tikrųjų galite paaiškinti
- Žetonai per GPU valandą: vLLM paprastai laimi esant dideliam krūviui, pastovios būsenos.
- Kaina už interaktyvų seansą: SGL paprastai laimi, kai negalite praleisti kadrų žmogaus suvokime.
- Inžinerijos laikas: vLLM paprastai pigesnis, nebent jau esate įsitraukęs į SGL ir gaunate naudos. Perjungimo išlaidos yra realios.
Visa tai nėra absoliutu. Bet jei jūsų CFO klausia, dabar turite sakinių, kurie skamba kaip anglų kalba.
Etalonai, kurių turėtumėte nepaisyti (ir tie, kurių neturėtumėte)
Nepaisykite vieno skaičiaus diagramų, kuriose neatskleidžiamas užklausų formos pasiskirstymas, paketo dydis, maksimalus lygiagretumas, modelio dtype ir GPU modelis. Tai fitneso asmenukės su tinkamu apšvietimu. Naudingi etalonai:
- Mišraus paskirstymo apkrovos testai: trumpi, vidutiniai, ilgi raginimai, sumaišyti su įvairiais maksimaliais žetonais.
- Galutinis latentinis laikotarpis esant sprogimui: išmatuokite p95/p99 pirmojo žetono laiką modeliuojamo eismo šuolio metu.
- Atminties atsarga: faktinė OOM marža su modeliu ir kv talpykla esant tiksliniam lygiagretumui.
- Stabilumas laikui bėgant: paleiskite šešias valandas; stebėkite lėtus nuotėkius, pralaidumo dreifą arba retus sustojimus.
„Greičiau“ nesvarbu, jei tai greita kam nors kitam skirtam srautui kam nors kitam skirtame GPU.
Kūrėjo ergonomika: kiek abstrakcijos norite?
vLLM teikia pirmenybę švarioms API, nuspėjamoms konfigūracijoms ir derinimui su populiariomis įrankių grandinėmis. Tai saugus numatytasis nustatymas komandoms, kurios nori supaprastinto aptarnavimo sluoksnio. SGL suteikia jums daugiau politikos paviršiaus: prioritetų nustatymo, išankstinio atėmimo elgesio ir vietos formuoti savo skaičiavimą. Tai auksas, jei jums to reikia, ir pridėtinės išlaidos, jei ne.
Plėtinio istorija yra panaši. vLLM paprastai anksčiau integruojasi su populiariomis ekosistemomis ir talpinamomis platformomis. SGL greitai juda planavimo funkcijų ir pažangaus lygiagretumo srityse. Jei žinote, kodėl jums reikia SGL, greičiausiai žinote. Jei ne, greičiausiai dar ne – dar ne.
Kelių modelių zoologijos sodo problema
Aptarnauti vieną pavyzdinį modelį yra senamadiška. Dauguma realių programų žongliruoja keliais: instrukcijomis sureguliuotais LLM, perrangavimo įrenginiais, įterpimais, galbūt regos-kalbos modeliu. vLLM nuspėjamumas leidžia lengviau padalyti pajėgumus keliems modeliams. SGL planavimas suteikia jums įrankių, kad išvengtumėte ilgai veikiančių kiaulių, kurios sužlugdo mažus, aukšto prioriteto skambučius – bet jums reikės nustatyti taisykles. Automatizavimas padeda, bet politikai vis tiek reikia smegenų.
Žodis apie valdymą: SLA ar atmosfera?
Jei esate skolingi klientams skaičius (SLA, SLO, pasirinkite savo akronimą), nuobodumas yra funkcija. vLLM nuoseklumas leidžia lengviau pažadėti slenksčius ir juos pasiekti. Jei jūsų produktas yra susijęs su „jausmu“, o jausmą apibrėžia momentinis grįžtamasis ryšys (pagalvokite apie IDE pilotus), SGL gebėjimas apginti vartotojo patirtį esant stresui yra vertas papildomo apmąstymo.
Kada GPU yra neteisingas atsakymas
Karščiausias aptarnavimo paketas yra tas, kuris naudoja mažiau GPU. Tiek SGL, tiek vLLM gauna naudos, kai elgiatės kaip suaugęs žmogus: geri konteksto langai, protingas sutrumpinimas, geresnis gavimas, atsakymų talpykla ir neprašykite LLM parašyti Karo ir taikos kiekvienam mygtuko paspaudimui. Pigiausias latentinis laikotarpis yra žetonas, kurio niekada nesukuriate.
Realaus pasaulio modeliai (dar žinomi kaip žmonės iš tikrųjų pasirenka)
- Startup įmonė kitą savaitę pristato AI programą: vLLM. Greitis iki kompetencijos laimi.
- Produktas su interaktyvia UX ir šuoliuojančiu srautu: SGL, sureguliuotas galutiniam latentiniam laikotarpiui.
- Galinis paketas generuoja: vLLM, istorijos pabaiga.
- RAG sunkiai apkrautas palaikymo įrankis: lygiosios atveju pirmenybė teikiama SGL, jei jūsų raginimai yra didžiuliai; vLLM kitu atveju.
- Komanda be GPU specialistų: vLLM. Nustokite apsimetinėti.
- Komanda su našumu besirūpinančiu vadovu, kuriam patinka planuotojai: SGL. Mėgaukitės atsakingai.
SGL vs vLLM, skirtas kodo pagalbai ir IDE
Tai vienas iš aiškesnių atvejų. Kodo asistentai gyvena ir miršta nuo suvokiamo reagavimo. Pirmasis žetonas greitas, srautas stabilus, venkite galutinių šuolių, kai vartotojas tris kartus iš eilės spaudžia nuorodą. SGL į išankstinio atėmimo centrą orientuotas pasaulis čia atsiperka. vLLM gali tai padaryti – ypač atidžiai sukonfigūruojant ir turint atsargų – bet dažnai paliksite šiek tiek latentinio laiko ant stalo.
SGL vs vLLM, skirtas pokalbių robotams mastu
Apverskite tai. Esant dideliam, pastoviam pokalbių srautui – palaikymo robotai, vidiniai asistentai, platus klausimų ir atsakymų rinkinys – vLLM pajėgumų pakavimas yra dovana, kuri nuolat teikia. Tai yra tai, ko norite, jei jūsų grafikas daugiausia plokščias, o verslo modelis apdovanoja žetonus už dolerį.
Vidurinis kelias: galite paleisti abu
Šokiruojantis požiūris: skirtingi darbo krūviai, skirtingi serveriai. Paleiskite SGL ten, kur jums reikia interaktyvumo ir mažo galutinio latentinio laiko; paleiskite vLLM masiniam apdorojimui. Nukreipkite pagal galinį tašką, nuomininką ar net paros laiką. Ops pridėtinės išlaidos yra realios, bet jūs perkate laisvę nuo klaidingų pasirinkimų.
Sider.AI iš tikrųjų veikia – bent jau kai naudojate ją tam, kam ji skirta, o keista, bet tai nėra visai tai, ką sako rinkodara. Jei žongliruojate SGL vs vLLM, nes jums reikia praktinės AI darbo stoties ir darbo eigos, kuri nepalūžtų nuo savo klijų kodo, Sider integruota aplinka yra ta dalis, kuriai niekas neskiria biudžeto: nuobodus paviršius, kuriame raginimai, dokumentai ir eksperimentai gyvena, jums neperkuriant juodraščių programos ir vietinės etaloninės įrangos. Ji nepasirinks SGL vs vLLM už jus – ir neturėtų – bet ji padės jūsų komandai sutelkti dėmesį į rezultatus, kol išbandysite abu. Jei norite sidabrinės kulkos, ieškokite kitur. Jei norite mažiau aštrių briaunų tarp „idėjos“, „raginimo“, „paleidimo“ ir „pristatymo“, čia Sider.AI užsitarnauja savo vietą. Dažni prieštaravimai, atsakymai be sukimo
- „Mes prarasime pralaidumą naudojant SGL.“ Galbūt. Esant vienalytės apkrovos sąlygoms, tikriausiai. Esant mišriai, šuoliuojančiai apkrovai, galbūt ne – galutinio latentinio laiko pagerinimas gali padidinti faktinį pralaidumą.
- „Mes prarasime latentinį laikotarpį naudodami vLLM.“ Taip pat galbūt. Esant spaudimui, vLLM išsaugo pralaidumą, net jei pirmojo žetono laikas nukrypsta. Galite sumažinti naudodami atsargas ir sveikus apribojimus.
- „Ar galime sureguliuoti vLLM, kad elgtųsi kaip SGL?“ Iš dalies. Galite nustatyti prioritetus, apkarpyti maksimalius žetonus ir formuoti eiles. Bet planuotojo DNR yra skirtinga.
- „Ar galime sureguliuoti SGL, kad elgtųsi kaip vLLM?“ Taip pat iš dalies. Bet jei savaites paverčiate SGL į vLLM, pasirinkote neteisingai.
Praktinis kontrolinis sąrašas prieš nusprendžiant
- Apibrėžkite metriką, kuri iš tikrųjų yra svarbi: p95 laikas iki pirmojo žetono, p99 viso latentinio laiko, žetonai už dolerį arba gedimų dažnis esant sprogimui. Pasirinkite vieną pagrindinę metriką ir vieną apsaugos priemonę.
- Atkurkite savo tikrąjį srauto paskirstymą. Ne žaislas. Tikros raginimo/atsakymo dydžio histogramos, tikras sprogumas.
- Išbandykite su į gamybą panašia įranga bent valandą esant nuolatinei apkrovai. Ieškokite dreifo, nuotėkių ir retų sustojimų.
- Patikrinkite branduolio ir kvantavimo palaikymą savo tiksliam modeliui. Tada pakartokite tai atnaujinę tvarkykles.
- Nuspręskite, kas budės, ir užsirašykite, kaip atšauksite pakeitimus.
Jei to nedarysite, pasirinkite vLLM ir sutikite su numatytaisiais nustatymais. Jei darysite, SGL gali suteikti jums geresnę vartotojo patirtį ir mažesnius galus, kur slypi malonumas.
Trumpas žodis apie migracijos riziką
Aptarnavimo sistemų perjungimas gamyboje yra toks darbas, kuris sugadina savaitgalius. Jei įtariate, kad norėsite išbandyti abi, suplanuokite tai: standartizuokite užklausos/atsakymo schemas, laikykite tokenizatoriaus ir mėginių ėmimo konfigūracijas nešiojamas ir paslėpkite serverį už nuoseklaus vidinio kliento. Atsiejimas suteikia jums pasirinkimą, o tai yra išgalvotas žodis, reiškiantis „ateityje jūs nekęsite praeities savęs“.
Dialektinė pabaiga, kurią žinojote artėjančią
Jei atėjote čia tikėdamiesi riterio titulo ceremonijos – kelkis, sergai SGL; arba, tegyvuoja vLLM – pasirinkote neteisingą pasaką. Teisingas atsakymas yra suformuotas pagal darbo krūvį. vLLM yra patikimas pikapas, kuris daug velka ir nesiskundžia. SGL yra sportinis universalas, kuris laviruoja sraute neišpildamas kavos. Galite važinėti abiem; jums patiks skirtingai.
Svarbu atsiminti: vartotojai jaučia latentinį laiką, o finansų skyrius – pralaidumą. Jūsų užduotis – suderinti šiuos du dalykus, nemeluojant nė vienam iš jų. SGL ir vLLM palyginimas nėra nuojauta. Tai pripažinimas, kad sąvoka „greitai“ turi daugiau nei vieną aspektą ir kad aptarnavimo sistemos, kaip ir žmonės, atskleidžia savo charakterį esant spaudimui.
Jei jums pasiseks, niekada neturėsite tuo rūpintis. Jei esate geras specialistas, žinosite, kada tai svarbu.
H2: SGL ir vLLM našumas: uždelstosios latentinis laikas ir pralaidumas
- SGL naudoja dinaminį planavimą, kad sumažintų p95/p99 uodegas ir pagerintų pirmojo ženklo (angl. time-to-first-token) laiką esant mišrioms apkrovoms.
- vLLM's PagedAttention leidžia į tą pačią VRAM sutalpinti daugiau vienu metu vykdomų užklausų, padidinant ženklų per sekundę vienam GPU skaičių.
- Pasirinkite SGL interaktyviai UX ir netolygiam srautui; pasirinkite vLLM nuolatiniam didelio srauto pokalbiams arba paketiniam apdorojimui.
H2: SGL ir vLLM diegimo gamyboje pasirinkimai
- Suderinkite savo SLA su latentiniu laiku (SGL palanki) arba pralaidumu (vLLM palanki).
- Patikrinkite savo tikslaus modelio ir GPU kiekybinį įvertinimą ir branduolio palaikymą.
- Laikykite nešiojamą kliento lygmenį, kad galėtumėte nukreipti į SGL ir vLLM pagal galinį tašką.
H2: Teisingas SGL ir vLLM lyginamasis testavimas
- Išmatuokite pirmojo ženklo laiką ir galutinį latentinį laiką esant realiam srautui.
- Stebėkite atminties atsargas ir stabilumą per daugelio valandų trukmės vykdymus.
- Venkite vieno skaičiaus ženklų per sekundę trofėjų, kurie slepia paketo dydį ir užklausų paskirstymą.
H3: Ilgos uodegos raktažodžiai, kurie jums iš tikrųjų rūpi
- „SGL vs vLLM latentinis laikas“
- „SGL vs vLLM pralaidumas“
- „SGL vs vLLM kodo generavimas“
- „SGL vs vLLM diegimas gamyboje“
- „SGL vs vLLM lyginamasis testas“
- „SGL vs vLLM GPU atmintis“
Išvada: sąžiningas atsakymas, kurį galite naudoti
Pasirinkite vLLM, jei norite patikimo numatytojo varianto, o jūsų metrika yra ženklai vienam doleriui per ilgą laiką. Pasirinkite SGL, jei jūsų vartotojai yra žmonės, dalyvaujantys procese, o produkto sėkmė priklauso nuo suvokiamo greičio kraštuose. Jei negalite pasakyti, kuriai stovyklai priklausote, pagal numatytuosius nustatymus esate vLLM stovykloje – ir tai yra gerai. Gera žinia yra ta, kad galite paleisti abu. Dar geresnė žinia yra ta, kad galite nustoti apsimetinėti, jog yra universalus čempionas. SGL ir vLLM yra dviejų protingų, kategoriškų požiūrių į „greitį“ pasirinkimas. Visa kita yra jūsų darbo krūvis, jūsų biudžetas ir jūsų noras reguliuoti nustatymus.
DUK
Q1: Kas greitesnis: SGL ar vLLM?
Priklauso nuo to, ką turite omenyje sakydami greitai. vLLM yra greitesnis esant pastoviam, didelio lygiagretumo pralaidumui; SGL yra greitesnis iki pirmojo ženklo ir nuoseklesnis uodegoje esant mišriai, netolygiai apkrovai. Jei jūsų metrika yra ženklai vienam doleriui, rinkitės vLLM; jei tai suvokiamas latentinis laikas, rinkitės SGL.
Q2: Ar SGL geresnis nei vLLM RAG darbo krūviams?
RAG su didžiuliais raginimais ir trumpais atsakymais, SGL planavimas gali apsaugoti, kad pirmojo ženklo laikas nepadidėtų. Esant vidutinio dydžio raginimams dideliu mastu, vLLM atminties paketas laimi. Prieš statydami viską, atlikite savo realių raginimų dydžių lyginamąjį testavimą.
Q3: Kaip turėčiau sąžiningai lyginti SGL ir vLLM?
Naudokite savo realų užklausų paskirstymą, o ne žaislą. Išmatuokite p95/p99 pirmojo ženklo laiką, bendrą pralaidumą ir stabilumą per kelias valandas. Atskleiskite modelį, dtype, GPU, paketo dydį ir lygiagretumą – kitaip tiesiog gražinate grafikus.
Q4: Ar galiu įdiegti SGL ir vLLM toje pačioje sistemoje?
Taip, ir tikriausiai turėtumėte, jei jūsų darbo krūviai skiriasi. Nukreipkite interaktyvius galinius taškus į SGL, o paketinį arba didelio srauto pokalbį į vLLM. Laikykite nešiojamą kliento lygmenį, kad apsikeitimas nesugadintų jūsų savaitgalio.
Q5: Kada vLLM veikia prasčiau, palyginti su SGL?
Esant netolygiems, mišriems darbo krūviams, kai svarbus pirmojo ženklo latentinis laikas, o ilgi raginimai blokuoja trumpus. SGL pirmumas ir planavimas gali išlyginti šias uodegas. Jei jūsų srautas yra vienalytis, vLLM pastovi būsena dažnai laimi.