DevNet

Uruchom Duże Modele Językowe (LLM) na swoim komputerze - OLLAMA

Uruchom Duże Modele Językowe (LLM) na swoim komputerze - OLLAMA
W: DevNet, AI

Duże Modele Językowe (LLM) to zaawansowane systemy sztucznej inteligencji zaprojektowane do przetwarzania i generowania języka naturalnego. Stanowią one potężne narzędzie wspierające automatyzację, rozwiązywanie problemów i tworzenie dokumentacji, które można zintegrować z istniejącą infrastrukturą.

Współczesne LLM potrafią wykonywać zadania szczególnie przydatne w zarządzaniu siecią, takie jak:

  • Generowanie i analiza skryptów konfiguracyjnych
  • Interpretacja logów i identyfikacja anomalii
  • Automatyzacja rutynowych zadań administratorskich
  • Tworzenie dokumentacji technicznej
  • Debugowanie problemów sieciowych
  • Konwersja konfiguracji między różnymi platformami sprzętowymi

W środowiskach, gdzie bezpieczeństwo i prywatność danych są priorytetem, możliwość uruchamiania tych modeli lokalnie nabiera szczególnego znaczenia.

Czym jest Ollama?

Ollama to narzędzie zaprojektowane do lokalnego uruchamiania Dużych Modeli Językowych, eliminujące potrzebę wysyłania danych do zewnętrznych serwerów. Oznacza to:

  • Izolację danych - wrażliwe informacje o konfiguracji sieci pozostają w obrębie własnej infrastruktury
  • Niezależność - możliwość korzystania z modeli AI bez polegania na zewnętrznych dostawcach, nawet w segmentach odizolowanych od Internetu
  • Kontrolę zasobów - precyzyjne zarządzanie obciążeniem sieci i alokacją mocy obliczeniowej
  • Zgodność z politykami bezpieczeństwa - spełnienie rygorystycznych wymogów bezpieczeństwa dla infrastruktury krytycznej

Ollama działa na zasadzie lekkiego kontenera, który zarządza modelami LLM i udostępnia je poprzez lokalny interfejs API, co ułatwia integrację z istniejącymi narzędziami sieciowymi.

Korzyści z lokalnego LLM-a

Implementacja lokalnych modeli LLM poprzez Ollama przynosi szereg specyficznych korzyści dla profesjonalistów sieciowych:

Bezpieczeństwo i zgodność z przepisami

  • Eliminacja ryzyka wycieku danych związanego z przetwarzaniem chmurowym
  • Zgodność z wymogami RODO, ISO 27001 i innymi standardami branżowymi
  • Możliwość pracy z modelami AI w sieciach o podwyższonych wymogach bezpieczeństwa

Automatyzacja zarządzania siecią

  • Szybkie generowanie skryptów do automatyzacji rutynowych zadań
  • Analiza i optymalizacja istniejących konfiguracji
  • Konwersja między formatami konfiguracji różnych producentów sprzętu

Dokumentacja i wiedza

  • Automatyczne generowanie dokumentacji technicznej
  • Tworzenie procedur operacyjnych i instrukcji
  • Wyjaśnianie złożonych koncepcji sieciowych dla mniej doświadczonych członków zespołu

Debugowanie i rozwiązywanie problemów

  • Analiza logów i identyfikacja potencjalnych przyczyn awarii
  • Sugerowanie rozwiązań na podstawie objawów problemów
  • Optymalizacja wydajności sieci na podstawie analizy ruchu

Wymagania sprzętowe

Efektywne wykorzystanie lokalnych modeli LLM wymaga odpowiedniego sprzętu:

Rozmiar modelu Kwantyzacja Minimalna VRAM (GPU) Minimalny RAM (CPU) Rekomendowana karta GPU Rekomendowany procesor CPU
7B FP16 14–16 GB 32 GB RTX 3090 (24 GB) 8-rdzeniowy, 32 GB DDR5
8-bit 8–10 GB 16 GB RTX 3060 (12 GB) 6-rdzeniowy, 16 GB DDR4
4-bit 4–6 GB 12 GB RTX 3050 (6 GB) 4-rdzeniowy, 12 GB DDR4
13B FP16 24–32 GB 64 GB RTX 4090 (24 GB) 12-rdzeniowy, 64 GB DDR5
8-bit 16–18 GB 32 GB RTX 3080 (16 GB) 8-rdzeniowy, 32 GB DDR4
4-bit 8–12 GB 24 GB RTX 3060 (12 GB) 6-rdzeniowy, 24 GB DDR4
30B FP16 48–60 GB 128 GB NVIDIA A100 (40 GB) 16-rdzeniowy, 128 GB DDR5
8-bit 24–30 GB 64 GB RTX 4090 (24 GB) 12-rdzeniowy, 64 GB DDR4
4-bit 12–16 GB 48 GB RTX 3080 (16 GB) 8-rdzeniowy, 48 GB DDR4
65B FP16 80–120 GB 256 GB Multi-GPU (np. 2×A100) 24-rdzeniowy, 256 GB DDR5
8-bit 40–60 GB 128 GB RTX 6000 Ada (48 GB) 16-rdzeniowy, 128 GB DDR4
4-bit 24–32 GB 96 GB RTX 3090 (24 GB) 12-rdzeniowy, 96 GB DDR4
70B+ FP16 120–180 GB 512 GB Klastry wieloprocesorowe GPU 32-rdzeniowy, 512 GB DDR5
8-bit 60–90 GB 256 GB 2×RTX 6000 Ada (96 GB) 24-rdzeniowy, 256 GB DDR4
4-bit 36–48 GB 192 GB 2×RTX 4090 (48 GB) 16-rdzeniowy, 192 GB DDR4
💡
W dużych modelach językowych (LLM) "B" oznacza "miliard" i odnosi się do liczby parametrów. Większe "B" sugeruje bardziej złożony i potężny model.
  • Zapora sieciowa: Potrzebny dostęp do registry.ollama.com (port 443) podczas pobierania modeli
  • Port API: Domyślnie 11434 (warto upewnić się, że nie koliduje z innymi usługami)

Instalacja i konfiguracja Ollama

Jeśli praca z CLI sprawia Ci mnóstwo frajdy, możesz zainstalować Ollamę z poziomu terminalu, korzystając z gotowego skryptu (Linux) lub używając menedżera pakietów (macOS).

Linux

# Automatyczna instalacja bez interakcji
curl -fsSL https://ollama.com/install.sh | sudo OLLAMA_YES=1 sh

# Konfiguracja jako usługi systemd z automatycznym startem
sudo systemctl enable ollama
sudo systemctl start ollama

# Weryfikacja poprawności instalacji
curl -s localhost:11434/api/version

Windows

  1. Pobierz najnowszy instalator z Ollama.com
  2. Zainstaluj z uprawnieniami administratora
  3. Skonfiguruj automatyczny start usługi przez Usługi Windows

MacOS

brew install ollama

Domyślnie Ollama nasłuchuje tylko na localhost (127.0.0.1). Aby umożliwić dostęp z innych urządzeń w sieci, należy:

Utworzyć plik konfiguracyjny /etc/ollama/config:

OLLAMA_HOST=0.0.0.0:11434

Zrestartować usługę:

sudo systemctl restart ollama

Skonfigurować zaporę sieciową:

# Dla systemów z UFW
sudo ufw allow from 192.168.1.0/24 to any port 11434

# Dla systemów z iptables
sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 11434 -j ACCEPT
💡
Uwaga: Ze względów bezpieczeństwa, zawsze ograniczaj dostęp do API tylko do zaufanych segmentów sieci.

Pierwsze kroki z Ollama

Po pomyślnej instalacji Ollama, nadszedł czas, aby rozpocząć pracę z modelami. Proces ten jest prosty i intuicyjny, nawet dla osób, które dopiero rozpoczynają przygodę z narzędziami AI.

Pobieranie i uruchamianie modeli

Po uruchomieniu Ollama, pierwszym krokiem jest pobranie wybranego modelu. Oto jak możesz to zrobić:

# Pobranie modelu (np. llama3)
ollama pull llama3

# Alternatywnie, możesz pobrać konkretną wersję modelu
ollama pull llama3:8b    # Model 8 miliardów parametrów
ollama pull llama3:70b   # Model 70 miliardów parametrów (wymaga mocniejszego sprzętu)
ollama pull mistral:7b-instruct  # Model Mistral w wersji instrukcyjnej

Po pobraniu modelu, możesz od razu rozpocząć interakcję:

# Uruchomienie modelu w trybie interaktywnym
ollama run llama3

Zaawansowana interakcja z modelami

# Przetworzenie pojedynczego zapytania bez uruchamiania trybu interaktywnego
ollama run llama3 "Wygeneruj skrypt do konfiguracji OSPF na routerze Cisco" > ospf_config.txt

# Przetwarzanie pliku z zapytaniem (np. z logami sieciowymi do analizy)
cat logs.txt | ollama run llama3:8b "Przeanalizuj poniższe logi i wskaż potencjalne problemy:" > analiza_logow.txt

# Uruchomienie modelu z określonymi parametrami
ollama run llama3 --temperature 0.2 --top_p 0.9

Parametry takie jak temperature (losowość odpowiedzi) czy top_p (różnorodność) pozwalają dostosować sposób działania modelu do konkretnych potrzeb - niższe wartości są lepsze dla zadań technicznych wymagających precyzji, wyższe dla kreatywnego generowania treści.

Praktyczne zastosowania

1. Automatyzacja konfiguracji urządzeń sieciowych

Przykładowy prompt do generowania skryptów konfiguracyjnych:

>>> Generuj skrypt w języku Python wykorzystujący bibliotekę Netmiko do 
    konfiguracji VLAN 100-105 na wszystkich przełącznikach Cisco w sieci,
    z obsługą wyjątków i logowaniem.

2. Analiza logów i identyfikacja problemów

Modele LLM mogą szybko przetwarzać i analizować logi sieciowe, identyfikując potencjalne problemy:

>>> Przeanalizuj poniższy fragment logów z routera Juniper i wskaż potencjalne 
    problemy i rozwiązania:
    
    Mar 2 08:14:22 router1 rpd[1234]: BGP_PREFIX_LIMIT_EXCEEDED: 192.168.1.1 (External AS 65001): Configured maximum prefix-limit(5000) exceeded for inet-unicast nlri: 5100 (100 %%)
    Mar 2 08:14:23 router1 rpd[1234]: bgp_io_mgmt_read_cb: peer 192.168.1.1 (External AS 65001): Input read error: Connection reset by peer
    Mar 2 08:15:01 router1 rpd[1234]: bgp_connect_start: connect 192.168.1.1 (External AS 65001): Connection refused
    Mar 2 08:20:15 router1 rpd[1234]: bgp_connect_success: 192.168.1.1 (External AS 65001)
    Mar 2 08:20:17 router1 rpd[1234]: BGP_PREFIX_LIMIT_EXCEEDED: 192.168.1.1 (External AS 65001): Configured maximum prefix-limit(5000) exceeded for inet-unicast nlri: 5100 (100 %%)

3. Generowanie dokumentacji technicznej

Użycie modelu do tworzenia dokumentacji standardów sieciowych i procedur:

>>> Utwórz szablon dokumentacji dla procedury wdrażania redundantnych łączy BGP w organizacji, uwzględniając wymagania bezpieczeństwa, monitoring i procedury awaryjne.

Przydatne komendy Ollama

# Podstawowe zarządzanie modelami
ollama list                    # Lista zainstalowanych modeli z ich rozmiarami
ollama rm [model]              # Usunięcie modelu aby zwolnić miejsce
ollama cp [src] [dst]          # Klonowanie modelu (np. do eksperymentów)

# Zaawansowane zarządzanie
ollama pull [model]:[tag]      # Pobieranie konkretnej wersji modelu
ollama run [model] --verbose   # Uruchomienie z dodatkowymi informacjami (przydatne przy debugowaniu)

# Tworzenie własnych modeli
ollama create mymodel -f ./Modelfile  # Tworzenie dostosowanego modelu

# Integracja z API
curl -X POST http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Wygeneruj konfigurację BGP dla Juniper MX",
  "stream": false
}'

Porównanie z chmurowym GPT i Claude

Cecha Lokalne LLM (Ollama) ChatGPT/Claude (chmura)
Bezpieczeństwo danych Pełna kontrola - konfiguracje i hasła nie opuszczają infrastruktury Dane przesyłane do zewnętrznych serwerów
Zgodność z politykami Łatwiejsza zgodność z rygorystycznymi politykami bezpieczeństwa Może wymagać specjalnych umów SLA i audytów
Dostępność w izolowanych sieciach Pełna dostępność bez połączenia z internetem Wymaga stałego połączenia z chmurą
Integracja z narzędziami sieciowymi Możliwość głębokiej integracji poprzez lokalne API Ograniczona do możliwości publicznego API
Przepustowość Niezależna od łącza internetowego Ograniczona przez API limits i przepustowość łącza
Opóźnienia Niskie, niezależne od połączenia internetowego Zmienne, zależne od obciążenia usługi i jakości łącza
Koszt dla dużych wdrożeń Jednorazowy koszt sprzętu i utrzymania Rosnący koszt subskrypcji wraz ze skalą użycia
Aktualizacje wiedzy Rzadsze, wymagają pobrania nowych modeli Regularne, automatyczne
💡
Wskazówka: Warto rozważyć hybrydowe podejście - używanie lokalnych modeli dla codziennej pracy z konfiguracjami i danymi wrażliwymi, a modeli chmurowych dla bardziej złożonych analiz i dostępu do najnowszych informacji.

Choć lokalne modele LLM mają pewne ograniczenia w porównaniu do rozwiązań chmurowych (szczególnie w kontekście aktualności wiedzy), korzyści związane z bezpieczeństwem, kontrolą i dostępnością czynią je atrakcyjnym rozwiązaniem dla organizacji o wysokich standardach bezpieczeństwa.

W miarę rozwoju technologii i pojawienia się nowych coraz bardziej efektywnych modeli, znaczenie lokalnych LLM w ekosystemie narzędzi inżynierów sieci będzie systematycznie rosło.

Korzystasz z lokalnych modeli LLM? Jakie zadania zostały zautomatyzowane? Pochwal się w komentarzach!

Napisane przez
Rafał Rudewicz
Pasjonat sieci komputerowych i automatyzacji. CCNP Enterprise & DevNet Specialist. IP/MPLS SME. Dołącz do mnie, aby razem odkrywać fascynujący świat technologii!
Komentarze
Więcej od Inna Sieć
"Start small, grow big" z automatyzacją sieci
paid
Premium

"Start small, grow big" z automatyzacją sieci

Automatyzacja sieci to klucz do efektywności w zarządzaniu infrastrukturą IT! Dowiedz się, jak wprowadzenie automatyzacji może zaoszczędzić czas, zwiększyć niezawodność i poprawić bezpieczeństwo Twojej sieci. Odkryj sprawdzone metody i praktyczne pomysły, które przekształcą Twoje codzienne operacje!
Szablony Jinja2
DevNet

Szablony Jinja2

Czy kiedykolwiek zastanawiałeś się, jak zautomatyzować monotonne zadania konfiguracyjne w sieciach? Odpowiedzią są szablony Jinja2 - potężne narzędzie, które rewolucjonizuje sposób, w jaki inżynierowie sieciowi podchodzą do automatyzacji.
Spis treści
Świetnie! Udało ci się pomyślnie zarejestrować.
Witaj z powrotem! Zalogowałeś się pomyślnie.
Pomyślnie subskrybowałeś Inna Sieć.
Twój link wygasł.
Sukces! Sprawdź swoją skrzynkę e-mailową, aby uzyskać magiczny link do logowania.
Sukces! Twoje informacje rozliczeniowe zostały zaktualizowane.
Twoje informacje rozliczeniowe nie zostały zaktualizowane.