Dlaczego liczy się pamięć karty graficznej
Model językowy to w praktyce ogromny zbiór liczb (parametrów). Żeby odpowiadał szybko, wszystkie muszą zmieścić się w pamięci karty graficznej. Gdy się nie mieszczą, część trafia do zwykłej pamięci RAM i model zwalnia kilka do kilkunastu razy. Dlatego przy wyborze sprzętu pierwsze pytanie brzmi: ile VRAM.
Wyjątkiem są komputery Apple z procesorami serii M, które mają pamięć współdzieloną między procesor i grafikę. Na nich większy model może działać w rozsądnym tempie, choć wolniej niż na mocnej karcie.
Kwantyzacja, czyli jak zmieścić większy model
Parametry modelu zapisuje się standardowo na 16 bitach. Kwantyzacja zapisuje je mniej dokładnie, na przykład na 8 albo 4 bitach. Model robi się dwa albo cztery razy mniejszy, a jakość spada zwykle niewiele, choć bywa to zauważalne przy trudnych zadaniach i mniejszych modelach.
| Wielkość modelu | 4 bity (Q4) | 8 bitów (Q8) | 16 bitów |
|---|---|---|---|
| 3–4 mld parametrów | ok. 3 GB | ok. 5 GB | ok. 8 GB |
| 7–8 mld | ok. 5–6 GB | ok. 9–10 GB | ok. 16 GB |
| 13–14 mld | ok. 9–10 GB | ok. 15–16 GB | ok. 28 GB |
| 30–32 mld | ok. 20 GB | ok. 35 GB | ok. 65 GB |
| 70 mld | ok. 40–45 GB | ok. 75 GB | ok. 140 GB |
To przybliżenia dla samych wag modelu z niewielkim zapasem. Do tego dochodzi pamięć na kontekst rozmowy, opisana niżej.
Kalkulator pamięci
Wzór, którego używa kalkulator: wagi to liczba parametrów razy bity podzielone przez osiem, powiększone o około 10 procent. Kontekst to pamięć podręczna rozmowy, która rośnie z długością kontekstu, wielkością modelu i liczbą jednoczesnych rozmów. Do tego około 1 GB na samo środowisko. Wynik jest szacunkiem: konkretne modele różnią się budową.
Jakie programy do uruchomienia modelu
- Ollama
Najprostszy start: jedno polecenie pobiera i uruchamia model. Dobry do testów i małych wdrożeń.
- llama.cpp
Silnik, na którym opiera się wiele narzędzi. Działa na kartach graficznych, procesorach i komputerach Apple. Dużo opcji kwantyzacji.
- vLLM
Serwer nastawiony na wydajność przy wielu jednoczesnych użytkownikach. Wymaga karty graficznej i więcej konfiguracji.
- Open WebUI
Interfejs w przeglądarce podobny do znanych czatów, z kontami użytkowników, do podłączenia pod Ollamę albo inny serwer.
Co realnie uruchomisz w małej firmie
- Stacja robocza z jedną kartą 12–16 GB
Modele 7–14 mld parametrów w kwantyzacji 4-bitowej. Wystarczy do pracy na dokumentach, streszczeń i szkiców odpowiedzi dla kilku osób.
- Serwer z kartą 24 GB
Modele do około 32 mld parametrów w 4 bitach albo mniejsze modele z dłuższym kontekstem i większą liczbą użytkowników.
- Kilka kart albo karta 48 GB i więcej
Modele rzędu 70 mld parametrów. To już inwestycja, która ma sens przy dużym, stałym użyciu.
Zanim kupisz sprzęt, przetestuj model na swoich prawdziwych zadaniach. Wynajęty na kilka godzin serwer z kartą graficzną kosztuje niewiele i pozwala sprawdzić, czy mniejszy model wystarczy.
Na co uważać
- Licencje modeli różnią się: część pozwala na użycie komercyjne bez ograniczeń, część ma warunki. Sprawdź licencję przed wdrożeniem.
- Polszczyzna: nie każdy model dobrze pisze po polsku. Testuj na polskich dokumentach.
- Szybkość odpowiedzi zależy od karty i długości odpowiedzi. Kilka osób naraz na jednej karcie oznacza kolejkę.
- Serwer z modelem to też serwer: aktualizacje, kopie konfiguracji, dostęp tylko z sieci firmy.
Pojęcia z tego poradnika
- Lokalny model
Model językowy uruchomiony na sprzęcie firmy, a nie w chmurze dostawcy. Dane nie muszą opuszczać firmy.
- VRAM
Pamięć karty graficznej. Od niej zależy, jak duży model językowy da się uruchomić lokalnie i jak szybko będzie działał.
- Kwantyzacja
Zapisanie parametrów modelu z mniejszą dokładnością, na przykład na 4 bitach zamiast 16. Model zajmuje kilka razy mniej pamięci przy niewielkiej utracie jakości.
Pytania i odpowiedzi
Czy lokalny model może działać bez karty graficznej?
Tak, na samym procesorze, ale znacznie wolniej. Do testów i rzadkiego użycia może wystarczyć, do codziennej pracy kilku osób raczej nie.
Czy lokalny model jest tak dobry jak największe modele w chmurze?
Przy złożonych zadaniach zwykle nie. Przy dobrze określonych zadaniach na własnych dokumentach różnica bywa niewielka, zwłaszcza gdy model dostaje właściwe fragmenty dokumentów.
Ile osób obsłuży jedna karta?
Zależy od modelu, długości odpowiedzi i tego, jak często ludzie pytają. Kilka osób pracujących równolegle to rozsądne założenie dla pojedynczej karty i modelu średniej wielkości, ale warto to zmierzyć na własnym przypadku.
Źródła i dokumentacja
- llama.cpp: uruchamianie modeli z kwantyzacjągithub.com
- Hugging Face: format GGUF i poziomy kwantyzacjihuggingface.co
- Ollama: biblioteka modeli z rozmiaramiollama.com
- vLLM: dokumentacjadocs.vllm.ai