«Darbināt mākslīgo intelektu» nozīmē divas dažādas vajadzības, un katrai vajag cita izmēra serveri. Lietojumprogrammu, kas izsauc mākslīgā intelekta (MI) modeli caur API, dimensionē kā jebkuru tīmekļa lietojumprogrammu; modeli, kas darbojas pašā serverī, dimensionē vispirms pēc tā atmiņas. Šajā ceļvedī abi gadījumi nodalīti, dots populāru modeļu atmiņas apjoms un veids, kā to aprēķināt.
Lielākā daļa lietojumprogrammu, kas «izmanto MI» (asistenti, aģenti, kopsavilkumi, datu izgūšana, meklēšana dokumentos), izsauc modeli, ko mitina tā izstrādātājs, caur API. Skaitļošana notiek pie viņa; jūsu serveris sagatavo pieprasījumu, gaida atbildi un to apstrādā. Tad to dimensionē kā jebkuru tīmekļa lietojumprogrammu: pēc tās valodas, datubāzes un vienlaicīgo lietotāju skaita.
Otrs gadījums ir modelis, kas darbojas pašā serverī ar Ollama, llama.cpp vai kādu Python bibliotēku. Iemesli ir zināmi: dati, kas paliek jūsu infrastruktūrā, fiksētas izmaksas neatkarīgi no pieprasījumu skaita, lielu apjomu fona apstrāde, specializēts modelis. Šeit visam modelim jāietilpst atmiņā, un izmēru nosaka tieši tas.
| Ko dara serveris | Izšķirošais resurss | Sākumpunkts |
|---|---|---|
| Izsauc modeli caur API (asistents, aģents, tērzēšanas robots) | Lietojumprogrammas atmiņa | 2 vCPU, 4 GB |
| Turklāt aprēķina iegultnes un vaicā vektoru datubāzi (pgvector) | Vektoru un to indeksa atmiņa | 2 līdz 4 vCPU, 6 līdz 8 GB |
| Darbina nelielu modeli ar 1 līdz 4 miljardiem parametru fona apstrādei | Atmiņa, pēc tam procesors | 4 vCPU, 8 GB |
| Darbina modeli ar 7 līdz 8 miljardiem parametru dažiem lietotājiem | Atmiņa un tās joslas platums | 6 līdz 8 vCPU, 16 GB |
| Darbina modeli ar 12 līdz 14 miljardiem parametru un garu kontekstu | Atmiņa | 8 vCPU, 24 GB |
Pieprasījums modelim caur API ilgst no vienas līdz vairākiem desmitiem sekunžu, it īpaši, ja atbilde tiek straumēta pa daļām (streaming). Šajā laikā jūsu serveris gandrīz neko neskaitļo: tas gaida. Svarīga ir tā spēja turēt gaidīšanā daudz pieprasījumu, nebloķējot pārējos:
proxy_read_timeout).Paredzamā atmiņa ir lietojumprogrammas un tās datubāzes atmiņa: 4 GB sedz Python vai Node.js lietojumprogrammu ar PostgreSQL palaišanas brīdī. Izplatīta konfigurācija, Next.js saskarne, FastAPI API un PostgreSQL datubāze, kas izsauc modeli caur API, ietilpst 6 līdz 8 GB, ieskaitot saskarnes kompilēšanu.
Lietojumprogramma, kas meklē jūsu dokumentos (RAG, retrieval-augmented generation), katru fragmentu pārvērš vektorā un pēc tam atrod jautājumam tuvākos. Jādimensionē divas pozīcijas:
pgvector tips halfvec glabā katru dimensiju 2 baitos, nevis 4: uz pusi mazāk atmiņas, un meklēšanas kvalitāte paliek ļoti tuva.
Valodas modelis ir svaru fails, ko atbildēšanai pilnībā ielādē atmiņā. Tā izmērs atkarīgs no parametru skaita un kvantizācijas, tas ir, precizitātes, ar kādu glabāts katrs svars. GGUF formāts, ko izmanto llama.cpp un Ollama, piedāvā kvantizāciju no 2 līdz 16 bitiem; Q4_K_M variants, ap 4 bitiem, ir ierastais kompromiss starp izmēru un kvalitāti.
| Modeļa izmērs | Piemēri | 4 biti (Q4_K_M) | 8 biti (Q8_0) | 16 biti |
|---|---|---|---|---|
| 1 līdz 3 miljardi parametru | Llama 3.2 3B, Qwen2.5 3B | 1 līdz 2 GB | 1,3 līdz 3,5 GB | 2,5 līdz 6,5 GB |
| 7 līdz 8 miljardi | Mistral 7B, Llama 3.1 8B, Qwen2.5 7B | 4,4 līdz 5 GB | 7,7 līdz 8,5 GB | 14,5 līdz 16 GB |
| 12 līdz 14 miljardi | Mistral Nemo 12B, Qwen2.5 14B | 7,5 līdz 9 GB | 13 līdz 16 GB | 25 līdz 30 GB |
| 32 miljardi | Qwen2.5 32B | aptuveni 20 GB | aptuveni 35 GB | aptuveni 65 GB |
| 70 miljardi | Llama 3.3 70B | aptuveni 43 GB | aptuveni 75 GB | aptuveni 140 GB |
Šim svaram pievienojas vēl divas pozīcijas:
Piemērs. Llama 3.1 8B 4 bitos, divas vienlaicīgas sarunas ar 8000 tokeniem un neliela lietojumprogramma: 5 GB modelim, 2 GB kontekstam, 2 GB lietojumprogrammai un sistēmai, kopā 9 GB, un ar 25 % rezervi aptuveni 12 GB.
Lai izveidotu katru tokenu, modelis no jauna nolasa visus savus svarus atmiņā. Tāpēc uz procesora ģenerēšanas ātrumu ierobežo atmiņas joslas platums, vairāk nekā kodolu skaits: 5 GB modelis mašīnā, kas nolasa 25 GB sekundē, sasniedz griestus ap 5 tokeniem sekundē, vēl pirms tiek ieskaitīta skaitļošana.
Izšķir divas fāzes:
Praksē uz dažiem vCPU modelis ar 7 līdz 8 miljardiem parametru, kvantizēts 4 bitos, rada dažus tokenus sekundē. Tas ir ērti fona apstrādei (ziņojumu šķirošana, lauku izgūšana no dokumenta, naktī sagatavots dienas notikumu kopsavilkums) un iekšējam asistentam. Plaša mēroga interaktīvie lietojumi un modeļi ar vairākiem desmitiem miljardu parametru darbojas uz grafiskās kartes (GPU).
Izšķir mērījums: llama-bench, kas nāk kopā ar llama.cpp, parāda abu fāžu ātrumu jūsu serverī, jūsu modelim.
llama-bench -m modelis-Q4_K_M.gguf -p 512 -n 128
Diskā modelis aizņem aptuveni tikpat, cik atmiņā: 5 GB modelim ar 8 miljardiem parametru 4 bitos. Paredziet vietu diviem vai trim modeļiem vai versijām, vektoru indeksiem, avota dokumentiem un datubāzei. NVMe SSD ielādē modeli dažās sekundēs pakalpojuma startēšanas brīdī, un tas ir svarīgi katrā restartēšanā.
Orientējoši: 50 GB lietojumprogrammai, kas izsauc modeli caur API, 80 līdz 120 GB, tiklīdz serverī dzīvo modelis un tā dokumenti.
Ar Ollama palaišanai pietiek ar divām komandām:
curl -fsSL https://ollama.com/install.sh | sh
ollama run llama3.1:8b
Pēc noklusējuma Ollama klausās adresē 127.0.0.1:11434, tas ir, pieņem savienojumus tikai no paša servera. Saglabājiet šo iestatījumu: tā API neprasa nekādu autentifikāciju, un internetā atvērta instance apkalpo jebkuru, uz jūsu resursu rēķina. Jūsu lietojumprogramma tajā pašā serverī ar to sazinās lokāli; ja tai jāpiekļūst no cita servera, izmantojiet starpniekserveri, kas autentificē pieprasījumus, vai privātu tīklu.
Pēc tam iestatiet konteksta izmēru (num_ctx) atbilstoši tam, kas vajadzīgs jūsu pieprasījumiem: tieši tas palielina aizņemto atmiņu, sarunu pēc sarunas.
VPS Pro darbojas uz Intel Xeon procesoriem, ECC atmiņas un spoguļotiem NVMe SSD, ar root piekļuvi, lai instalētu Ollama, llama.cpp, pgvector vai jūsu pašu rīku kopu. Visaptverošais atbalsts ir iekļauts: aprakstiet savu projektu, API vai modeli serverī, un mēs ieteiksim izmēru, pēc tam katrā jautājumā diagnosticēsim un pateiksim, kas jādara, no sistēmas līdz pat jūsu lietojumprogrammas kodam.
Jā. llama.cpp un Ollama darbina kvantizētus modeļus uz procesora. Modelim ar 7 līdz 8 miljardiem parametru 4 bitos vajag aptuveni 5 GB atmiņas, un uz dažiem vCPU tas rada dažus tokenus sekundē, kas der fona apstrādei un iekšējiem asistentiem.
Aptuveni 5 GB modelim, kas kvantizēts 4 bitos (Q4_K_M), plus 1 GB katrai sarunai ar 8000 tokeniem, plus lietojumprogramma un sistēma. Ar 8 GB serveri pietiek pašam modelim; 16 GB atstāj vietu lietojumprogrammai, datubāzei un vairākām sarunām.
API dod piekļuvi jaudīgākajiem modeļiem bez īpaša servera, ar maksu par katru pieprasījumu. Modelis serverī patur datus pie jums un padara izmaksas fiksētas, izmantojot kompaktāku modeli. Daudzas lietojumprogrammas apvieno abus: iegultnes un šķirošana serverī, teksta rakstīšana caur API.
Aptuveni 50 GB lietojumprogrammai, kas izsauc modeli caur API. Tiklīdz modelis dzīvo serverī, paredziet 80 līdz 120 GB: modelis ar 8 miljardiem parametru 4 bitos sver 5 GB, un bieži tiek glabātas vairākas tā versijas, kopā ar dokumentiem un to vektoru indeksiem.
Simafri
Parunāsim par jūsu ieceri
Pasakiet mums dažos vārdos, kas jums vajadzīgs: mēs jums ātri atbildam.
Paldies! Jūsu pieprasījums ir nosūtīts. Drīzumā ar jums sazināsimies.
Labāk e-pastu? Rakstiet mums uz support@simafri.com.