Linux

Magia Linuxa, czyli tworzenie AI i rozwój internetu rzeczy

Większość z nas wydaje na system operacyjny naszego komputera całkiem pokaźną sumę. Co jednak, jeśli istnieje alternatywa, czerwona pigułka? Tak jest. Linux, czyli system operacyjny, tworzony przez niezmożoną społeczność pasjonatów, od 1991 roku pozostaje darmowy, w formie open source. Sam mam zamiar już niedługo przenieść się na Pingwina. I chociaż sam nie zamierzam w najbliższej przyszłości tworzyć modeli sztucznej inteligencji, może on pomóc nie tylko w tym.

Kilka słów o podstawach

W skrócie

Linux to jedna z najlepszych alternatyw dla Windowsa. Istnieje wiele różnych wersji tego systemu, opartych na tym samym jądrze, a każda specjalizuje się w innych zastosowaniach. Jego maskotką jest pingwin, nazwany Tux.

Magia Linuxa, czyli tworzenie AI i rozwój internetu rzeczy
Tux the Penguin to maskotka, lecz nie oficjalne logo systemu Linux / fot. Puzzle Factory

Dla ciekawych

Linux to nazwa grupy systemów opartych na tym samym jądrze. Istnieją więc różne wersje tego systemu, nazywane dystrybucjami. Do najpopularniejszych z nich wliczamy Ubuntu, Mint i Arch. Fakt, że Linux jest rozpowszechniany w formie open source, oznacza, że jest on całkowicie darmowy. Możemy też zaglądnąć do jego kodu źródłowego, dowolnie zmieniać i rozpowszechniać go. Stąd właśnie tyle dystrybucji.

Warto zaznaczyć, że Linux sam z siebie jest tylko podstawą systemu operacyjnego. Tak naprawdę, kiedy używamy tej nazwy w języku potocznym, zawsze odnosimy się do jednej z jego dystrybucji. Jeśli o nich mowa, jedną z najlepszych do tworzenia sztucznej inteligencji jest Ubuntu, a razem z nią narzędzie Kubeflow. Jednakże, dla łatwości zrozumienia, przez resztę tego artykułu, pisząc Linux, będę odnosił się do jego dystrybucji.

Niezwykła społeczność Linuxa

W skrócie

Linux przez prawie 3 dekady na rynku zgromadził bardzo lojalną rzeszę fanów. Dla osób, które nie mają zamiaru kupować produktów firmy Microsoft, a także nie chcą płacić więcej za sprzęt Apple, jest to najlepsza, o ile nie jedyna, opcja. Linux ma też swoje zalety dla każdego z nas. Po pierwsze, jego nowsze dystrybucje są bardzo łatwe w użyciu i podobne do systemu Android. Pingwin może pochwalić się także niespotykaną ochroną prywatności i małym zużyciem zasobów naszego komputera.

Dla ciekawych

Pierwsza wersja tego systemu, stworzona przez Linusa Torvaldsa (skąd jego nazwa), oryginalnie opublikowana została 17 września 1991 roku. Oczywiście, oprócz nazwy i statusu open source, nie za bardzo przypominała dzisiejszego Linuxa. Użytkownicy kochają Pingwina za prywatność, którą im oferuje (obecnie nie znamy żadnej luki w kodzie, która mogłaby być wykorzystana przeciwko nam), a także za wolność, którą daje.

Możemy pobrać dowolną wersję Linuxa, kiedy tylko chcemy! Nie musimy czekać na oficjalną aktualizację systemu. A jeśli pragniemy zainstalować jeden system i nigdy go nie zmieniać, wersje LTS są wspierane przez 5 lat. To oznacza 60 miesięcy darmowych ulepszeń i nakładek naprawiających nowo napotkane błędy.

Społeczność Linuxa pokochała też wszystko, co open source. Wielu użytkowników tworzy chociażby własne sterowniki (nie wszyscy producenci sprzętu wspierają Linuxa, a czasem te od społeczności są lepsze od oficjalnych), a także programy i motywy – system ten możemy dostosować do swojego gustu w dowolnym stopniu.

Magia Linuxa, czyli tworzenie AI i rozwój internetu rzeczy
Aktualizacja Linuxa w pigułce / fot. Brandon Bradshaw

Linux podstawą AI i IoT

Przechodzimy do tego, na co czekaliście. System ten ma niewiele wad, jeśli chodzi o profesjonalne zastosowania w zakresie sztucznej inteligencji i internetu rzeczy. Skupmy się więc na razie na jego zaletach.

W skrócie

  • Stabilność w zastosowaniach serwerowych – Linux jest łatwiejszy do użytku bez monitora (bez pulpitu), tylko w wierszu poleceń. Dodatkowo, Windows bardzo często wymusza aktualizacje i wymaga całkowitego restartu urządzenia do ich instalacji. Pamiętajmy, że komputery serwerowe często pracują kilkanaście godzin na dobę, a nawet więcej.
  • Większa wydajność Linuxa, czyli chociażby mniejsze zużycie RAM od razu po zainstalowaniu. W przypadku trenowania modeli sztucznej inteligencji, chcemy wykorzystać zasoby każdego naszego komputera do maksimum, stąd też system ten jest najprostszym i najlepszym rozwiązaniem.
  • Największe firmy używają go na swoich serwerach i komputerach trenujących AI. Może nam to coś podpowiedzieć. Używa go też wiele spółek z sektora autonomicznych samochodów. Pomaga on m.in. firmom NVIDIA, Samsung, Baidu i Intel. Nawet Microsoft używa Linuxa na swoich serwerach.
  • Bezpieczeństwo. Jest on o wiele mniej narażony na ataki hackerów i złośliwe oprogramowanie.
  • Działa na bardzo wielu platformach, od PC, przez serwery i Raspberry Pi, aż do wszystkich urządzeń smart home, nawet inteligentnych tosterów.
Magia Linuxa, czyli tworzenie AI i rozwój internetu rzeczy
Większość urządzeń IoT używa Linuxa / fot. Trendlynews

Dla ciekawych

Linux jest najlepszym systemem dla deweloperów z kilku powodów. Po pierwsze, ma różne przydatne biblioteki, a jego społeczność za darmo udostępniła niezliczoną ilość poradników. Ponadto, z natury oprogramowania open source, nie musimy martwić się o kompatybilność i aktualność naszego oprogramowania. Z tego powodu, na Linuxie działają zawsze najnowsze wersje bibliotek, takich, jak Keras, OpenCV, PyTorch, TensorFlow i Theano.

Pingwinek jest ostatnimi czasy coraz bardziej wspierany przez producentów sprzętu. Na przykład, firma Nvidia wspomaga używanie CUDA na Linuxie. Jest to specyficzna architektura procesorów wielordzeniowych, która, na nowszych kartach graficznych, pozwala na szybsze przetwarzanie danych i większą liczbę kalkulacji w porównaniu do tradycyjnego systemu. CUDA wykorzystywana jest chociażby w renderowaniu grafiki 3D, a także w trenowaniu modeli AI.

Magia Linuxa, czyli tworzenie AI i rozwój internetu rzeczy
Laboratorium, które odkryło fale grawitacyjne, także używa Linuxa / fot. Reddit

Od niedawna Linux wspiera także podłączanie zewnętrznych kart graficznych przez port Thunderbolt. Może być to przydatne dla deweloperów, którzy nie mają bardzo potężnych komputerów, a nawet laptopy bez dedykowanego GPU. Nie muszą wtedy kupować całego systemu, gdyż samo programowanie tego nie wymaga. Mogą podpiąć do laptopa kartę graficzną dopiero wtedy, gdy tego potrzebują. W rezultacie, w ręce programistów włożona jest większa moc obliczeniowa.

Co więcej, Linux wspiera Kubeflow, jedną z najpopularniejszych (i również darmowych) platform uczenia maszynowego, stworzoną głównie przez Google. Jest to bardzo dobry wybór, jeśli zależy nam na szybkości, łatwości i skalowalności tworzonego AI. Kubeflow usuwa więc największą barierę przeszkadzającą w zastosowaniu sztucznej inteligencji – tworzenie modeli gotowych do implementacji.

Linux, dzięki tej platformie, pomaga coraz to większej liczbie deweloperów w ominięciu tego kroku, przyspieszając proces tworzenia. Pamiętajmy, że uczenie maszynowe znajduje zastosowanie w wielu dziedzinach nauki – pomaga nam zarówno w zrozumieniu naszego kodu genetycznego, jak też w rozpoznawaniu fałszerstw i oszustw w czasie rzeczywistym.

Magia Linuxa, czyli tworzenie AI i rozwój internetu rzeczy
Pulpit dystrybucji Ubuntu jest bardzo podobny zarówno do Androida, jak i MacOS / fot. Softpedia

Kolejnym ważnym składnikiem jest certyfikowany sprzęt. Wielu producentów, takich, jak Lenovo, Dell i HP sprawdza wydajność swoich laptopów również z Linuxem, dzięki czemu możemy być pewni, że wszystko będzie działać poprawnie. Może nam się to wydawać oczywiste, lecz nie zapominajmy, że to dzięki temu Microsoft nie posiada jeszcze monopolu na rynku systemów operacyjnych.

Oczywiście, nie tylko laptopy testowane są pod Linuxa. Również komputery stacjonarne, jak i części do nich, takie jak ww. karty Nvidia, testowane są stricte pod Pingwinka. Linux może również pochwalić się ścisłą integracją z BIOS-em i standardami jakościowymi wprost od producentów i deweloperów.

A jakieś wady?

W skrócie

Jeśli mówimy o zastosowaniach serwerowych, czyli m.in. trenowaniu sztucznej inteligencji, Linux nie ma wielu wad. Jego zoptymalizowane, mniejsze dystrybucje, a także możliwość dowolnej konfiguracji, sprawdzają się równie dobrze w urządzeniach IoT. Problemy Pingwina, takie, jak brak niektórych sterowników, wychodzą na jaw dopiero, gdy chcemy użyć komputera z tym systemem jako peceta.

Dla ciekawych

Wady Linuxa odnoszą się głównie do jego desktopowych, konsumenckich sposobów użytkowania. To nie oznacza, że dystrybucje Pingwina nie napotykają krytyki na każdym kroku. Wręcz przeciwnie. Jednym z problemów Linuxa, o którym wspomniał sam twórca, Linus Torvalds, zarówno w 2009, jak i w 2014 roku, jest jego wydajność.

Choć to prawda, że w większości zastosowań system ten jest szybszy chociażby od tego Microsoftu, jego kreator chciał stworzyć jeszcze lepszy, bardziej zoptymalizowany system. Już dekadę temu nazwał on jądro Linuxa ogromnym, a za powód, dla którego jego system jest wciąż uznawany za najbardziej wydajny, podał fakt, że na szczęście technologia rozwinęła się szybciej.

Magia Linuxa, czyli tworzenie AI i rozwój internetu rzeczy
Nvidia TITAN RTX, jedna z najlepszych kart graficznych (GPU) na świecie, często wykorzystywana jest w serwerach / fot. Amazon

Dla wielu z nas, przejście na Linuxa może oznaczać brak wsparcia dla większości gier, szczególnie tych nowszych. Zarówno pierwsza, jak i trzecia część Wiedźmina od CD Projekt RED nie ma wersji na ten system.

Tak samo sytuacja ma się z programami biurowymi, takimi, jak pakiet Adobe Suite i Microsoft Office. Oczywiście, można obejść te problemy, np. przez maszynę wirtualną, lecz jest to dosyć pracochłonne. Większości profesjonalistów nie wystarczy sam GIMP.

Oprócz tego, mamy też wyżej wspomniane słabe wspieranie tego systemu operacyjnego przez producentów sprzętu. Dopiero kilka lat temu PulseAudio stało się stabilnym zestawem sterowników do obsługi dźwięku. Sytuacja z kartami graficznymi jest jeszcze gorsza. Narzędzia do kontroli ich parametrów, takich, jak temperatura, obroty wentylatorów i wydajność, są lata za tymi na Windowsa i macOS.

Chociaż sytuacja polepsza się z roku na rok, tak wciąż wielu mniej zaawansowanych technologicznie użytkowników może mieć ogromny problem z używaniem Pingwina.

Magia Linuxa, czyli tworzenie AI i rozwój internetu rzeczy
Nawet te najdziwniejsze urządzenia smart home zwykle używają tego systemy / fot. Lifewire

Dzisiaj jednak nie tym się zajmujemy. W zastosowaniach serwerowych Linux sprawdza się idealnie. Wystarczające sterowniki kart graficznych, darmowa natura i lepsza wydajność w porównaniu do Windowsa sprawiają, że jest to jedyny wybór dla osób, które chcą używać swoich maszyn tylko i wyłącznie do trenowania modeli AI.

Raspberry Pi

W skrócie

Na koniec, kilka słów o Raspberry Pi. Ten malutki komputer wykorzystywany jest w wielu urządzeniach IoT, szczególnie nieprodukowanych masowo. Niektóre jego wersje można kupić za jedyne 20 złotych. Na wszystkich z nich zainstalujemy dedykowany system Raspbian (teraz nazywany Raspberry Pi OS), który również jest dystrybucją naszego tytułowego Pingwina.

Magia Linuxa, czyli tworzenie AI i rozwój internetu rzeczy
Najnowszy model Raspberry Pi 4 B / fot. Wikipedia

Dla ciekawych

Kilka fascynujących zastosowań tego małego komputera:

  • normalny desktop – jest jedną z najtańszych opcji,
  • drukowanie bezprzewodowe – podłączenie swojej ulubionej, przewodowej drukarki do domowego serwera z Raspberry Pi nada jej możliwość drukowania przez Wi-Fi,
  • kino domowe – zamiast Google Chromecast, wystarczy zainstalować dystrybucję Kodi,
  • emulator gier – będziemy mogli dzięki niemu pogrywać w retro tytuły,
  • kontrola robota – mózg większości amatorsko (i nie tylko!) stworzonych robotów to Raspberry Pi (można nawet zbudować z nim drona wykorzystującego AI),
  • własne urządzenia, takie, jak kamera i tablet – wystarczy ten minikomputer, odpowiednie dodatki sprzętowe i (niezwykłe) umiejętności.
Magia Linuxa, czyli tworzenie AI i rozwój internetu rzeczy
Różne wersji dedykowanego systemu Raspberry Pi OS / fot. RP.org

Podsumowanie

Od dobrych kilku lat wiemy, że sztuczna inteligencja i internet rzeczy będą głównymi składnikami 4. rewolucji przemysłowej. Natomiast, od stuleci wiemy, że ludzie są bardzo dobrzy w dostosowywaniu się do danych środowisk, a także do sytuacji. A sytuacja, w której się znaleźliśmy, wymagała innej rewolucji.

Potrzebowaliśmy systemu, który nie ma reklam w menu startowym, a także nie jest ekskluzywny dla jednej platformy. Chociaż Linux nie powstał kilka lat temu, znalazł się wtedy w odpowiednim miejscu i czasie. Co więcej, innym składnikiem Industry 4.0 zapewne okaże się prywatność. Już widzimy, jakie efekty ma jej brak.

Tutaj znów wkracza nasz Pingwin. Sterowniki już nadchodzą. Nvidia ciężko nad nimi pracuje. Coraz więcej dystrybutorów gier, takich jak Steam, myśli o tym systemie. Amatorzy sztucznej inteligencji mogą prywatnie trenować modele AI – coraz sprawniej i za darmo.

Linux nie jest tylko teraźniejszością internetu rzeczy. Może stać się także przyszłością nas wszystkich.