Małe modele i Twój komputer
Na zajęciach M10 uruchomiliście jeden model ogólny w sali. Ta strona idzie dalej: pokazuje, że małe modele mają swoje specjalizacje, i odpowiada na pytanie, które pada na każdych zajęciach: co da się uruchomić na własnym komputerze i jaka karta graficzna jest do tego potrzebna.
ollama run model --verbose, wiersz eval rate).1. Mapa specjalizacji
Duży czat w chmurze robi wszystko naraz. Małe modele, do około 14 mld parametrów, częściej są wyspecjalizowane: jeden dobrze pisze kod, inny czyta zdjęcia, jeszcze inny w ogóle nie rozmawia, tylko zamienia tekst na liczby do wyszukiwania. Inżynier dobiera narzędzie do zadania, tak jak dobiera świder do skały.
Każdy krok tej drogi może obsłużyć inny mały model. Tak zbudowany jest też superwiertnik, o którym była mowa przy RAG (M05): osobny model embeddingów, osobny model odpowiadający.
Modele ogólne (czat)
Odpowiadają na pytania, streszczają, przeredagowują tekst. To ten rodzaj, który znacie z M10. Inżynierowi przydaje się do uporządkowania notatki ze zmiany na wiertni w czytelny raport albo do przeredagowania wniosków w sprawozdaniu. Liczb z niego nie bierzemy (M06).
| Model (tag Ollama) | Parametry | Rozmiar | Licencja |
|---|---|---|---|
qwen3:4b, qwen3:8b, qwen3:14b | 4, 8, 14 mld | 2,5 / 5,2 / 9,3 GB | Apache 2.0 |
gemma3:1b, gemma3:4b, gemma3:12b | 1, 4, 12 mld | 0,8 / 3,4 / 8,2 GB | Gemma Terms of Use |
llama3.2:3b, llama3.1:8b | 3, 8 mld | 2,0 / 4,9 GB | Llama Community License |
phi4-mini, phi4 | 3,8, 14 mld | 2,5 / 9,1 GB | MIT |
mistral (7B) | 7 mld | 4,4 GB | Apache 2.0 |
ministral-3:3b, ministral-3:8b | 3, 8 mld | 3,0 / 6,0 GB | Apache 2.0 |
W bibliotece pojawiają się też nowsze rodziny, np. qwen3.5 i gemma4 (obie na licencji Apache 2.0 według kart modeli). Mają po kilka wariantów pliku, dlatego biblioteka podaje dla nich zakres rozmiarów, np. qwen3.5:4b 3,3-4,0 GB.
Modele „myślące” (rozumowanie)
Zanim odpowiedzą, wypisują tok rozumowania, co kosztuje czas i tokeny, ale pomaga w zadaniach wieloetapowych. W M10 było to widać przy Qwen3, który ma ten tryb wbudowany (wyłączanie: --think=false lub /set nothink). Inżynierowi przydaje się do rozpisania planu obliczeń, np. jakie kroki prowadzą od odczytów lepkościomierza do doboru modelu reologicznego. Same obliczenia nadal robi program.
| Model | Parametry | Rozmiar | Licencja |
|---|---|---|---|
deepseek-r1:1.5b, 7b, 8b, 14b | 1,5-14 mld | 1,1 / 4,7 / 5,2 / 9,0 GB | MIT |
phi4-mini-reasoning | 3,8 mld | 3,2 GB | MIT |
phi4-reasoning | 14 mld | 11 GB | MIT |
qwen3 (tryb myślenia) | jak wyżej | jak wyżej | Apache 2.0 |
Modele do kodu
Uczone głównie na kodzie: piszą, poprawiają i objaśniają programy. Inżynierowi przydaje się do napisania skryptu w Pythonie, który wczyta odczyty θ600 i θ300 z pliku i policzy lepkość plastyczną. Wynik skryptu sprawdzacie na danych K-1, które znacie z M10.
| Model | Parametry | Rozmiar | Licencja |
|---|---|---|---|
qwen2.5-coder:1.5b | 1,5 mld | 0,99 GB | Apache 2.0 |
qwen2.5-coder:3b | 3 mld | 1,9 GB | Qwen Research (licencja badawcza) |
qwen2.5-coder:7b, 14b | 7, 14 mld | 4,7 / 9,0 GB | Apache 2.0 |
deepcoder:1.5b, 14b | 1,5, 14 mld | 1,1 / 9,0 GB | MIT |
Zwróćcie uwagę na wariant 3B: ta sama rodzina, inna licencja niż sąsiednie rozmiary. Wracamy do tego w części 4.
Modele wizyjne (obraz i tekst)
Przyjmują zdjęcie razem z pytaniem. Inżynierowi przydają się do opisu zdjęcia z wiertni, odczytania tabliczki znamionowej pompy płuczkowej albo wstępnego przejrzenia wykresu z raportu. Model może źle odczytać cyfrę, dlatego każdą liczbę z obrazu porównujecie z oryginałem.
| Model | Parametry | Rozmiar | Licencja |
|---|---|---|---|
gemma3:4b (warianty 4B i większe czytają obraz, 1B tylko tekst) | 4 mld | 3,4 GB | Gemma Terms of Use |
qwen2.5vl:3b | 3 mld | 3,2 GB | Qwen Research (licencja badawcza) |
qwen2.5vl:7b | 7 mld | 6,0 GB | Apache 2.0 |
qwen3-vl:2b, 4b, 8b | 2, 4, 8 mld | 1,9 / 3,3 / 6,1 GB | Apache 2.0 |
llava:7b | 7 mld | 4,7 GB | zależy od wariantu, sprawdź na karcie modelu |
moondream | 1,8 mld | 1,7 GB | Apache 2.0 |
Dokumenty i OCR
OCR (optyczne rozpoznawanie znaków) zamienia skan lub zdjęcie strony na tekst. Wyspecjalizowane modele radzą sobie także z tabelami i układem strony. Inżynierowi przydają się do przepisania zeskanowanego raportu wiertniczego lub tabeli z protokołu badań płuczki do arkusza.
| Model | Specjalizacja wg opisu | Rozmiar | Licencja |
|---|---|---|---|
glm-ocr | rozpoznawanie tekstu, tabel i rysunków w dokumentach | 2,2 GB (wariant q8_0 1,6 GB) | MIT |
granite3.2-vision (2B) | rozumienie dokumentów: tabele, wykresy, diagramy | 2,4 GB | Apache 2.0 |
deepseek-ocr (3B) | OCR, zamiana dokumentu na Markdown | 6,7 GB | MIT |
Karta GLM-OCR wymienia wśród języków m.in. angielski, niemiecki, francuski i rosyjski, polskiego na tej liście nie ma. Polskie znaki diakrytyczne trzeba więc sprawdzić na własnym dokumencie.
Tłumaczenie
TranslateGemma to modele zbudowane na Gemma 3 wyłącznie do tłumaczenia, w rozmiarach translategemma:4b (3,3 GB) i translategemma:12b (8,1 GB), licencja Gemma. Producent podaje 55 języków i ocenę na 55 parach językowych. Oficjalne źródło nie wymienia wprost polskiego, więc wynik sprawdź na krótkim fragmencie, zanim mu zaufasz. Model oczekuje polecenia w stałym formacie podanym na jego stronie w bibliotece Ollama. Inżynierowi przydaje się do roboczego przekładu fragmentu angielskiej instrukcji producenta, przy czym terminologię wiertniczą (świder, przestrzeń pierścieniowa, płuczka wiertnicza) poprawiacie sami.
Embeddingi do wyszukiwania
Te modele nie odpowiadają na pytania. Zamieniają fragment tekstu na wektor liczb tak, by fragmenty o podobnym znaczeniu leżały blisko siebie. Na tym opiera się RAG z M05 i M11. Inżynierowi przydają się do wyszukiwania w notatkach, normach czy dokumentacji według sensu, a nie dosłownego słowa: pytanie o „ucieczkę płuczki” może trafić w akapit o utracie cyrkulacji, choć tych słów w pytaniu nie było.
| Model | Języki wg karty | Rozmiar | Licencja |
|---|---|---|---|
bge-m3 | ponad 100 języków, teksty do 8192 tokenów | 1,2 GB | MIT |
qwen3-embedding:0.6b | wielojęzyczny (zakres języków podaje karta modelu) | 639 MB | Apache 2.0 |
embeddinggemma (300M) | wielojęzyczny (zakres języków podaje karta modelu) | 622 MB | Gemma |
nomic-embed-text | angielski | 274 MB | Apache 2.0 |
mxbai-embed-large | angielski, fragmenty do 512 tokenów | 670 MB | Apache 2.0 |
Dla polskich notatek pierwszym kandydatem jest bge-m3: ten sam model embeddingów pracuje w superwiertniku.
Rozpoznawanie mowy
Whisper (OpenAI, kod i wagi na licencji MIT według repozytorium) zamienia nagranie na tekst, także po polsku. Inżynierowi przydaje się do spisania notatki głosowej nagranej na wiertni albo nagrania z narady, a potem do streszczenia jej modelem czatu. Whisper nie działa w Ollamie, uruchamia się go osobnym programem.
| Rozmiar Whisper | Parametry | Pamięć karty (openai/whisper) | Plik w whisper.cpp |
|---|---|---|---|
| tiny | 39 mln | około 1 GB | 75 MiB |
| base | 74 mln | około 1 GB | 142 MiB |
| small | 244 mln | około 2 GB | 466 MiB |
| medium | 769 mln | około 5 GB | 1,5 GiB |
| large | 1550 mln | około 10 GB | 2,9 GiB |
| turbo (przyspieszony large-v3) | 809 mln | około 6 GB | - |
Trzy sposoby uruchomienia: oryginalny openai-whisper (Python, wymaga programu ffmpeg), faster-whisper (Python, oszczędniejszy w pamięci, ffmpeg niepotrzebny) oraz whisper.cpp (program w C++, bardzo oszczędny, ale trzeba go samodzielnie skompilować). Według pomiaru w dokumentacji faster-whisper model large-v2 zajął na karcie 8 GB około 4,5 GB w trybie 16-bit i około 2,9 GB w trybie 8-bit. Na start do domu polecamy faster-whisper z modelem small.
2. Jaki sprzęt, co uruchomisz
ollama ps, kolumna PROCESSOR (100% GPU albo podział CPU/GPU).| Sprzęt | Orientacyjny plik modelu (4-bit) | Przykłady |
|---|---|---|
| Sam procesor, bez karty (RAM 8-16 GB) | modele 1-4 mld, pliki 0,8-2,5 GB | gemma3:1b, qwen3:1.7b, llama3.2:3b, qwen3:4b, embeddingi, Whisper base lub small. Działa, ale wyraźnie wolniej niż na karcie. |
| Karta 4 GB VRAM | do około 2,5 GB | qwen3:4b, phi4-mini, llama3.2:3b, qwen2.5-coder:1.5b, qwen3-vl:2b, glm-ocr, granite3.2-vision, Whisper small |
| Karta 6 GB | do około 4,5 GB | gemma3:4b, qwen3-vl:4b, translategemma:4b, mistral (4,4 GB, na granicy), Whisper medium |
| Karta 8 GB (jak w sali) | do około 6 GB | qwen3:8b, llama3.1:8b, deepseek-r1:8b, qwen2.5-coder:7b, qwen2.5vl:7b i qwen3-vl:8b (na granicy). gemma3:12b (8,2 GB) już się nie mieści w całości. |
| Karta 12 GB | do około 9-10 GB | gemma3:12b, qwen3:14b, phi4, qwen2.5-coder:14b, deepseek-r1:14b, translategemma:12b, Whisper large |
| Karta 16 GB | do około 13 GB | modele 14 mld z dłuższym kontekstem, phi4-reasoning (11 GB), model czatu razem z modelem embeddingów |
| Karta 24 GB | do około 20 GB | poza zakresem tej strony: gemma3:27b (17 GB), qwen3:30b (19 GB), qwen2.5-coder:32b (20 GB). Ollama przy 24-48 GiB VRAM ustawia domyślnie kontekst 32 tys. tokenów. |
| Apple z procesorem M (pamięć wspólna) | zależnie od pamięci komputera | CPU i GPU korzystają z jednej puli pamięci, więc liczy się całkowita pamięć Maca, pomniejszona o to, czego potrzebuje system i otwarte programy. Orientacyjnie: 8 GB to modele 1-4 mld, 16 GB to modele do 8 mld, 24-32 GB to modele 12-14 mld. Ile z tej pamięci dostaje GPU, zależy od modelu Maca, więc traktuj te progi orientacyjnie. |
Kolumna „orientacyjny plik” to wniosek z reguły kciuka, nie dane producenta. Ostatecznie rozstrzyga ollama ps na Waszym komputerze.
Jaka karta jest minimalnie potrzebna?
Da się bez karty. Ollama działa na samym procesorze. Modele 1-4 mld odpowiadają wtedy sensownie, tylko wolniej. Do nauki, tłumaczenia krótkich fragmentów, embeddingów i transkrypcji krótkich nagrań to wystarcza.
Minimum sensowne: karta NVIDIA z 4 GB VRAM, obsługiwana przez Ollamę. Tyle dedykowanej pamięci zaleca też dokumentacja LM Studio. Wtedy modele 3-4 mld pracują w całości na karcie.
Wygodnie: 8 GB VRAM, czyli tyle, ile w sali. To próg modeli 7-8 mld, które zwykle piszą po polsku wyraźnie lepiej od najmniejszych. 12 GB otwiera klasę 12-14 mld.
Sterowniki i producenci kart (dokumentacja Ollamy)
- NVIDIA: karty o tzw. compute capability 5.0 lub wyższej (od serii GTX 750 i GTX 9xx w górę) i sterownik 550 lub nowszy. Karty o compute capability 5.0-6.2 (m.in. GTX 9xx i GTX 10xx) wymagają sterownika 570 lub nowszego. Strona instalacji na Windows podaje sterownik 551.61 lub nowszy. Wersję sterownika pokaże
nvidia-smi. - AMD na Windows: przez bibliotekę ROCm v7 obsługiwane są karty Radeon RX 7600-7900 XTX i Radeon PRO W7500-W7900. Pozostałe karty Radeon mogą działać przez Vulkan, włączony w Ollamie domyślnie. Dokumentacja zaznacza, że część kart RX 6000 nie ma na Windows ROCm v7.
- Intel: brak osobnej listy kart, wsparcie przez Vulkan. Dokumentacja opisuje instalację dla Linuksa, działanie z kartami Intel Arc na Windows nie jest tam opisane, więc nie zakładaj, że zadziała.
- Apple: macOS 14 Sonoma lub nowszy, procesory M korzystają z GPU (Metal). Komputery Mac z procesorem Intel liczą tylko na CPU.
3. Co mogę zrobić w domu w jeden wieczór
Każdy projekt zaczyna się od instalacji Ollamy (na Windows bez uprawnień administratora, opis w M10) i jednego modelu. Pobierajcie w domu, nie przez sieć w sali.
Projekt 1. Czat bez internetu
- Pobierz model:
ollama pull qwen3:4b(2,5 GB). Przy karcie 8 GB możesz wziąćqwen3:8b. - Odłącz komputer od sieci i uruchom
ollama run qwen3:4b --verbose. Jeśli długi tok myślenia przeszkadza, wpisz/set nothink. - Poproś o uporządkowanie własnej, chaotycznej notatki z zajęć w pięć punktów.
- Zapisz
eval ratei porównaj z wynikiem z sali. Mój komputer: karta, eval rate, czy model był w 100% na GPU (ollama ps)
Projekt 2. Rozmowa z własnymi notatkami (AnythingLLM)
- Zainstaluj AnythingLLM Desktop (licencja MIT) w wariancie dla bieżącego użytkownika. Instalator pobiera z sieci dodatki dla kart NVIDIA.
- Jako dostawcę modelu wybierz Ollamę, adres lokalnej Ollamy to
http://127.0.0.1:11434. - Dla polskich tekstów pobierz
ollama pull bge-m3i w ustawieniach embeddingów wybierz Ollamę z modelem bge-m3, najlepiej zanim dodasz dokumenty. Domyślny model embeddingów AnythingLLM też działa, ale bge-m3 jest wielojęzyczny. - Utwórz obszar roboczy, dodaj własne notatki z kursu (pliki tekstowe lub PDF) i przełącz tryb na Query (koło zębate obszaru, zakładka Chat Settings). W tym trybie model odpowiada tylko z dokumentów.
- Zadaj trzy pytania, na które odpowiedź jest w notatkach, i jedno, na które jej nie ma. Czy przy czwartym pytaniu model przyznał, że nie znalazł odpowiedzi?
Projekt 3. Transkrypcja nagrania (faster-whisper)
- Potrzebny jest Python 3.9 lub nowszy. Zainstaluj pakiet:
pip install faster-whisper. - Zapisz w pliku
transkrypcja.pyponiższy kod (wzorowany na przykładzie z dokumentacji) i podmień nazwę pliku nagrania. Model small pobierze się przy pierwszym uruchomieniu.from faster_whisper import WhisperModel model = WhisperModel("small", device="cpu", compute_type="int8") segments, info = model.transcribe("nagranie.mp3", beam_size=5, language="pl") for s in segments: print("[%.2fs -> %.2fs] %s" % (s.start, s.end, s.text)) - Uruchom
python transkrypcja.pyna krótkim nagraniu (kilka minut, np. własna notatka głosowa). Na karcie NVIDIA można podaćdevice="cuda", ale dokumentacja wymaga wtedy bibliotek cuBLAS i cuDNN 9 dla CUDA 12. - Policz błędy w terminach fachowych. Które słowa wiertnicze Whisper przekręcił? Czy model medium poprawił wynik?
Projekt 4. Opis zdjęcia i odczyt dokumentu
- Pobierz model wizyjny:
ollama pull gemma3:4b. - Podaj ścieżkę do zdjęcia i pytanie (składnia z dokumentacji Ollamy):
ollama run gemma3:4b ./zdjecie.jpg Opisz, co widać na zdjęciu. - Do skanu tabeli spróbuj modelu OCR:
ollama pull glm-ocr, potemollama run glm-ocr Table Recognition: ./tabela.png. - Porównaj każdą liczbę z oryginałem. Ile wartości model odczytał błędnie? Jak wypadły polskie znaki?
Projekt 5. Pomocnik do Pythona
- Pobierz
ollama pull qwen2.5-coder:7b(4,7 GB) albo przy słabszej karcieqwen2.5-coder:1.5b. - Polecenie: „Napisz funkcję w Pythonie, która z odczytów lepkościomierza θ600 i θ300 liczy lepkość plastyczną PV [mPa⋅s] i granicę płynięcia YP [lbf/100 ft²] oraz YP w Pa (współczynnik 0,511). Dodaj przykład wywołania.”
- Uruchom kod dla danych K-1 (θ600 = 62, θ300 = 40). Poprawny wynik: PV = 22 mPa⋅s, YP = 18 lbf/100 ft², około 9,2 Pa. Czy kod dał te wartości? Co trzeba było poprawić?
- Wniosek do zeszytu: model napisał narzędzie, ale to wy sprawdziliście, że liczy dobrze.
4. Prywatność i licencje
Model uruchomiony lokalnie nie wysyła pytań ani dokumentów do zewnętrznej firmy, więc nadaje się do materiałów, których nie wolno wkleić do czatu w chmurze, np. dokumentacji klienta (M09). Lokalny nie znaczy jednak automatycznie szczelny: programy pobierają modele i dodatki z sieci, mogą mieć własne aktualizacje, a plik wag powinien pochodzić z zaufanego źródła, takiego jak oficjalna biblioteka Ollamy albo konto producenta na Hugging Face. Mały model także halucynuje, więc zasada weryfikacji z M04 obowiązuje bez zmian.
Otwarte wagi to nie to samo co dowolne użycie. Qwen3 i Mistral mają licencję Apache 2.0, a Phi i DeepSeek-R1 licencję MIT, które pozwalają na bardzo szerokie zastosowania. Gemma 3 ma własne warunki Google, a Llama licencję społeczności Meta, obie z dodatkowymi zasadami. W obrębie jednej rodziny bywa różnie: qwen2.5-coder:3b i qwen2.5vl:3b są na licencji badawczej Qwen Research, podczas gdy sąsiednie rozmiary na Apache 2.0. Zanim użyjecie modelu w pracy dyplomowej, firmie lub produkcie, otwórzcie kartę modelu i przeczytajcie licencję.
- Małe modele mają specjalizacje: czat, rozumowanie, kod, obraz, OCR, tłumaczenie, embeddingi, mowa. Dobiera się je do zadania.
- Plik modelu plus zapas na kontekst musi zmieścić się w VRAM, inaczej praca wyraźnie zwalnia. Sprawdzian:
ollama ps. - Bez karty da się uruchomić modele 1-4 mld. Minimum sensowne to 4 GB VRAM, wygodnie od 8 GB.
- Licencja zależy od konkretnego modelu, a nawet od rozmiaru w tej samej rodzinie.
- Każdą liczbę z modelu, także odczytaną ze zdjęcia, sprawdza program albo człowiek.