-
Notifications
You must be signed in to change notification settings - Fork 30
Description
Laboratorium 1: Start z lokalnym LLM (Ollama lub LM Studio)
Cel zajęć
- Instalacja i uruchomienie lokalnego dużego modelu językowego przy pomocy narzędzi Ollama i / lub LM Studio.
- Pobranie co najmniej jednego model, uruchomienie prostych zapytań sprawdzających wiedzę i możliwości modelu i weryfikacja działania modelu w języku polskim.
- Porównanie wydajność CPU vs GPU (jeśli dostępna) oraz działania modeli uwarunkowanego dostępną infrastrukturą oraz własnościami modelu.
1. Wymagania wstępne
- Komputer z Windows / macOS / Linux.
- ~8–16 GB RAM (więcej = lepiej), miejsce na dysku (min. 4–10 GB na modele).
- (Opcjonalnie) GPU z obsługą akceleracji (Metal na macOS, CUDA na Windows/Linux, ROCm na wybranych Radeonach).
- Dostęp do Internetu do pobrania modeli.
Uwaga: Modele lokalne działają offline po pobraniu, ale pierwsze uruchomienie wymaga pobrania plików wag.
2. Instalacja — wybierz jedną ścieżkę
2a. Ollama
-
Instalator:
-
macOS: pobierz instalator z oficjalnej strony i zainstaluj jak zwykłą aplikację.
-
Linux: w terminalu (bash):
curl -fsSL https://ollama.com/install.sh | sh -
Windows 10/11: pobierz instalator
.exei uruchom (po instalacji dostępna będzie aplikacja „Ollama” oraz usługa w tle).
-
-
Weryfikacja instalacji:
ollama --version ollama list
Jeśli polecenie
ollamanie jest widoczne, zrestartuj terminal/komputer.Uwaga dla Windowsa:
ollamaświetnie działa przez PowerShell. -
Modele dostępne w ramach usługi
Platforma www.ollama.com zapewnia możliwość skorzystania z dużej liczby modeli o zróżnicowanych parametrach. Żeby przeglądać modele, należy wejść w odpowiednią zakładkę (
Models) i zapoznać się z jego właściwościami. Najlepiej zrobić to zanim zdecydujemy się na pobranie konkretnego modelu. -
Pobranie modelu (przykłady):
# mały i szybki model do testów ollama pull qwen2.5:1.5b ollama pull gemma2:2b ollama pull bielik-4.5b-v3.0-instruct:Q8_0 # średni i bardziej kompetentny model ollama pull llama3.1:8b ollama pull bielik-7b-instruct-v0.1-gguf
-
Pierwsze uruchomienie:
ollama --help
wyświetla możliwe interakcje z ollamą. Kiedy już zaciągnęliśmy model, powinniśmy móc go uruchomić poleceniem:
ollama run llama3.1:8b
Uwaga: nazwa modelu (i dodatkowe tagi jak w przypadku Bielika v4.5 muszą się zgadzać co do litery).
Następnie wpiszmy w REPL-u pytanie lub polecenie, żeby móc sprawdzić, czy model działa np.:
Napisz haiku po polsku o jesieni. -
Użycie z linii poleceń (jednorazowa odpowiedź):
echo "Streść w 3 punktach czym jest uczenie maszynowe" | ollama run llama3.1:8b
-
Sprawdzenie GPU / zasobów: podczas generowania odpowiedzi sprawdź obciążenie GPU/CPU (Monitor aktywności / Menedżer zadań /
nvidia-smi).
Tip:
OLLAMA_NUM_GPU=0lubollama run --num-gpu 0 ...wymusza CPU; na macOS akceleracja Metal włącza się automatycznie.
2.B. LM Studio
- Instalacja: pobierz aplikację LM Studio (Windows/macOS/Linux) i zainstaluj.
- Pobranie modelu: w zakładce Models wyszukaj np.
Llama 3.1 8B InstructlubQwen2.5 1.5B, wybierz wariant GGUF (np.bielik-7b-instruct-v0.1-gguf) i pobierz. - Uruchom: kliknij Chat → wybierz model → wpisz zapytanie testowe.
- (Opcjonalnie) Lokalny serwer: zakładka Server → Start Server. Umożliwia to wywołania zewnętrzne (HTTP/OpenAI‑compatible API). Zachowaj nazwę portu.
- Monitor zasobów: w aplikacji widać zużycie RAM/VRAM; dodatkowo możesz użyć systemowych narzędzi.
3. Testy funkcjonalne (PL i EN)
Wykonaj krótkie testy sprawdzające podstawowe zdolności modeli. W każdym kroku podaj prompt, odpowiedź skróconą (2–4 zdania) i uwagi.
- Wiedza ogólna: „Kto jest autorem Lalki? Podaj 2‑zdaniowe streszczenie.”
- Instrukcje: „Wyjaśnij jak działają listy w Pythonie i podaj 2 przykłady.”
- Kreatywność: „Napisz czterowersowy wiersz po polsku o krakowskim Smoku Wawelskim.”
- Tłumaczenie: „Przetłumacz na angielski: Zawsze noś parasol jesienią w Warszawie.”
- Ekstrakcja informacji: „Z tekstu: ‘Jan kupił 3 jabłka w cenie 2 zł za sztukę’ wyodrębnij: {liczba, produkt, cena_jednostkowa, waluta} jako JSON.”
- Krótka analiza sentymentu: „Zdanie: ‘Ten telefon jest zaskakująco dobry jak na swoją cenę’ — pozytyw/negatyw/neutral i dlaczego?”
Przykłady testowe są tylko na potrzeby zajęć, każda i każdy z was powinien wymyślić własny przykład, który werfikuje: poprawność, halucynacje, płynność odpowiadania modelu w języku polskim, długość/strukturę odpowiedzi, szybkość generowania (tokeny/s, subiektywne odczucie). W tym zadaniu chodzi również o porównanie, a więc o zestawienie odpowiedzi na pytania dla dwóch modeli -- polskiego (Bielik) i trenowanego na innym języku (np. Gemma / Llama). To zadanie powinno być wykonane na początku na jak najmniejszych modelach.
4. Porównanie modeli i ustawień
- Mały vs średni model: uruchom te same prompty na
qwen2.5:1.5billama3.1:8b(lub analogiczne). Zapisz różnice jakości/szybkości. - CPU vs GPU: jeśli masz GPU, porównaj czasy odpowiedzi (subiektywnie wystarczy) przy wymuszeniu CPU.
- Temperature / max tokens: przetestuj
--temperature(Ollama:ollama run model -p "..." -t <temp>) i--num-predict(limit długości). Opisz wpływ na odpowiedzi.
5. (Opcjonalnie) Wywołania z programów
5.A. Python + Ollama (CLI)
pip install ollama # klient Python (opcjonalny)import subprocess, json
prompt = "Wypisz 3 zalety uczenia przez wzmacnianie w 1 zdaniu każdą."
cmd = ["ollama", "run", "llama3.1:8b"]
res = subprocess.run(cmd, input=prompt.encode(), stdout=subprocess.PIPE)
print(res.stdout.decode())5.B. HTTP (LM Studio Server / Ollama API)
- Po uruchomieniu serwera lokalnego: wyślij żądanie
POST /v1/chat/completions(API zgodne z OpenAI). - Zanotuj adres (np.
http://localhost:1234/v1/chat/completions).
6. Sprawozdanie
- Informacje o środowisku: system, CPU, RAM, GPU/VRAM, wersja narzędzia, nazwy/rozmiary modeli.
- Polecenia uruchamiające wybrane narzędzie i wykonujące wybrane zapytania: z pierwszego uruchomienia i z co najmniej 3 testów z sekcji 3.
- Tabela porównawcza: (model × ustawienia (temperatura) × obserwacje). Krótkie wnioski.
- (Opcjonalnie) plik/fragment kodu z integracji programistycznej.
7. Pytania o umiejętności modelu
Odpowiedz zwięźle (1–4 zdania na punkt), bazując na swoich testach. Jeśli nie możesz czegoś zweryfikować — zaznacz to.
- Język polski: Jak oceniasz płynność, gramatykę i zasób słownictwa modelu po polsku? Jak radzi sobie z odmianą i fleksją?
- Faktyczność: W jakich sytuacjach model halucynował? Jak ograniczać halucynacje (np. styl promptu, ograniczenia, RAG)?
- Instrukcje: Czy model dobrze podąża za instrukcjami krok‑po‑kroku? Co pomaga (np. numerowane listy, format JSON, rola systemowa)?
- Rozumowanie: Czy dostrzegasz myślenie wieloetapowe? Jakimi pytaniami to weryfikowałeś/aś? Jak wpływa to na poprawność odpowiedzi?
- Ekstrakcja informacji: Jak dobrze model tworzy ustrukturyzowane wyniki (JSON, YAML, tabela)? Jakie są typowe błędy?
- Kreatywność vs precyzja: Jak temperature wpływa na styl i dokładność? Gdzie jest rozsądny kompromis dla Ciebie?
- Wydajność: Czy GPU przyspieszyło generację? Jak rozmiar modelu wpływał na czas i jakość?
- Bezpieczeństwo: Czy zaobserwowałeś/aś odmawianie odpowiedzi lub cenzurę? Czy można świadomie kierować bezpieczeństwem odpowiedzi?
- Porównanie narzędzi (jeśli doszło do porównania): Co wolisz — Ollama czy LM Studio? Dlaczego? Jakie są zalety/wady w Twoim środowisku?
Mini‑refleksja (2–4 zdania): Czego nauczyłeś/aś się o lokalnych modelach? Co planujesz sprawdzić w kolejnych labach?
Dodatkowe wskazówki
- Zacznij od mniejszych modeli (1–3B), potem przejdź do 7–8B i większych.
- Jeśli brakuje VRAM, użyj wariantów quantized (GGUF) i mniejszych rozmiarów (np. Q4_K_M).
- Pamiętaj o limitach kontekstu: dłuższe wejścia mogą zostać ucięte.
- W sprawozdaniu jasno odróżniaj obserwacje od przypuszczeń.