Translate

16 maja 2026

Jak uruchomić giganty AI na 16GB RAM? Eksperyment z Linux Kubuntu, Zorim 18.1 Core, Swapem i dyskiem M.2

 

Jak uruchomić giganty AI na 16GB RAM? Eksperyment z Linux Kubuntu, Zorin OS, Swapem i dyskiem M.2

W świecie lokalnych modeli językowych (LLM) panuje przekonanie, że do uruchomienia modeli powyżej 15 GB parametrów potrzebujesz stacji roboczej z ogromną ilością pamięci. Dzisiaj udowodnimy, że dzięki elastyczności systemu Linux i odpowiedniej konfiguracji pamięci wymiany (Swap), możemy przełamać tę barierę na standardowym laptopie gamingowym.

1. Stanowisko testowe (Hardware & Software)

Cały eksperyment został przeprowadzony na mobilnej platformie służącej jako izolowany poligon doświadczalny. Kluczowym elementem jest tu bezpieczeństwo – system operacyjny oraz dane znajdują się na zewnętrznym nośniku, przez co nie ingerujemy w pliki na wewnętrznym dysku laptopa (choć warto pamiętać, że instalacja na dysku wewnętrznym dałaby jeszcze lepsze prędkości).

Specyfikacja techniczna:

  • Laptop: ASUS TUF Gaming A15 (FA507NUR)

  • Procesor: AMD Ryzen 7 7435HS (16 wątków)

  • Pamięć RAM: 16 GB DDR5 (dostępne 15.4 GiB)

  • Grafika: NVIDIA GeForce RTX 4050 Laptop GPU (6 GB VRAM)

  • Nośnik: Zewnętrzny dysk SSD M.2 podłączony przez port USB-C

  • System: Kubuntu 26.04 LTS (Plasma 6.6.4) / Alternatywnie: Zorin OS 18.1 Core (świetna dystrybucja prosto z Irlandii)

  • Oprogramowanie: LM Studio 0.4.12 (Linux x86-64)


2. Krok po kroku: Instalacja i "Złota Zasada Swapu"

Sekret sukcesu tkwi w przygotowaniu "miejsca do myślenia" dla modelu AI. Jeśli model waży więcej niż mamy fizycznego RAM-u, musimy stworzyć mu stabilny zapas na szybkim dysku.

Czysta instalacja – najprostsza droga

Najlepszym sposobem jest zadbanie o odpowiedni Swap już podczas instalacji systemu.

  1. Podczas instalacji na dysku M.2 wybierz ręczne partycjonowanie.

  2. Skonfiguruj plik wymiany (Swap) na 100 GB.

Dostrojenie jądra Linuxa: swappiness i vfs_cache_pressure

W świecie Linuxa te dwa parametry to absolutny duet marzeń, kiedy konfiguruje się system pod obsługę gigantycznych modeli AI na szybkim dysku NVMe.

  • vm.swappiness=100 – Zmusza system do maksymalnie agresywnego korzystania ze Swapu, natychmiast uwalniając fizyczny RAM dla karty graficznej i LM Studio.

  • vm.vfs_cache_pressure=50 – Domyślnie (wartość 100) Linux bardzo agresywnie usuwa z pamięci RAM dane podręczne o plikach. Zmniejszenie tej wartości do 50 nakazuje systemowi trzymanie struktur plików w pamięci dwa razy dłużej. Dzięki temu system nie musi ciągle odczytywać tych samych danych z dysku, co drastycznie podnosi stabilność i zapobiega "szarpnięciom" podczas generowania tekstu.

Aby wdrożyć te ustawienia na stałe, otwórz plik konfiguracyjny w terminalu:

Bash
sudo nano /etc/sysctl.conf

Zjedź strzałkami na sam dół i dopisz poniższe linie:

Plaintext
vm.swappiness=100
vm.vfs_cache_pressure=50

Zapisz zmiany kombinacją Ctrl + O (potwierdź Enterem), wyjdź przez Ctrl + X i aktywuj nowe parametry natychmiastową komendą:

Bash
sudo sysctl -p

Zaleta: Jeśli instalator automatycznie skonfiguruje nowoczesny system plików BTRFS, eliminujemy ryzyko błędów przy ręcznym wpisywaniu komend.

Co jeśli zapomniałeś o tym przy instalacji? (Procedura dla BTRFS)

Jeśli Twój system już działa, a masz za mały Swap (np. domyślne 512 MB), musisz ręcznie przygotować odpowiedni plik wymiany, pamiętając o specyfice systemu plików BTRFS:

sudo truncate -s 0 /swapfile
sudo chattr +C /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1G count=100 status=progress
sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile

(Ważne: komenda chattr +C wyłącza mechanizm Copy-on-Write dla tego pliku, co zapobiega potężnym spadkom wydajności).


 Na Ext4 komenda fallocate, którą wcześniej rozważaliśmy, działa bezbłędnie, błyskawicznie (w sekundę) i jest w pełni zalecana.

Oto jak wygląda dokładnie ta sama procedura przygotowania 100 GB Swapu, jeśli ktoś ma system postawiony na Ext4:

Bash
# 1. Błyskawiczne zarezerwowanie 100GB miejsca (na Ext4 działa od ręki)
sudo fallocate -l 100G /swapfile

# 2. Nadanie bezpiecznych uprawnień (tylko dla systemu)
sudo chmod 600 /swapfile

# 3. Formatowanie pliku jako przestrzeń wymiany
sudo mkswap /swapfile

# 4. Natychmiastowe włączenie Swapu
sudo swapon /swapfile

3. Wyniki eksperymentu: Praca na krawędzi

Do testu bojowego użyłem modelu GLM-4-9B (lub Qwen-2.5 w dużych wariantach, dostosuj pod swój model). Przy 16 GB RAM ładowanie tak potężnego pliku wyciska z laptopa siódme poty:

  • Swap w akcji: System bezbłędnie przesunął nadmiar danych systemowych do pliku wymiany, rezerwując fizyczne zasoby pod AI.

  • Stabilność: Podczas samego ładowania środowisko spowolniło (co jest naturalne przy tak ogromnej operacji dyskowej), jednak po załadowaniu system działał stabilnie. Nie wystąpiły żadne zawieszenia czy błędy braku pamięci (OOM).

  • Wydajność: Pierwsza odpowiedź wymagała cierpliwości (4 minuty 39 sekund). Późniejsze generowanie tekstu odbywało się z prędkością 0.59 tokena na sekundę. Wynik pozwala na stabilne, choć niespieszne korzystanie z modelu.


4. Refleksje i możliwości optymalizacji

Jako osoba, która lubi wyzwania i nie znosi sztucznych ograniczeń, widzę tu przestrzeń na dalsze usprawnienia:

  • Wąskie gardło USB-C: Cała komunikacja odbywała się na linii laptop – zewnętrzna obudowa M.2 przez port USB. Przeniesienie całego setupu na wewnętrzny slot M.2 NVMe (bezpośrednio na płytę główną) znacząco przyspieszyłoby proces wymiany danych.

  • Potencjał Linuxa: Linux udowodnił, że zarządza pamięcią w sytuacjach krytycznych o niebo lepiej niż Windows. Choć ma swoje wady, w zarządzaniu skrajnie obciążonym Swapem okazał się bezkonkurencyjny. Podobne, świetne rezultaty stabilności odnotowałem na irlandzkiej dystrybucji Zorin OS.

  • Współpraca z AI: Cały eksperyment i konfiguracja parametrów jądra zostały zoptymalizowane przy wsparciu darmowej wersji Gemini. To żywy dowód na to, że pracując ramię w ramię z modelami językowymi, można osiągać imponujące rezultaty inżynieryjne.


5. Podsumowanie i Ostrzeżenie

Eksperyment udowodnił, że potężny, odpowiednio skonfigurowany Swap to doskonałe "wyjście awaryjne" w dobie rosnącego apetytu lokalnych modeli AI na RAM. Pozwala on pracować na architekturach, które teoretycznie nie miały prawa uruchomić się na tej klasie sprzętu.

Ważna uwaga: Cały eksperyment ma charakter demonstracyjny i badawczy. Nie biorę odpowiedzialności za skutki podobnych testów na Waszym sprzęcie – każdą modyfikację systemu plików i parametrów systemowych wykonujecie na własne ryzyko.

Jeśli jednak, tak samo jak ja, nie lubicie sprzętowych barier – Linux i solidny plik Swap czekają na Wasze własne testy! Ja też nie jestem informatykiem ,pomaga mi AI Gemini.












Brak komentarzy:

Prześlij komentarz