
Ollama või vLLM: viie samaaegse kasutaja järel muutub võitja

Ühe arendaja kohaliku töö jaoks on Ollama tavaliselt lihtsam valik; püsiva mitme kasutajaga teenuse puhul muutub vLLMi läbilase kaalukamaks. GigaGPU koormusvõrdlus soovitab kaaluda vahetust umbes viie samaaegse kasutaja järel. Viit kasutajat katses eraldi ei mõõdetud: see on praktiline otsustuspiir, mitte täpne jõudluse murdepunkt.
Piiri taga on vahe üksiku vastuse kiiruse ja kogu teenuse suutlikkuse vahel. SitePointi RTX 4090 võrdlustabelis andis Llama 3.1 8B ühe kasutajaga Ollamas 62 ja vLLMis 71 väljundtokenit sekundis; 50 kasutajaga oli koguläbilase vastavalt 155 ja 920 tokenit sekundis ning avaldatud p99 vastuseaeg 24,7 ja 2,8 sekundit. Ligikaudu kuuekordne läbilaskevahe puudutab just neid seadistusi: Ollama kasutas Q4_K_M, vLLM FP16 mudelikaale. Avaldatud näidisskript ei väljasta tabeli koguläbilaset ning kasutab voogedastuseta päringuid, mistõttu tabeli kõiki näitajaid ei saa üksnes selle skriptiga taastada.
Üks kasutaja, väike meeskond ja koormatud teenus
Ühe aktiivse päringu puhul ei otsusta valikut tingimata väike erinevus tokenikiiruses. Arendaja võib võita rohkem ajas, mis kulub mudeli allalaadimisele, käivitamisele ja vahetamisele. Kui mudel töötab oma masinas ning päringud ei kuhju, on Ollama lihtne mudelihaldus väärtuslikum kui serveri võimalik läbilaskevaru. Kiirem üksikvastus ei tähenda automaatselt mugavamat kohalikku töövoogu.
Umbes viie samaaegse päringu juures muutub oluliseks, kas uus päring alustab kohe või ootab järjekorras. Sama kasutajate arv võib tähendada eri koormust: lühikeste küsimuste vahel jääb GPU jõude, pikkade vastuste puhul püsib see hõivatud. Seetõttu ei saa kasutajate arvu võtta serveri püsiva omadusena. Määrav on ühel ajal töös olevate päringute hulk, nende sisendi pikkus ja soovitud väljund.
Viiekümne samaaegse päringu korral näitavad avaldatud katsed juba koguläbilaske suurt erinevust. Teine, suurema mudeli ja teise GPUga tehtud katse kirjeldab sama suunda, kuid selle absoluutseid tokenikiirusi ei saa väiksema mudeli tulemustega kokku liita. Ühe kasutaja tokenid sekundis mõõdavad individuaalset kogemust; mitme kasutaja koguläbilase näitab, kui palju tööd server ajaühikus lõpetab. Teenuse jaoks tuleb vaadata mõlemat.
Miks Ollama rööpsuse suurendamine ei ole tasuta?

Ollama ei piirdu ühe päringuga korraga. Ollama rööpsuse juhend ütleb, et ühe mudeli paralleelpäringute vaikepiir on üks, seda saab muuta seadistusega OLLAMA_NUM_PARALLEL ning suurem rööpsus kasvatab kontekstide mälutarvet; täitunud järjekorra korral võib server vastata veaga 503. See tähendab, et viie aktiivse kliendi jaoks saab valida suurema paralleelsuse või lasta osal päringutest oodata. Mõlemal valikul on kasutaja jaoks hind.
Kontekstide mälukulu loeb eriti siis, kui pikad sisendid jõuavad serverisse korraga. Kui mudel ja aktiivsete päringute kontekstid ei mahu GPU mällu, ei tee pelk paralleelsuse suurendamine vastuseid kiiremaks. Väikese sisetööriista puhul võib järjekord olla vastuvõetav; interaktiivses teenuses jõuab see kiiresti aeglaseimate vastuste latentsusse. Serveri seadistust tuleb seega hinnata koos mudeli suuruse ja tegelike vestluste pikkusega.
Ollama võimalus hoida mitu mudelit mälus on samuti piiratud vaba mäluga. Kui rakendus vahetab mudelite vahel, võib mudeli laadimine lisada viivituse isegi siis, kui korraga tegutseb vähe inimesi. See on teistsugune koormus kui paljude klientide teenindamine ühe mudeliga ning seda ei kirjelda ühe mudeli koguläbilaske tabel.
Kvantimine muudab mälupildi ja kiirusvõrdluse tähendust
Esimese katse Ollama tulemus pärines neljabitise Q4_K_M mudeliga seadistusest, vLLMi põhitulemus FP16 kaaludega seadistusest. Selline võrdlus vastab levinud kasutusviisidele, kuid ei eralda serveri mõju kaaluvormingu mõjust. Väiksemad kaalud jätavad GPU mällu rohkem ruumi kontekstidele; teistsugune täpsus võib muuta nii arvutuskoormust kui ka vastuste kvaliteeti. Seetõttu ei tähenda väiksem mälukulu üksinda, et sama server kasutaks mälu tõhusamalt.
Avaldatud võrdlus sisaldab ka vLLMi AWQ varianti. See annab neljabitisele Ollama variandile lähema lähtekoha kui FP16, ehkki AWQ ja Q4_K_M ei ole sama vorming ega pruugi anda identseid vastuseid. Kui eesmärk on valida rakendusele sobiv terviklahendus, on eri vormingute võrdlemine mõistlik. Siis tuleb tulemuseks nimetada mudeli, kvantimise, serveri ja seadistuse koosmõju, mitte ühe tarkvara universaalset võitu.
Mälupiir võib otsuse teha enne jõudlusgraafikut. Kui vajalik FP16 mudel koos soovitud kontekstidega GPU-sse ei mahu, ei saa selle läbilaset olemasoleval riistvaral kasutada. Kvanditud mudel võib anda väiksemal masinal toimiva teenuse, kuid selle vastuste sobivust tuleb hinnata sama ülesande peal. Suurema GPU puhul võib seevastu olla mõistlik kulutada mälu paralleelsete päringute teenindamisele.
API sobivus ja teenuse töökindlus

Ollama kohalik API võimaldab enamat kui lihtsat tekstipäringut. Ollama API kirjeldus hõlmab voogedastust, tööriistakutseid, JSON-skeemiga väljundit ja keep_alive parameetrit mudeli mälus hoidmise määramiseks. Need võimalused katavad paljud väikese rakenduse vajadused. keep_alive võib vähendada sagedase laadimise viivitust, kuid mälus hoitav mudel jätab teistele mudelitele ja päringutele vähem ruumi.
vLLMi ametlik käivitusjuhend kirjeldab pakktöötlust ning OpenAI protokolliga ühilduvat serverit, mis teenindab korraga üht mudelit. See sobib olukorda, kus paljud kliendid küsivad vastuseid samalt mudelilt. Kui rakendus peab pakkuma mitut eraldi mudelit, tuleb nende jaoks kavandada eraldi serverieksemplarid ja päringute suunamine. API ühilduvus lihtsustab ühendamist, kuid enne vahetust loevad rakenduse kasutatavad lõpp-punktid, vastuseväljad ja mudeli vestlusmall.
Töökindluse mõõt ei ole ainult see, kas server võtab päringu vastu. Oluline on ka õnnestunud päringute osakaal, järjekorra pikkus ja aeg, mille jooksul saabub aeglaseim vastus. Voogedastusega vestluses tasub eristada esimese tokeni saabumist vastuse täielikust valmimisest; voogedastuseta päringu kogukestus ei mõõda esimest tokenit. Nii saab valida Ollama lihtsama kohaliku töövoo ja vLLMi suurema teenindusvaru vahel selle järgi, mida kasutajad tegelikult ootavad.
Loe ka:
Seotud artiklid


Linktree või Beacons: umbes 300 dollarit kuus pöörab tasude võitja

Reflectioni Beam lubab 501 miljardit parameetrit, kuid kaale veel ei avaldatud

Claude Haiku 5.5 maksab lühikeses päringus sama mis GPT-6 Luna

Hugging Face’i autoscaling: nullini skaleerimine võib vastata 503-ga

Copilot Studio: 25 000 krediiti ei tähenda 25 000 vastust
Telli meie uudiskiri
Saa värskeimad Web3, AI ja krüptouudised otse oma postkasti.