„Ollama“ našumo ir atminties valdymo rekomendacijos

  • Svarbiausia užtikrinti, kad interaktyviai naudojami modeliai 100 % tilptų į VRAM, siekiant išvengti reikšmingų našumo sumažėjimų.
  • Kvantavimas, konteksto ilgis ir modelio pasirinkimas turi įtakos tiek kokybei, tiek atminties sunaudojimui.
  • „Ollama“ supaprastina modelių ir išteklių valdymą, palyginti su „llama.cpp“, tačiau suteikia šiek tiek mažiau tikslios kontrolės.
  • Subalansuota aparatinės įrangos konfigūracija, atsižvelgiant į vaizdo operatyviąją atmintį (VRAM), operatyviąją atmintį (RAM), procesorių ir diską, leidžia sėkmingai ir sklandžiai teikti privačius LLM sprendimus, naudojantis SaaS technologija.

„Ollama“ našumo ir atminties valdymo rekomendacijos

Jei galvojate įkurti Privati ​​LLM paslauga su OllamaNesvarbu, ar tai jūsų interneto paslaugų teikėjas kaimo vietovėje, mažas duomenų centras, ar galingas kompiuteris namuose, svarbiausias klausimas visada tas pats: kaip maksimaliai išnaudoti našumą nešvaistant pinigų nenaudojamai įrangai?

Didelių kalbų modelių pasaulyje VRAM, RAM, CPU, GPU, kvantavimas ir kontekstas Tai ne tik techninis žargonas: tai elementai, kurie nulems, ar jūsų klasteris veiks sparčiu, ar šliaužs. Be to, „Ollama“ ir „llama.cpp“ skirtingai tvarko atmintį ir procesoriaus / grafikos procesoriaus paskirstymą, ir tai suprasti yra labai svarbu norint nuspręsti, ar didelis mazgas su keliais grafikos procesoriais, ar keli kuklesni 1:1 įrenginiai vienam klientui yra ekonomiškiau.

GPU grupavimas klasteryje arba jų dedikavimas 1:1: kas geriausia „Ollama“?

Kai svarstote apie privačią SaaS su „Ollama“, pirmoji dilema yra tai, ar įsteigti centralizuotas GPU telkinys arba kiekvienam klientui priskirti po kompiuterį (arba GPU). Čia praverčia tai, kaip „Ollama“ ir „llama.cpp“ naudoja išteklius:

  • „Monstrų“ mazgas su keliais GPUidealus pasirinkimas, jei norite bendrų užklausų eilių, kad galėtumėte visapusiškai išnaudoti GPU su daugeliu vienu metu veikiančių vartotojų ir konsoliduoti administravimą bei priežiūrą.
  • 1:1 aparatai vienam klientui: daugiau izoliacijos, mažiau rūpesčių dėl kelių nuomininkų, nuspėjamas išteklių suvartojimas ir labai patogu klientams, kurie moka už „savo“ mašiną.

Šiuo metu Ollamama daugiau dėmesio skiria naudoti vieną ar daugiau vietinių GPU kiekvienam egzemplioriui nei paskirstyto „Kubernetes“ tipo klasterio su smulkiu apkrovos balansavimu tarp mašinų organizavimas. Mažam interneto paslaugų teikėjui, norinčiam aptarnauti „pagrindinius vartotojus“:

  • Jei tikslas yra veikimo paprastumasPaprastai protingiausias pasirinkimas yra keli gero dydžio įrenginiai (kiekvienas po 16–24 GB VRAM) su „Ollama“ kiekvienam mazgui ir klientų paskirstymu kiekviename serveryje.
  • Jei norite žaisti „mini hiperskalerį“, galite pasiūlyti didelis serveris su keliais GPU ir kiekvienam klientui skirtą tarpinį serverį (arba kelis „Ollama/llama.cpp“ egzempliorius), tačiau planavimo ir izoliavimo sudėtingumas gerokai padidėja.

Lemiamas veiksnys yra ne tik topologija, bet ir Kokius modelius teiksite, kokiame kontekste ir kiek vienu metu vyks sesijų?Tai tiesiogiai lemia, kiek VRAM reikia vienam vartotojui.

Kaip „Ollama“ tvarko atmintį, vaizdo operatyviąją atmintį ir procesoriaus / grafikos procesoriaus bendrinimą

Ollama pasikliauja vidiniu llama.cpp ir kitos vidinės sistemosTačiau tai prideda orkestravimo sluoksnį, kuris labai supaprastina jūsų gyvenimą. Kalbant apie atmintį ir našumą, yra keli svarbūs punktai:

Modelio atvaizdavimas ir atminties įkrovimas

lama.cpp JAV mmap susieti modelio GGUF failą su adresų erdve. Tai leidžia Operacinė sistema nusprendžia, kurios dalys iš tikrųjų yra RAM atmintyje. kiekvieną akimirką, sutrumpinant pradinį įkėlimo laiką, palyginti su viso failo įkėlimu į atmintį vienu metu.

Ollama, savo ruožtu, yra atsakingas už:

  • Įkelti ir atsisiųsti modelius VRAM/RAM atminties kiekis pagal aktyvumą, atsižvelgiant į laiką OLLAMA_KEEP_ALIVE.
  • Bendrinkite modelius tarp to paties egzemplioriaus sesijų, skirtų venkite nereikalingo įkrovimo.
  • Parodyk save su ollama ps atminties naudojimas, dalyba Procesorius / GPU ir jei procesoriui perkeliami sluoksniai.

Praktiškai, kai matote modelį su, pvz. 18 % / 82 % procesoriaus / grafikos procesoriausTai reiškia, kad dalis sluoksnių netilpo į vaizdo atmintinę (VRAM) ir yra vykdomi sistemos RAM atmintyje per procesorių, o tai, kaip rodo keli pavyzdžiai, turi įtakos greičiui. latencijos analizė vietiniuose tinkluose.

Kas nutinka, jei modelis netelpa į VRAM?

Štai vienas iš svarbiausių klausimų: jei modelis visiškai naudojamas VRAM, jūs gaunate laukiama grąža 100%Bet kai modelis viršija turimą vaizdo atminties talpą, „Ollama“ paskirsto sluoksnius tarp GPU ir CPU. Ar našumas mažėja proporcingai RAM atmintyje pašalintų sluoksnių skaičiui, ar jis visiškai pririša jus prie RAM ir magistralės greičio?

Praktiniai duomenys su RTX 4080 16GB Jie yra niokojantys:

  • 100 % GPU modeliaimaždaug 60–140 žetonų/s (pvz., „gpt-oss:20b“ su 14 GB pasiekia ~140 žetonų/s).
  • Modeliai 70–80 % GPU (likusi procesoriaus dalis): nukrenta iki ~19–50 tk/s.
  • Modeliai su ~20 % GPU (daugiausia dėl procesoriaus): jie išlieka ~12 tok/s greičiu (gpt-oss korpusas: 120b, naudojama 66 GB RAM + VRAM).

Kitaip tariant, tai ne tiesiog „prarandu 30 % našumo, nes 30 % yra procesoriuje“, o greičiau... Duomenų perkėlimo tarp RAM ir VRAM bei CPU sluoksnių vykdymo vėlavimas padidina kliūtį.20B vien tik GPU pagrįsta sąranka gali būti 10–11 kartų greitesnė nei 120B, daugiausia CPU pagrįsta sąranka.

Taigi, jūsų klasteriui: Svarbiausias tikslas – visiškai pritaikyti svarbiausius interaktyvaus naudojimo modelius VRAM atmintyje.Viską, kas netelpa, geriausia palikti paketinėms, naktinėms arba žemo prioriteto užduotims.

MoE (Mišrių ekspertų) modeliai ir procesoriaus apkrovos mažinimas

Tipiniai modeliai Ekspertų mišinys (pvz., GLM 4.7 „Flash“ arba kai kurie „Qwen“ ir „DeepSeek“ egzemplioriai) turi daug parametrų, bet aktyvuoja tik nedidelę dalį ekspertų vienam žetonui. Teoriškai tai gali padėti VRAM ribotose situacijose, nes Ne visos modelio dalys naudojamos vienu metu..

Praktiškai, su Ollama:

  • 30B-A3B (iš viso 30B, 3B aktyvūs) MoE, kaip glm-4.7-flash Jis juda apie 30–35 tok/s greičiu, iš dalies apkraunant procesorių, o tai gana garbinga tokio dydžio procesoriui.
  • MoE pranašumas nekompensuoja, jei modelis ir toliau viršija VRAM ir verčia daug sluoksnių perkelti per magistralę.
  • „Ollama“ nesupranta MoE kaip kažko ypatingo planuoklės lygmeniu; ji tiesiog mato sluoksnius ir atmintį. MoE magija slypi modelio architektūroje, o ne „Ollama“.

Praktinė išvada: ŠMM padeda, bet stebuklų nedaro.Jei gerokai viršysite VRAM limitą, ir toliau mokėsite už RAM ir CPU naudojimą. Geriau naudoti MoE, kad dar labiau padidintumėte ribas, o ne tam, kad visada pateisintumėte darbą už VRAM ribų.

„Llama.cpp“ ir „Ollama“ palyginimas, siekiant maksimaliai išnaudoti savo aparatinę įrangą

Daugelis diskusijų prasideda tipišku klausimu: „Kodėl naudoti „Ollama“, o ne tiesiogiai „llama.cpp“?“ Kalbant apie našumą ir atminties valdymą, verta aiškiai atskirti kiekvieno vaidmenis.

llama.cpp: tenzorių operacinė

llama.cpp yra didelio našumo C++ variklisJo tikslas – išspausti visą procesoriaus ir grafikos procesoriaus našumą, ypatingą dėmesį skiriant x86 procesoriams su AVX, „Apple Silicon“ ir NVIDIA/AMD grafikos procesoriais. Jis skirtas tiems, kurie nori:

  • Sureguliuokite kvantavimas išsamiai (Q4_K_M, Q5_0, Q8_0, Q2_K…).
  • valdymas GPU sluoksnių skaičius su --n-gpu-layers.
  • Rankena kontekste, partija, gijų skaičius, GBNF gramatikos ir kiti tikslūs parametrai.

Žemo lygio, taip, bet labai galingas. Kalbant apie atmintį:

  • JAV mmap įkelti modelį ir leisti branduoliui nuspręsti, kas laikyti RAM atmintyje.
  • Tai leidžia tiksliai pasirinkti, kurie sluoksniai bus perduoti GPU. -ngl, koreguojant VRAM sunaudojimą milimetro tikslumu.
  • Integra K-Quants sumažinti dydį kuo mažiau paveikiant kokybę.

Trumpai tariant: llama.cpp puikiai tinka, jei norite Sukurkite savo itin optimizuotą paslaugą kur jūs kontroliuojate kiekvieną parametrą ir nebijokite gaišti laiko naudodami komandinės eilutės parinktis ir išplėstinę konfigūraciją.

Ollama: serverio orkestravimo programa

„Ollama“ parašyta „Go“ kalba ir kaip savo vidinę sistemą naudoja „llama.cpp“ (o kai kuriais atvejais ir kitus variklius, pvz., vLLM). Jos tikslas – suteikti jums „Docker for models“ tipo patirtis:

  • paprasta komandinė eilutė: ollama pull, ollama run, ollama list, ollama ps.
  • POILSIO API en 127.0.0.1:11434 Pagal numatytuosius nustatymus jis paruoštas prijungti grafines sąsajas, tokias kaip „Open WebUI“, arba jūsų pačių programas.
  • Modelių valdymas: atsisiųskite iš savo registro, atnaujinkite, įdiekite vietinėje saugykloje, nukopijuokite ir įdiekite savo modelius.
  • Automatinis aparatinės įrangos aptikimasAnalizuoja GPU, RAM ir kontekstą, kad galėtų koreguoti GPU/CPU sluoksnius jums jų neliesdami. --n-gpu-layers.

Tikrasis skirtumas yra abstrakcijos lygis„llama.cpp“ yra neapdorotas variklis, o „Ollama“ – pilnai paruoštas vairuoti automobilis. Už šiek tiek mažiau ekstremalų valdymą gaunate:

  • Paleiskite modelius viena komanda.
  • Užklausų eilės ir automatinis atsisiuntimas po neaktyvumo (OLLAMA_KEEP_ALIVE).
  • Tiesioginė integracija su grafinėmis sąsajomis ir platformomis.

Galutiniam vartotojui arba teikiant bendras paslaugas interneto paslaugų teikėjų klientams, Ollama paprastai yra aiškus pasirinkimas.Labai siauriems XXL modeliams arba norint išnaudoti visas konkretaus GPU galimybes, „llama.cpp“ gali turėti nedidelį pranašumą, jei žinote, kaip jį gerai suderinti.

Aparatinės įrangos rekomendacijos: VRAM, RAM, CPU ir diskas, skirtas „Ollama“

„Ollama“ našumo ir atminties valdymo rekomendacijos

Norint nustatyti klasterio dydį, nepakanka vien žiūrėti į GPU. Svarbu ir pusiausvyra tarp VRAM, RAM, CPU, diskas ir kontekstas Jis turi daugiau galios, nei atrodo.

VRAM: svarbiausias išteklius

VRAM yra pagrindinė kliūtis. Tik rekomendacinio pobūdžio:

  • 8 GB RAMpakanka mažiems/vidutiniams kvantuotiems modeliams (7B, apie 13B Q4_K_M su kukliu kontekstu).
  • 16 GB RAM: dabartinis optimalus dydis rimtam naudojimui: 14B, 20B, 24B Q4_K_M pilnai GPU su ~16–32K kontekstais.
  • 24 GB ar daugiau: būtinas, jei norite 30B–35B su plačiu GPU kontekstu arba apdoroti kelias lygiagrečias vidutinio dydžio modelių sesijas nepradėjus perkelti sluoksnių.

Keletas praktinių RTX 4080 16 GB vaizdo plokštės, turinčios ~19K kontekstą ir Q4_K_M kvantavimą, verčių:

  • gpt-oss:20b (20B): ~14 GB, 100% GPU, ~140 tok/s.
  • Qwen 3:14b: ~12 GB, 100% GPU, ~62 tok/s.
  • Mistralis-3:14b: ~13 GB, 100% GPU, ~70 tok/s.

Bet kuris modelis, viršijantis šias ribas, sumaišo procesorių ir grafikos procesorius. Jei savo projekte norite pateikti didelį kontekstą, pvz., 80–100 tūkst., keliems vartotojams, Kiekvienas konteksto šuolis taip pat padidina efektyvų VRAM sunaudojimą.nes KV podėlis auga.

Sistemos RAM ir procesoriai: svarbesni nei atrodo

Kai „Ollama“ perkelia sluoksnius į procesorių, jūsų procesorius tampa išvadų variklio dalimiTestuose su i7-14700 (8P+12E) ir 64 GB DDR5-6000:

  • Modeliai su 20–30 % procesoriaus sluoksnių vis dar yra tinkami naudoti (~30–50 tok/s).
  • Kai procesoriaus naudojimo procentas viršija 50 %, pokalbio patirtis pradeda lėtėti, ypač jei kontekstas yra didelis.

Protingos rekomendacijos dėl aptarnavimo mazgo:

  • Minimali RAM atmintis – 16 GB: tik žaidžiant su 7B ir 13B lemputėmis.
  • Rekomenduojama RAM atmintis 32–64 GB: skirtas rimtam daugelio vartotojų naudojimui su 14–24B modeliais ir plačiu kontekstu.
  • CPU su bent 8 branduoliais (arba modernus P+E derinys), siekiant sumažinti sluoksnių iškrovimą nesugriūvant mazgų, taip pat apsvarstyti, kaip konfigūruoti našumo profilius „Windows“ sistemose, jei taikoma.

Albumas: Tylusis dramblys

Modelių failai yra neįtikėtinai dideli. Kvantavimas padeda, bet net ir tada:

  • Maži kvantiniai modeliai~2 GB.
  • Kvantuoti medianiniai modeliai5–20 GB.
  • Dideli modeliailengvai 40–200 GB ar daugiau; yra kontrolinių taškų, kurie viršija 1 TB.

Kaip trumpa taisyklė, visada rezervuokite paraštė, bent 2–3 kartus didesnė už kiekvieno modelio dydį tarp bazinio failo, variantų, talpyklų ir žurnalų bei įvertina parinktis Vietinė saugykla, palyginti su hibridiniu debesiuIr naudokite NVMe-SSDDėl to labai pagerėja mmap įkėlimo laikas ir puslapiavimas.

Kiekybinis įvertinimas, kontekstas ir modelio parinkimas: tiesioginis poveikis našumui

Nors kartais tai pamirštama, kvantavimas kurį jūs pasirenkate ir konteksto ilgis Jie daro didžiulį skirtumą atminties sunaudojime ir greičiui.

Kvantavimo „Rozetės akmuo“

Paprasčiau tariant, galite įsivaizduoti šiuos variantus:

  • FP16Modelis beveik be suspaudimo, maksimali kokybė, didžiulis dydis. Reikia daug VRAM/RAM.
  • Q8_0Švelnus suspaudimas, kokybė beveik identiška FP16, bet vis tiek didelis dydis.
  • Q4_K_M: „subalansuotas“ standartas vietiniam naudojimui. Sumažinkite dydį perpus su tik ~1–2 % vidutiniu tikslumo praradimu. Tai rekomenduojamas pasirinkimas daugumai diegimų.
  • Q2_K: ekstremalus suspaudimas, minimalus dydis, bet modelis tampa akivaizdžiai mažiau patikimas, atsiranda daugiau haliucinacijų.

Praktiškai, vietiniam SaaS su keliais klientais, rinkitės Q4_K_M modelius Jis siūlo geriausią kokybės, našumo ir vaizdo atminties sunaudojimo santykį. Q8_0 yra naudingas, jei turite daug vaizdo atminties ir norite išspausti šiek tiek daugiau kokybės iš mažo / vidutinio dydžio modelio.

Konteksto ilgis (num_ctx) ir jo paslėpta kaina

Parametras num_ctx „Ollama/llama.cpp“ apibrėžia, kiek žetonų modelis gali „matyti“ vienu metu: sistemą, pokalbių istoriją, dabartinį raginimą ir atsakymą. Konceptualiu lygmeniu:

  • Maži langai (2K–4K): mažiau atminties, didesnis greitis, bet ilguose pokalbiuose ar dideliuose dokumentuose prarandamas kontekstas.
  • Vidutinio pločio langai (8K–32K): tinkamas vidurio taškas daugumai profesionalių naudojimo būdų.
  • Milžiniški langai (64K–128K+): įspūdingi teoriškai, bet sunaudoja daug daugiau VRAM ir pablogina našumą, jei aparatinė įranga jau yra pasiekusi savo ribą.

Be to, jei priversite num_ctx didesnis nei kontekstas, kuriame modelis buvo apmokytasGalite susidurti su neįprastu elgesiu ir kokybės sumažėjimu. Vien padidinti reikšmę nustatymuose nepakanka; yra architektūrinis apribojimas.

Jūsų atveju protingiausia būtų:

  • Pasiūlymas „Įprasti“ planai su 8–16 tūkst. kontekstukurie gerai tilpo į VRAM.
  • Knyga 64 tūkst.–100 tūkst. kontekstų tik aukščiausios kokybės mašinoms arba GPU ir priimkite žetonų/-ų kritimą.

Geriausios našumo ir atminties valdymo praktikos naudojant „Ollama“

Be aparatinės įrangos, yra keletas konfigūracijos ir architektūros sprendimų, kurie gali turėti didelės įtakos sklandžiam klasterio veikimui.

Užtikrinkite, kad svarbiausi modeliai būtų 100 % GPU

Prieš pateikiant modelį klientui, patartina jį išbandyti ir patikrinti su ollama ps kad PROCESORIUS lauke rodoma 100 % GPU kai naudojamas. Jei matote 60/40 procesoriaus / grafikos procesoriaus padalijimą arba dar blogesnį rodiklį, palieskite:

  • Perjungti į agresyvesnis kvantavimas (pavyzdžiui, nuo Q8_0 iki Q4_K_M).
  • Naudokite a mažesnis modelis (pavyzdžiui, 20B vietoj 35B).
  • Sumažinti num_ctx jei klientas gali gyventi šiek tiek mažesniame kontekste.

Interaktyviam pokalbiui geriau naudoti gerai suderintą 20B, veikiantį 140 tok/s greičiu, nei 120B, veikiantį 12 tok/s greičiu. Vartotojai pastarąjį vertina daug labiau. patirties kintumas kad hipotetinį kokybės pagerėjimą būtų sunku suvokti.

Koreguokite OLLAMA_KEEP_ALIVE ir įkelto modelio strategiją

Parametras OLLAMA_KEEP_ALIVE apibrėžia, kiek laiko „Ollama“ laiko modelį atmintyje po paskutinės užklausos. Galimos reikšmės:

  • 0Jis atsisiunčiamas iš karto po atsakymo pateikimo. Tai taupo atmintį, bet pailgina įkėlimo laiką.
  • X m (pvz., 5 m, 15 m): Subalansuoja RAM/VRAM ir lankstumą. Idealiai tinka paslaugoms, kuriose kartais pasitaiko padidėjimų.
  • -1Modelis lieka įkeltas, kol paslauga aktyvi. Labai naudinga jūsų pagrindiniams SaaS modeliams.

Kelių vartotojų scenarijuje paprastai gerai veikia, jei reikia palaikyti vienas ar du baziniai modeliai visada pakrauti (pavyzdžiui, universalų 14B ir kodinį) ir atsisiųskite likusius po kelių minučių neveiklumo.

Aplinkos kintamųjų ir modelio kelių valdymas

„Ollama“ leidžia koreguoti jos elgesį naudojant įvairius aplinkos kintamuosius, kurie turi įtakos išteklių ir prieigos valdymui:

  • ORKAITIŲ_MODELIAI: kelias, kuriame saugomi modeliai. Naudinga norint juos siųsti į specialų, didesnės talpos standųjį diską / SSD.
  • OLLAMA_HOSTAPI sąsaja ir prievadas (numatytoji reikšmė 127.0.0.1:11434). Jei atidarote jį LAN tinkle, apribokite prieigą naudodami užkardą.
  • OLLAMA_ORIGINSCORS išorinėms žiniatinklio grafinėms sąsajoms (atvira žiniatinklio sąsaja, pasirinktiniai skydeliai ir kt.).
  • OLLAMA_DEBUGderinimo režimas, skirtas peržiūrėti išsamius modelio įkėlimo, GPU aptikimo, CUDA/ROCm klaidų ir kt. žurnalus.

„Linux“ sistemoje šie parametrai paprastai konfigūruojami naudojant systemd (su systemctl edit ollama.service), o „Windows“ ir „macOS“ sistemose jie nustatomi kaip sistemos arba vartotojo aplinkos kintamieji.

Stebėjimas ir žurnalai

Klasteryje turite aiškiai suprasti, kas vyksta kiekviename mazge. Norėdami tai padaryti:

  • Linux sistemoje naudokite journalctl -u ollama stebėti paslaugų žurnalus. Su -f Matote tai realiu laiku.
  • Papildyti su nvidia-smi arba lygiavertį AMD, kad būtų galima peržiūrėti VRAM, GPU apkrovą ir energijos suvartojimą.
  • Jei rimtai žiūrite į SaaS, integruokite metriką (žetonus/-us, eiles, klaidas) į savo stebimumo steam rinkinį.

Ankstyvas aptikimas, kad modelis veikia daugiausia su procesoriaus apkrovomis arba kad eilės užstrigusios, sutaupo daug problemų su klientais; ir įrankiai, skirti suraskite IP adresą savo vietiniame tinkle Jie gali padėti su mazgų inventorizacija.

Modelių pasirinkimas ir tipiniai naudojimo atvejai Ollamoje

Atsižvelgiant į visa tai, kas išdėstyta pirmiau, kitas našumo ramstis yra kiekvienai užduočiai pasirinkti tinkamą modelįne tik „važiuoti visu greičiu“, bet ir kontroliuoti suvartojimą bei delsą.

Bendro pokalbio ir asistentų šablonai

Pokalbiams, palaikymui, el. laiškų rašymui, santraukoms ir bendroms užduotims, tokie šablonai kaip:

  • Qwen3 14BPuikus instrukcijų sekimas ir geras greitis esant 100 % GPU panaudojimui.
  • Mistral 3 14Blabai subalansuota kalbos kokybė ir našumas.
  • Gemma ir Llama 3.x 7–14B konfigūracijose: geri universalūs variantai mažiau reikliems vartotojams arba paprastesnei techninei įrangai.

Su šiomis šeimomis Q4_K_M ir 8K-16K kontekste turite tvirtą pagrindą daugumai profesionalių vartotojų, neperkraudami VRAM.

Kodavimo ir kūrimo modeliai

Kodo generavimo, peržiūros ir kūrimo užduotims atlikti patartina rinktis konkrečius modelius:

  • qwen3-coder:30bStiprus programavimo ir įrankių srityje, nors dalis modelio baigiasi procesoriumi su 16 GB vaizdo atminties.
  • „DeepSeek“ programuotojas, „CodeLlama“ ir kitus kodo variantus mažesniems dydžiams, jei norite daugiau lengvumo.

Jei ketinate siūlyti „kūrėtojų planus“, apsvarstykite mazgą su daugiau nei 16 GB vaizdo atminties kad būtų galima pritaikyti šiuos modelius nesukeliant per didelės procesoriaus apkrovos.

Multimodaliniai modeliai ir vizija

Užduotims, kuriose derinamas tekstas ir vaizdas (ekrano kopijų analizė, nuskaityti dokumentai ir kt.), pažymėti modeliai vizija (llava, moondream, bakllava, qwen-vl…) yra tie, kuriuos turėtumėte surinkti. Štai:

  • VRAM sunaudojimas padidėja, o žetonų greitis paprastai sumažėja.
  • Patartina juos apriboti konkrečiomis užduotimis ir nemaišyti su intensyviais pokalbiais, kuriuose dalyvauja daug vartotojų.

Jei turite mišrų GPU telkinį (pavyzdžiui, 5070 + 5060 + 4060, 48 GB bendros vaizdo atminties), gali būti įdomu vieną iš plokščių skirti vaizdo modeliams, o kitą – tik tekstui, taip išvengiant vieno įrenginio perkrovos viskuo.

Diegimo, diegimo ir vykdymo variantai (vietinis, „Docker“, konteineriai)

Operaciniu lygmeniu „Ollama“ galima įdiegti keliais būdais: tiesiogiai „Windows“, „macOS“ ar „Linux“ sistemose arba konteineriuose („Podman“, „Docker“...).

Pavyzdžiui, „Linux“ sistemoje galite diegti „llama.cpp“ GPU optimizuotame konteineryje:


Description=llama
After=network-online.target


Image=ghcr.io/ggml-org/llama.cpp:server-cuda
ContainerName=llama
PublishPort=8000:8000
AddDevice=nvidia.com/gpu=all
Environment=NVIDIA_DRIVER_CAPABILITIES=all
Environment=NVIDIA_VISIBLE_DEVICES=all

Exec=--host 0.0.0.0 \
     --port ${PORT} \
     -m ${MODEL_PATH} \
     -ngl ${NGL} \
     -c ${CONTEXT_SIZE} \
     --flash-attn on \
     --batch-size ${BATCH}

Volume=/data/models:/models:Z
Network=llama.network


Restart=always
Environment=PORT=8000
Environment=MODEL_PATH=/models/gemma-4-E4B-it-Q8_0.gguf
Environment=NGL=99
Environment=CONTEXT_SIZE=128000
Environment=BATCH=512


WantedBy=default.target

Šis diegimo tipas leidžia jums atskiri „Ollama“, „llama.cpp“ ir kiti įrankiai konteineriuose valdykite versijas ir izoliuokite išteklius pagal paslaugą (ir, jei norite, pagal klientą).

Norėdami valdyti „Hugging Face“ modelius GGUF arba „Safetensors“ programose, galite naudoti tokius įrankius kaip rust-hf-downloader ir tada importuokite juos į „Ollama“ naudodami Modelių failaikur apibrėžiate FROM, TEMPLATE, numatytuosius parametrus ir raginimo sistemą, be to, palaikote sinchronizavimas ir vietinės atsarginės kopijos artefaktų, jei dirbate su keliais mazgais.

Surinkus dalis, likusi dalis priklauso nuo valdymo sprendimų: kokius modelius siūlote kuriems klientams, su kokiais konteksto apribojimais ir kokia yra atnaujinimų bei kiekybinių įvertinimų politika, kad nebūtų sutrikdytas suderinamumas ar numatomas našumas.

Jei aišku, kad svarbiausia, jog modeliai visiškai tilptų į VRAM, kad kvantavimas išliktų priimtino balanso (Q4_K_M) ir kad kontekstas neviršytų jūsų aparatinės įrangos galimybių, tuomet nustatykite „Ollama“ privati ​​SaaS vidutinio dydžio klasteryje Tai nustoja būti moksline fantastika ir tampa pagrįsta investicija: mokate už GPU ten, kur jie iš tikrųjų prisideda, rūpinatės RAM, kad būtų palaikomi retkarčiais atliekami atsisiuntimai, ir naudojate orkestravimo įrankius („Ollama“, „llama.cpp“, konteinerius, „Open WebUI“), kad suteiktumėte savo klientams „privataus ChatGPT“ patirtį, tačiau su savo taisyklėmis ir nepriklausydami nuo debesies.

Metinis namų kompiuterio auditas
Susijęs straipsnis:
Vietinio kompiuterio telemetrijos prietaisų skydelis be debesies: išsamus vadovas

Pridėti kaip pageidaujamą šaltinį