„Paleisti DI“ apima du poreikius, kuriems reikia skirtingo dydžio serverio. Programa, kuri modelį kviečia per API, parenkama kaip bet kuri žiniatinklio programa; pačiame serveryje vykdomas modelis pirmiausia parenkamas pagal jo atmintį. Šis gidas atskiria abu atvejus, pateikia įprastų modelių dydžius ir būdą juos apskaičiuoti.
Dauguma programų, kurios „naudoja DI“ (asistentai, agentai, santraukos, duomenų ištraukimas, paieška dokumentuose), kviečia modelį, kurį per API talpina jo kūrėjas. Skaičiavimai vyksta pas jį; jūsų serveris paruošia užklausą, laukia atsakymo ir jį apdoroja. Tada serveris parenkamas kaip bet kuri žiniatinklio programa: pagal programavimo kalbą, duomenų bazę ir vienu metu prisijungusių vartotojų skaičių.
Kitas atvejis yra pačiame serveryje vykdomas modelis, su Ollama, llama.cpp ar Python biblioteka. Priežastys žinomos: duomenys lieka jūsų infrastruktūroje, išlaidos pastovios nepriklausomai nuo užklausų skaičiaus, foninis didelių apimčių apdorojimas, specializuotas modelis. Tada visas modelis turi tilpti atmintyje, ir būtent jis lemia dydį.
| Ką daro serveris | Lemiantis išteklius | Atspirties taškas |
|---|---|---|
| Kviečia modelį per API (asistentas, agentas, pokalbių robotas) | Programos atmintis | 2 vCPU, 4 GB |
| Taip pat skaičiuoja embeddings ir užklausia vektorinę duomenų bazę (pgvector) | Vektorių ir jų indekso atmintis | nuo 2 iki 4 vCPU, nuo 6 iki 8 GB |
| Vykdo nedidelį modelį (nuo 1 iki 4 milijardų parametrų) foniniam apdorojimui | Atmintis, tada procesorius | 4 vCPU, 8 GB |
| Vykdo 7 ar 8 milijardų parametrų modelį keliems vartotojams | Atmintis ir jos pralaidumas | nuo 6 iki 8 vCPU, 16 GB |
| Vykdo 12 ar 14 milijardų parametrų modelį su ilgu kontekstu | Atmintis | 8 vCPU, 24 GB |
Užklausa modeliui per API trunka nuo vienos iki kelių dešimčių sekundžių, ypač kai atsakymas perduodamas dalimis (streaming). Tuo metu jūsų serveris beveik nieko neskaičiuoja: jis laukia. Svarbu tai, ar jis gali laikyti daug laukiančių užklausų, neblokuodamas kitų:
proxy_read_timeout).Reikiama atmintis yra programos ir jos duomenų bazės atmintis: paleidimo metu 4 GB pakanka Python ar Node.js programai su PostgreSQL. Įprastai konfigūracijai, kurioje Next.js sąsaja, FastAPI API ir PostgreSQL duomenų bazė kviečia modelį per API, užtenka nuo 6 iki 8 GB, įskaitant sąsajos kompiliavimą.
Programa, kuri ieško jūsų dokumentuose (RAG, retrieval-augmented generation), kiekvieną ištrauką paverčia vektoriumi, tada suranda klausimui artimiausius. Reikia parinkti dviejų dalių dydį:
pgvector tipas halfvec kiekvieną matmenį saugo 2 baitais vietoj 4: perpus mažiau atminties, o paieškos kokybė išlieka labai artima.
Kalbos modelis yra svorių failas, kuris, norint atsakyti, visas įkeliamas į atmintį. Jo dydis priklauso nuo parametrų skaičiaus ir nuo kvantavimo, tai yra tikslumo, kuriuo saugomas kiekvienas svoris. GGUF formatas, naudojamas llama.cpp ir Ollama, siūlo kvantavimą nuo 2 iki 16 bitų; Q4_K_M variantas, apie 4 bitus, yra įprastas dydžio ir kokybės kompromisas.
| Modelio dydis | Pavyzdžiai | 4 bitai (Q4_K_M) | 8 bitai (Q8_0) | 16 bitų |
|---|---|---|---|---|
| Nuo 1 iki 3 milijardų parametrų | Llama 3.2 3B, Qwen2.5 3B | nuo 1 iki 2 GB | nuo 1,3 iki 3,5 GB | nuo 2,5 iki 6,5 GB |
| 7 ar 8 milijardai | Mistral 7B, Llama 3.1 8B, Qwen2.5 7B | nuo 4,4 iki 5 GB | nuo 7,7 iki 8,5 GB | nuo 14,5 iki 16 GB |
| 12 ar 14 milijardų | Mistral Nemo 12B, Qwen2.5 14B | nuo 7,5 iki 9 GB | nuo 13 iki 16 GB | nuo 25 iki 30 GB |
| 32 milijardai | Qwen2.5 32B | apie 20 GB | apie 35 GB | apie 65 GB |
| 70 milijardų | Llama 3.3 70B | apie 43 GB | apie 75 GB | apie 140 GB |
Prie šio svorio prisideda dar dvi dalys:
Pavyzdys. Llama 3.1 8B, kvantuotas 4 bitais, du vienu metu vykstantys 8 000 žetonų pokalbiai ir nedidelė programa: 5 GB modeliui, 2 GB kontekstui, 2 GB programai ir sistemai, iš viso 9 GB, o su 25 % atsarga apie 12 GB.
Kiekvienam žetonui sugeneruoti modelis perskaito visus savo svorius atmintyje. Todėl procesoriuje generavimo greitį labiau riboja atminties pralaidumas nei branduolių skaičius: 5 GB modelis mašinoje, kuri nuskaito 25 GB per sekundę, pasiekia ribą apie 5 žetonus per sekundę, dar neskaičiuojant pačių skaičiavimų.
Išskiriami du etapai:
Praktiškai su keliais vCPU 7 ar 8 milijardų parametrų modelis, kvantuotas 4 bitais, sugeneruoja kelis žetonus per sekundę. To patogiai pakanka foniniam apdorojimui (pranešimams klasifikuoti, laukams iš dokumento ištraukti, per dieną gautai informacijai naktį apibendrinti) ir vidiniam asistentui. Didelio masto interaktyvūs naudojimo atvejai ir kelių dešimčių milijardų parametrų modeliai vykdomi vaizdo plokštėje (GPU).
Atsakymą duoda matavimas: llama-bench, pateikiamas kartu su llama.cpp, parodo abiejų etapų greitį jūsų serveryje, jūsų modeliui.
llama-bench -m modelis-Q4_K_M.gguf -p 512 -n 128
Diske modelis užima maždaug tiek pat, kiek atmintyje: 5 GB 8 milijardų parametrų modeliui, kvantuotam 4 bitais. Numatykite vietos dviem ar trims modeliams ar versijoms, vektoriniams indeksams, šaltinių dokumentams ir duomenų bazei. NVMe SSD įkelia modelį per kelias sekundes paleidžiant paslaugą, o tai svarbu po kiekvieno perkrovimo.
Orientacinis dydis: 50 GB programai, kuri modelį kviečia per API, nuo 80 iki 120 GB, kai serveryje yra modelis ir jo dokumentai.
Su Ollama paleidimas telpa į dvi komandas:
curl -fsSL https://ollama.com/install.sh | sh
ollama run llama3.1:8b
Pagal numatytuosius nustatymus Ollama klausosi adresu 127.0.0.1:11434, tai yra tik iš paties serverio. Palikite šį nustatymą: jo API nereikalauja jokio autentifikavimo, o internetui atvira instancija aptarnauja bet ką, jūsų ištekliais. Jūsų programa, veikianti tame pačiame serveryje, su juo kalbasi vietoje; jei jį turi užklausti kitas serveris, naudokite tarpinį serverį, kuris autentifikuoja užklausas, arba privatų tinklą.
Tada nustatykite konteksto dydį (num_ctx) pagal tai, ko reikia jūsų užklausoms: būtent jis didina užimamą atmintį, pokalbis po pokalbio.
VPS Pro veikia su Intel Xeon procesoriais, ECC atmintimi ir veidrodiniais NVMe SSD, su root prieiga, kad įdiegtumėte Ollama, llama.cpp, pgvector ar savo technologijų rinkinį. Visapusiška pagalba įskaičiuota: aprašykite savo projektą, API ar modelį serveryje, ir mes patarsime dydį, o paskui kiekvienu klausimu diagnozuosime ir nurodysime, ką daryti, nuo sistemos iki jūsų programos kodo.
Taip. llama.cpp ir Ollama vykdo kvantuotus modelius procesoriuje. 7 ar 8 milijardų parametrų modeliui, kvantuotam 4 bitais, reikia apie 5 GB atminties, ir jis su keliais vCPU sugeneruoja kelis žetonus per sekundę, o to pakanka foniniam apdorojimui ir vidiniams asistentams.
Apie 5 GB modeliui, kvantuotam 4 bitais (Q4_K_M), plius 1 GB kiekvienam 8 000 žetonų pokalbiui, plius programa ir sistema. 8 GB serveryje veikia vien modelis; 16 GB palieka vietos programai, duomenų bazei ir keliems pokalbiams.
API suteikia prieigą prie galingiausių modelių be specialaus serverio, mokant už kiekvieną užklausą. Modelis serveryje laiko duomenis pas jus ir fiksuoja išlaidas, naudojant kompaktiškesnį modelį. Daugelis programų derina abu būdus: embeddings ir rūšiavimas serveryje, teksto rašymas per API.
Apie 50 GB programai, kuri modelį kviečia per API. Kai modelis yra serveryje, numatykite nuo 80 iki 120 GB: 8 milijardų parametrų modelis, kvantuotas 4 bitais, sveria 5 GB, o dažnai laikomos kelios jo versijos, kartu su dokumentais ir jų vektoriniais indeksais.
Simafri
Pakalbėkime apie jūsų sumanymą
Pasakykite mums keliais žodžiais, ko jums reikia: greitai jums atsakome.
Ačiū! Jūsų užklausa išsiųsta. Netrukus su jumis susisieksime.
Labiau mėgstate el. paštą? Rašykite mums adresu support@simafri.com.