Sprzęt

iPad w świecie sztucznej inteligencji

Promocja

Były takie czasy, że kiedy pracownik potrzebował dużej mocy procesora i dobrej karty graficznej, to bez komputera stacjonarnego się nie obyło. Bo np. duży projekt z kategorii tzw. data driven sprawiał, że procesor grzał się na potęgę. I wszystko było do zniesienia w biurze czy domu. No, ale jak zabrać taki komputer ze sobą, gdy musisz – lub możesz – pracować w innym miejscu.

iPad w świecie sztucznej inteligencji
Żródło: Apple

Technologia wciąż rozwija się zgodnie z prawem Gordona Moore’a, jednego z założycieli Intela (https://pl.wikipedia.org/wiki/Prawo_Moore%E2%80%99a). To m.in. pozwoliło na pojawienie się na rynku ultrabooków (np. pierwszych modeli MacBook Air), które nagle – nie gorzej niż popularne „blaszaki” albo bardzo mocno wyposażone notebooki – potrafiły sobie radzić z przetwarzaniem dużych ilości danych. W wielu miejscach stały się realnymi stacjami roboczymi.

Skoro dostępne są coraz lepsze procesory, to deweloperzy tworzą coraz lepsze biblioteki mogące więcej, ale i wymagające więcej. Zatem znów trzeba zainwestować w mocniejszy sprzęt. A jeśli już „przesiadka” na nowy, to może większy ekran? A jak większy ekran, to może mocniejsza karta graficzna? Fakt, że dzięki temu możliwe stało się stworzenie bardzo dobrego środowiska pracy dla Data Scientistów, twórców robotów RPA (Robotic Process Automation) czy pracowników działów badawczo-rozwojowych (Research & Development).

Uwaga, jestem „makowy”

Od lat pracuję na MacoBooku. Na początku byłem sceptyczny, ale z czasem się przekonałem do niego. Albo to on mnie przekonał do siebie? Poręczny, podręczny, bezpieczny, wydajny. Wygodny do pracy, aby przeczytać dokumentację czy zrobić szybki kurs np. na Udemy.

Mówią, że nie można mieć wszystkiego naraz. Każdy z nas stara się dobrać sprzęt pod siebie, co wcale nie jest takie łatwe. A kiedy w końcu wybierzemy, to okazuje się, że coś jednak wcale aż tak bardzo nie było nam potrzebne. Albo… chwilę później pojawiło się coś szybszego, wydajniejszego. No cóż, świat się rozwija. Pojawiają się nowe rozwiązania, nowy sprzęt, warto więc czasami zmienić przyzwyczajenie. Bo może się okazać, że wtedy odkryjemy coś innego, może nawet lepszego.

Nieoczywiste alternatywy dla komputerów stacjonarnych

Mówią, że nie można mieć wszystkiego. Skoro kupiłeś komputer idealny (najczęściej stacjonarny) do przetwarzania danych, budowania modeli czy też stworzenia szybkiego opracowania Proof of Concept (PoC), to musisz z tym żyć. Ale może można inaczej, o ile tylko zmienimy przyzwyczajenia i nastawienie?

Jestem szefem Działu Innowacji w Deviniti. Mam duże doświadczenie programistyczne w projektach opartych na danych i szeroko rozumianej sztucznej inteligencji. Droga budowy środowiska, a bardziej – opisane we wstępie – problemy, które napotykałem zaczęły, od pewnego czasu, negatywnie wpływać na moją efektywność i komfort pracy.

Po dłuższych przemyśleniach i testach rozszerzyłem swoje stanowisko pracy o tablet. Po lekturze materiałów porównujących różne rozwiązania sprzętowe założyłem, że duet iPad Pro i MacBook Pro będzie dobrze współpracował.

Jednocześnie pojawiła się jednak wątpliwość czy kwartet: Data Science, Python, Machine Learning i iPad da radę? Wiedziałem, że dopóki nie sprawdzę na sobie, dopóty się nie dowiem. I zgodnie ze złotą zasadą innowatorów “no risk, no fun” zakupiłem iPad Pro 12.9’’ z 256 GB pamięci i procesorem Apple M wyposażonym w 8 rdzeni. No i rozpocząłem testy w boju.

Warto jednak zaznaczyć, że wg pięciu wyników w Geekbench 5, 12,9-calowy iPad Pro z procesorem M1 może pochwalić się średnimi wynikami dla jednego i wielu rdzeni wynoszącymi odpowiednio 1718 i 7284 punktów. M1 MacBook Air uzyskał porównywalne wyniki, odpowiednio 1701 i 7378 pkt. iPad Pro 4. generacji z chipsetem A12Z ma średnie wyniki wynoszące 1121 i 4656 pkt. Nowy tablet prześcignął także najwyższej klasy 16-calowego MacBooka Pro z Intel Core i9, który uzyskał średnie wyniki: 1091 i 6845 pkt.

Pierwsze koty za płoty, czyli iPad w codziennym użyciu

Zacząłem od sprawdzenia, jak pójdzie mi z kursami programistycznymi z uczenia maszynowego. Poszło dobrze. Prawie 13-calowy wyświetlacz daje komfort pracy. A możliwość wygodnej zmiany orientacji – z poziomej na pionową – oferuje lekkość większej książki. Mogę więc spokojnie zaszyć się w kącie i się uczyć. Albo pracować w pociągu (ten wątek będzie się tu pojawiał jeszcze wielokrotnie).

Czy to filmy, interaktywne prezentacje, przegląd kodu źródłowego, w przypadku iPada Pro nie ma żadnego problemu zarówno pod względem płynności, jak i czytelności (zwłaszcza kodu). W niczym nie ustępuje on notebookowi. To prawdziwy komputer!

Czas zacząć poważną pracę na iPad Pro

Ale co z tworzeniem kodu? Po pierwsze wiedząc, że iPad ma zamieniać się w “przenośne” środowisko programistyczne, zakupiłem dodatkowo klawiaturę iPad Magic z gładzikiem (touchpad). Montaż takiej klawiatury jest banalny, po prostu duży magnes i klik, zamontowane. No i to, co dzieje się później – nagle z tabletu mamy lekkiego i wydajnego ultrabooka. Nawet z moimi dość znacznych rozmiarów palcami nie miałem żadnych problemów podczas pierwszego kontaktu z klawiaturą. Pisanie tekstów, e-maili czy kodu odbywa się sprawnie. Naprawdę klawiatura jest magiczna. A gładzik Multi-Touch, to… trudno przekazać mi tu odczucia z jakości pracy. Ci, którzy znają gładzik z MacBooka, wiedzą o czym piszę, pozostali muszą spróbować, aby się dowiedzieć, dlaczego są tacy, którzy uważają, że żadna mysz nie zastąpi gładzika.

Zarówno przekątna ekranu, jak i rewelacyjna klawiatura iPad Magic powodują, że nie ma żadnych problemów podczas pracy z kodem. Kodowanie jak na stacji roboczej. Nasze stanowisko pracy mieści się zarówno na stoliku w pociągu (ostrzegałem), jak i na kolanach, udach, w pozycji siedzącej i półleżącej. No i najważniejsze, nie mamy problemu z dmuchającym gorącym powietrzem w tych nietypowych pozycjach pracy. Klawiatura iPad Magic rządzi, a wyświetlacz Liquid Retina XDR daje wysoki komfort pracy!

iPad w świecie sztucznej inteligencji

W podróż, do pracy, gdziekolwiek…

Pakujemy iPada z klawiaturą do plecaka lub torby i możemy jechać nawet w długą podróż służbową. Czy Dart, czy Pendolino, to teraz stolik lub kolana nam niestraszne. Przepraszam za to lokowanie pociągów, ale dużo czasu spędzam w podróży, nawet w czasach pracy zdalnej. Tak mam, że czasami znacznie łatwiej mi przegadać temat „oko w oko”, niż „oko w monitor”. Możemy pracować, bez chwilowych braków prądu i bez gorących powiewów wentylacji laptopa. Dla mnie to ważne.

Sprawdzam więc, czy zainstalowany edytor i interpreter Pythona pozwalające na pracę offline dają radę. Na rynku liderów jest dwóch – Pyto oraz Pythonista. W ramach testów zainstalowałem oba narzędzia. Trzeba powiedzieć, że w bardzo krótkich testach reprezentują podobny poziom. Na pokładzie to jest to, czego potrzebuję w podróży.

Jak już wspominałem, iPad z klawiaturą nie ustępuje komfortem programowania w porównaniu ze zwykłym laptopem. Jedyne wyzwanie, przed którym stanąłem, to przyzwyczajenie się do nowej klawiatury, ale ten problem występuje przy każdym zakupie nowego sprzętu. Nowy z reguły oznacza inny niż poprzedni. Połowę przykładów do książki (jestem na końcówce procesu wydawniczego) poświęconej obszarowi Artificial Intelligence (sckit-learn, Pandas, NumPy itp.) w e-commerce powstało w Pyto właśnie na tablecie.

Po trzecie Python, kamery i sztuczna inteligencja

iPad ma jeszcze jedną zaletę w stosunku do laptopa, tj. ma dwie kamery i można bez problemu zabrać go w plener. Tam natomiast można fotografować, filmować otoczenie, przedmioty. A to ma znaczenie, gdy tworzymy rozwiązania, gdzie dokładne rozpoznawanie przedmiotu jest istotne.

Przykładowo może to być klasyfikacja ziół i krzewów w lesie, bo może właśnie taki projekt realizujesz. Również i w tym zadaniu możemy skorzystać z Pyto i iPad Pro. Jak już wspominałem, na pokładzie mamy bibliotekę OpenCV. Zatem obsługa kamer i przetwarzanie obrazu dzięki niej jest proste.

Komfort tworzenia kodu dzięki klawiaturze i gładzikowi jest bardzo wysoki, podobnie wydajność i mobilność. To na co można ponarzekać?  No można. Ale ja już nie widzę powodów.

Testy wydajności różnych platform obliczeniowych

Jednak co z wydajnością uruchomionych kodów? Zrobiłem krótki test, przy czym od razu zwracam uwagę, że będzie on pokazywał nam czas wykonywania skryptu tylko na pewnej grupie algorytmów.

Przygotowałem zadanie dotyczące analizy skupień, czyli dzielenie obiektów na grupy o podobnych właściwościach. Skorzystałem z gotowego kodu udostępnianego przez autorów biblioteki (do uruchomienia na dowolnym interpretatorze Pythona). Poza tym do kodu dodałem pomiar czasu wykonywania obliczeń oraz zwiększyłem wolumetrie próbek. Domyślnie generowane jest 10 000 losowych elementów z trzech klas. Zwiększyłem tę ilość do 200 000 losowych elementów. Algorytm na wyjściu szacuje, ile odnalazł jednorodnych klas i odpowiednio je grupuje.

Stworzony kod uruchomiono na czterech różnych środowiskach, tj. Google Colab (standardowy serwer), Google Colab (z GPU, czyli obliczenia wykonywane na procesorze graficznym), MacBook Pro (ośmiordzeniowy Intel Core i9, RAM 32 GB) oraz iPad Pro (proces Apple M1).

Zakładałem, że laptop wygra ten prosty, chociaż obciążający test. Jak jednak widać w tabeli iPad Pro „dał radę”, mocno wyprzedając konkurencję. Można powiedzieć, że bez problemu można “puszczać” na tablecie obliczenia na ogromnych zestawach danych. Wynik testu bardzo mnie zaskoczył, bo jednak spodziewałem się innego zwycięzcy.

Środowisko uruchomieniowe Czas wykonania skryptu [ms]
Google Colab 15 168.496
Google Colab (z GPU) 3 461.245
MacBook Pro (Intel Core i9, 32 GB) 2 785.712
iPad Pro (Apple M1) 1 310.078

Moim zdaniem… warto

W moim przypadku stworzenie zestawu iPad Pro i MacBook Pro było strzałem w dziesiątkę. Fakt, kiedyś iPad zawsze był blisko, jednak najczęściej pełnił rolę rozrywkową oraz był centrum sterowania domem (patrz appki do poszczególnych urządzeń domowych). Jednak iPad Pro i magiczna klawiatura spowodowały, że z sukcesem – w moim przypadku – tablet przejął kilka bardzo ważnych zadań zawodowych.

Jadąc pociągiem, sięgam wyłącznie po tablet i bez problemu programuję, modeluję i przetwarzam dane. Większość biznesowych telekonferencji realizuję na tablecie, bo łatwiej mi w razie problemu przejść do innego pokoju. O Udemy’ach, bootcampach, ebookach, o różnych materiałach wideo nie wspominam, bo nie wyobrażam sobie czytania, oglądania i przyswajania wiedzy na laptopie. Uważam, że ta inwestycja się opłacała.

iPad Pro to nie jest inny komputer, to – moim zdaniem – komputer nowej generacji. Podczas rozmowy z młodszymi ode mnie pracownikami usłyszałem kiedyś, że „te wersje iPada Pro mają sens, bo to nie są po prostu większe smartfony, lecz wyraźna konkurencja dla laptopów”. I coś w tym jest.

Sebastian Kondracki, Deviniti

Tagi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.