Menu
O mnie Kontakt

ZMASLO to kanał, który przyciąga uwagę osób zainteresowanych technologiami sztucznej inteligencji i uczenia maszynowego. W ostatnim filmie, ZMASLO pokazał, jak można uruchomić modele AI bezpośrednio na własnym komputerze, eliminując potrzebę korzystania z serwerów w chmurze. Widzowie dowiedzieli się, że nie muszą mieć najnowszego sprzętu, by eksperymentować z AI, co czyni technologię bardziej dostępną dla każdego. Nawet starsze karty graficzne mogą obsługiwać prostsze modele, co zwiększa wszechobecność technologii AI. ZMASLO zwrócił uwagę na to, że w ciągu ostatniego roku proces instalacji stał się znacznie prostszy, a wiele aplikacji można uruchomić poprzez jedynie kilkukrotne kliknięcie.

Toggle timeline summary

  • 00:00 Wprowadzenie do modelu AI działającego bezpośrednio na komputerze
  • 00:05 Model AI o funkcjonalności podobnej do czatu GPT bez potrzeby posiadania serwerów
  • 00:11 Obraz generowany bezpośrednio na komputerze użytkownika
  • 00:16 Dyskusja na temat modeli AI i sieci neuronowych działających na komputerach osobistych
  • 00:27 NVIDIA sponsoruje film, aby zaprezentować te możliwości
  • 00:40 Brak potrzeby posiadania sprzętu najwyższej klasy, aby zacząć eksperymenty z AI
  • 00:51 Znaczące postępy w narzędziach AI w ciągu ostatniego roku
  • 01:06 Łatwość instalacji bez potrzeby używania Pythona lub Gita
  • 01:27 Omówione narzędzia do generowania treści codziennie
  • 01:51 Porównanie między lokalnymi modelami AI a usługami online takimi jak GPT
  • 02:18 Lokalne wykonywanie omija ograniczenia związane z usługami chmurowymi
  • 02:44 Obawy o prywatność przy korzystaniu z usług opartych na chmurze
  • 03:18 Możliwości offline lokalnie działających narzędzi AI
  • 03:37 Dyskusja na temat wymagań sprzętowych do uruchomienia aplikacji AI
  • 04:10 Wydajność wpływana przez pamięć karty graficznej i jej możliwości
  • 05:26 Korzyści z rdzeni Tensor i API CUDA NAVIDII dla uczenia maszynowego
  • 05:55 Skupienie się na łatwych opcjach instalacji dla oprogramowania AI
  • 06:28 Wprowadzenie do generowania obrazów za pomocą Stable Diffusion
  • 07:18 Przydatne parametry do generowania treści wizualnych
  • 08:13 Wykorzystanie generowanych obrazów jako szkiców do dalszego rozwoju
  • 09:11 Badanie różnych modeli i ich możliwości w generowaniu treści
  • 11:19 Ograniczenia i wyzwania związane z różnymi ramami programowania
  • 12:00 Lokalne wersje chatbotów AI dostępne i ich funkcjonalności
  • 14:15 Ogłoszenie nowych funkcji programu AI w celu poprawy doświadczeń użytkowników
  • 15:39 Porównania prędkości generacji dla napisów stworzonych przez AI
  • 16:14 Wyzwania związane z uruchamianiem modeli AI i zależnościami sprzętowymi

Transcription

To jest model AI, który działa bezpośrednio na moim komputerze i karcie graficznej, a ma funkcjonalność podobną do czatu GPT i nie wymaga tutaj żadnych serwerów. Ten obrazek został również wygenerowany bezpośrednio na moim komputerze i karcie graficznej. I my dzisiaj zajmiemy się modelami AI czy modelami sieci neuronowych, które możemy odpalić bezpośrednio na swoim komputerze bez żadnych ograniczeń. I ten film zdecydowała zasponsorować się NVIDIA, żebym pokazał Wam, jak to wszystko działa i jak możecie to postawić na swoim kompie. Ale co fajne, żeby zacząć się tym bawić, wcale nie potrzebujecie jakiejś karty z kosmosu i kompa za dziesiątki tysięcy, bo to, co Wam pokażę, zadziała również na nieco starszych komputerach czy laptopach. A i nawet do tego, co pokażę Wam dzisiaj, nie musicie mieć karty NVIDI. Ja prawie rok temu nagrywałem, jak za pomocą właśnie AI czy sieci neuronowych można było generować obrazki. I powiem Wam, przez ten rok zmieniło się strasznie dużo i postawienie tego na swoim kompie jest nieporównywalnie prostsze. Nie musimy instalować Pythona, nie musimy instalować Gita, nie musimy ręcznie instalować zależności. Wiele z tych programów, które pokażę Wam dzisiaj, instaluje się bardzo łatwo, a niektóre wystarczy po prostu pobrać, dwa razy kliknąć egzeka i wszystko magicznie działa. Ale także, co może Was zaskoczyć, ja korzystam z niektórych tych narzędzi, które dzisiaj będę omawiał na co dzień do tworzenia filmów. Na przykład ostatnio w miniaturach generuję sobie tła za pomocą Stable Diffusion albo ten film, który oglądacie, ma napisy, które są właśnie wygenerowane bezpośrednio przez algorytm uczenia maszynowego. No dobra, ale ktoś z Was może zapytać, po co? Po co mam to odpalać u siebie lokalnie na kompie? Czy nie lepiej po prostu skorzystać z czatu GPT, DALI albo Adobe Firefly? I to jest bardzo dobre pytanie. Dobrym pomysłem jest właśnie zacząć od tego, skorzystać sobie z czatu GPT, skorzystać sobie z Copilota albo właśnie wygenerować sobie obrazki za pomocą Mid Journey. Tylko dość szybko okaże się, że niektóre z tych usług mają ograniczenia i żeby odblokować ich pełnię możliwości, no to musimy zapłacić. Te usługi mają pewne ograniczenia, których nie da się ominąć, bo albo nie będą nam chciały pomóc w konkretnych kwestiach albo odpowiedzieć na pewne pytania lub w przypadku generowaniu obrazków mogą nie chcieć wygenerować nam konkretnych scen czy przedmiotów. Jeżeli odpalamy coś takiego u siebie lokalnie, to wiele z tych ograniczeń jesteśmy w stanie po prostu ominąć i mieć dużo więcej możliwości. Drugą sprawą jest prywatność. Korzystając z usług w chmurze, czy nam się to podoba czy nie, zostawiamy tam po sobie jakiś ślad. Pewnie dla większości z was to nie jest problem, ale jeżeli na przykład konceptualizujecie sobie jakąś grafikę za pomocą Mid Journey czy dalej i niekoniecznie chcielibyście, żeby inne algorytmy się tym uczyły albo żeby gdzieś to wyciekło, to sensownie jest wygenerować sobie to bezpośrednio lokalnie u siebie na komputerze i pracować sobie nad takim konceptem czy grafiką dalej. No i trzecie, co wynika samo z siebie, to działa w pełni offline. Więc jeżeli na przykład często jeździcie w przysłowiowe bieszczady, gdzieś, gdzie nie ma na przykład internetu i chcielibyście zabrać czat GPT ze sobą, no to teraz możecie. No i zerknijmy jeszcze, jaki sprzęt będzie potrzebny, żeby w ogóle zacząć się tym bawić i na jakie parametry komputera zwrócić uwagę. Jest szansa, że jeżeli macie na przykład 5-letnią kartę graficzną czy laptopa, to będziecie prostsze modele w stanie uruchomić. Oczywiście im mocniejszy komputer, tym lepiej, bo będzie nam to działać sprawniej, ale żeby się zacząć tym bawić, wcale nie potrzebujecie jakiegoś superkomputera. W przypadku generowania za pomocą karty graficznej to sporą rolę będzie tutaj odgrywać pamięć Vira. W zależności od tego, ile pamięci mamy w naszej karcie graficznej, tym większe, w domyśle lepsze i bardziej precyzyjne modele możemy załadować. Ale oczywiście pamięć w karcie graficznej to nie wszystko, bo ważna jest też jej ogólna wydajność, a ponadto w najnowszych kartach graficznych możemy spotkać szereg akceleratorów, które przyśpieszają operacje związane z uczeniem maszynowym i każdy producent ma inny pomysł na to, jak rozwijać swoje GPU. NVIDIA ma rdzenie Tensor do akceleracji uczenia maszynowego i API CUDA. Intel z kolei ma rdzenie XMX oraz swoje API OpenVINO. AMD ma jeszcze inne rdzenie akcelerujące AI i API ROKM. Żeby bawić się AI, nie trzeba mieć koniecznie karty NVIDII, chociaż tutaj zaznaczę, że sporo osób, które machine learningiem się zajmuje, wybiera właśnie karty zielonych i też dzisiaj wyjaśnimy sobie, dlaczego tak się dzieje. Ogólnie Stable Diffusion czy modele językowe da się uruchomić na kartach takich jak Radeon czy Intel Arc, ale często działa to wolniej i żeby też wyciągnąć z nich pełnię potencjału, instalacja jest bardziej skomplikowana bądź wymaga Linuxa do działania. Więc jeżeli zaczynacie swoją przygodę z machine learningiem, to nie jest sytuacja idealna. Wystarczy wejść sobie na subreddit Machine Learning, żeby zobaczyć, że ludzie po prostu preferują CUDA niż ROKM, chociażby dlatego, że API CUDA jest już na rynku ponad 10 lat i łatwo można przenieść program z konsumenckiego GeForce'a na aplikację działającą w chmurze. Co prawda są próby ujednolicenia tego całego bałaganu. Microsoft niedawno zaproponował DirectML i tak bardzo upraszczając, jest to taki DirectX, ale dla machine learningu, chociaż póki co z tego, co ludzie piszą, działa to troszeczkę w kratkę i wymaga dopracowania. W tym filmie ja skupię się na rozwiązaniach, które przede wszystkim są łatwe w instalacji. Nie są one zawsze najlepiej zoptymalizowane, ale szybko można je postawić i zacząć się tym bawić. I taki właśnie jest zamysł tego filmu, żeby to było przede wszystkim łatwe dla was. Trzeba też pamiętać o tym, że to jest temat bardzo świeży i programiści cały czas uczą się, jak to optymalizować, więc jeżeli coś działa u was źle dzisiaj, może się okazać, że za miesiąc czy dwa będzie działać sporo lepiej. No to zacznijmy od czegoś, co łatwo będzie he-he zobrazować, czyli zajmijmy się Stable Diffusion i generowaniem obrazków właśnie. Jeśli ktoś z was nie wie, jak to działa, to po prostu wpisujemy po angielsku albo po polsku, co chcemy wygenerować i voilà, mamy nasz gotowy obrazek. Program, który najszybciej pozwoli nam się pobawić z takim generowaniem obrazków i który najłatwiej jest, moim zdaniem, zainstalować, to NMKD Stable Diffusion. Klikacie po prostu Download Now, następnie klikacie No, thanks, just take me to download. Wybieracie sobie wersję, która ma załączony model Stable Diffusion 1.5, pobieracie, rozpakowujecie, klikacie dwa razy na apkę Stable Diffusion GUI i gotowe. Możecie sobie wpisać teraz, co chcielibyście wygenerować, kliknąć Generate, poczekać kilka sekund na załadowanie modelu do pamięci karty, gotowe. Serio, prościej chyba na ten moment się nie da. Przy okazji tego programu to warto też pobawić się opcjami, na przykład ile chcemy obrazków generować za jednym razem, a jeżeli chcecie, żeby obrazki były w lepszej jakości, warto pobawić się suwakiem Generation Steps. Natomiast ja nie przesadzałbym tutaj, bo im więcej kroków, tym dłużej generuje się obrazek i powyżej 40 czy 50 w przypadku tego modelu to nie widać za bardzo różnicy. Mamy też seed, czyli ziarno. Jeżeli jakiś obrazek czy styl nam się bardzo spodoba i chcielibyście do niego coś dodać albo coś w nim nieco zmienić, no to można sobie ziarno ustawić na stałe i wtedy coś zedytować. Wiadomo, takie obrazki, które wypluwa nam z automatu Stable Diffusion, to nie jest coś niesamowitego. Też trzeba się troszeczkę nauczyć, jak opisywać dane obrazki, żeby wychodziły one takie, jak chcemy. Natomiast ja traktuję takie generowanie obrazków jako taką bazę, jako coś, co możemy sobie wygenerować, jako jakiś koncept, który siedzi nam w głowie i potem przenieść to na przykład do Photoshopa i próbować stworzyć coś podobnego albo pracować na tym, co zostało wygenerowane. Można to traktować jako taki szkic, a na przykład ja nie potrafię rysować, więc dla mnie to jest naprawdę super sprawa. Możemy też dodać inne modele niż Stable Diffusion do tego programu. Żeby dodać model do tego softu, trzeba wejść do folderu Models, a następnie Checkpoints i to jest miejsce, w którym umieszczamy modele. Jeśli tak jak ja pobraliście model w formacie Save Tensors, no to musimy w programie kliknąć ten oto klucz, wybrać opcję Convert Models, wybieramy interesujący nas plik modelu, klikamy Convert i powinien on zostać przerobiony i powinniśmy móc wybrać go w opcjach. Co jak co, ale za pomocą tego modelu DreamShaper można generować o wiele lepiej wyglądające arty, a jeżeli chcielibyście zobaczyć, co można wpisać w prompcie, to są strony, na których ludzie wrzucają grafiki wygenerowane przez AI i także to, co wpisali bezpośrednio w prompcie. Jeżeli chodzi o prędkość generowania obrazków w tym programie, to zobaczymy, że nawet 2060 Super generuje je w rozsądnym czasie. Gorzej zaczyna się od pułapu GTX-a 1660, bo trzeba już na obrazek poczekać 23 sekundy. Znacznie gorzej wypada to w przypadku kart korzystających z DirectML. No i tutaj propozycje AMD i Intela nie wypadają szczególnie dobrze. Zauważyłem też, że DirectML wciąga nieco więcej pamięci i ta 8-gigabajtowa karta była na limicie, stąd pewnie aż tak słaby wynik tego RX-a 6600. Bardziej skomplikowanym programem w instalacji, ale także takim, który daje nam dużo więcej możliwości, jest tak zwany Automatic Stable Diffusion. Żeby ręcznie nie bawić się z Pythonem i Gitem, można skorzystać z programu Stability Matrix, który jest takim programem, hubem, który pozwala nam w prosty sposób zarządzać zarówno modelami, łatwo pobierać je z internetu czy zmieniać frontendy. Instalacja jest gigaprosta, bo sprowadza się po prostu do kliknięcia, który soft chcemy zainstalować i poczekanie, aż wszystko się pobierze w tle. Potem klikamy sobie Launch. No i to jest praktycznie ten interfejs, który ja pokazywałem wam rok temu, ale znacząco bardziej rozrósł się, jeżeli chodzi o możliwości i ma więcej też opcji niż ten program, który pokazywałem wam przed momentem i przyjmuje wiele formatów modeli. Do tego możemy w nim łatwo instalować pluginy. Taki, który ja bym wam polecił, jeżeli macie kartę NVIDII z rodziny RTX, jest TensorRT. On znacząco pozwoli nam przyspieszyć generowanie obrazków, więc zdecydowanie opłaca się go zainstalować. Co prawda sama instalacja jest dość skomplikowana i tutaj akurat zostawię wam link w opisie do dokumentacji, jak możecie to zrobić u siebie, natomiast wydajność wzrasta o dwa razy. Stability Matrix działa z CUDA i nie byłem w stanie uruchomić DirectML, po prostu program się crashował, a ROG M wspierane jest tylko i wyłącznie pod Linuxem. Crash następował też w przypadku załadowania modelu na GTXie 1660 Super, który ma po prostu za mało pamięci. A i tak prawdę mówiąc, to 8 giga w takim 1660 Super było bardzo, bardzo na styk i znacząco spowolniało osiągi tej karty. I nie byłem też w stanie na niej uruchomić TensorRT. Podobnie zresztą wygląda sytuacja, gdy chcemy generować obrazek 1024x1024 piksele. A co, jeżeli ktoś z was chciałby mieć własny czacz GPT czy takiego copilota? No tutaj też jest kilka programów do wyboru. Natomiast ja od siebie poleciłbym program, który nazywa się Cobolt CPP. Głównie dlatego, że po prostu wystarczy go pobrać z GitHuba i nie trzeba nic ekstra instalować. Po pobraniu i uruchomieniu programu pokazuje nam się takie okienko. I co powinno nas interesować w tym przypadku, to wybranie modelu. No właśnie, bo tutaj podobnie jak w generowaniu obrazków, mamy wręcz setki czy tysiące modeli, z których możemy skorzystać. Jedne będą zachowywały się bardziej jak czat GPT, inne będą się bardziej specjalizować w finansach, a inne były trenowane na powieściach fantasy i możemy z nimi grać w generowanego na bieżąco RPGa albo generować szczegółowe opisy postaci. A jeszcze inne mają zdjęty kaganiec i ochoczo wygenerują nam nawet klusze do Windowsa XP. Po wybraniu modelu i kliknięciu Launch odpali nam się okno przeglądarki i u góry możemy wybrać sobie czat, żeby model zachowywał się podobnie do copilota czy czatu GPT. Niektóre z modeli będą nam odpowiadać po angielsku, a inne odpowiedzą do nas po polsku bez problemu. Na ten moment te modele, które możemy uruchomić u siebie lokalnie, oczywiście będą mniej zaawansowane niż czat GPT, bo tamten model wymaga nieporównywalnie więcej mocy obliczeniowej. Natomiast uważam, że jako takie podstawowe narzędzie może się naprawdę sprawdzić. Wyniki, które zobaczycie zaraz na wykresie, symbolizują, ile tokenów na sekundę dana karta graficzna jest w stanie generować. 5-gigabajtowy model zmieścił się w każdej karcie, ale nawet RTX 2060 Super jest w stanie objechać takiego RX-a 7700 XT, a stawkę zamyka nam tutaj karta Intela. Co prawda istnieje fork kobolda, który umożliwia nam odpalenie ROG M pod Windowsem. No i faktycznie udało mi się to odpalić na Radonie 7700, który faktycznie wystrzelił w górę, chociaż i tak nie był w stanie przebić wydajnością RTX-a 4070. Za to na RX-ie 6600 po prostu się ta aplikacja crashowała i nie byliśmy w stanie skorzystać z dodatkowej akceleracji. A skoro jesteśmy przy modelach językowych, warto też powiedzieć o zapowiedzianym niedawno Chat With RTX. To ma być program, który będzie też częściowo emulował to, jak działa chat GPT, ale co fajne, możemy tam wrzucić swoje notatki czy dokumenty i zapytać go o jakieś szczegóły i on powinien sobie z tym bez problemu poradzić. Na ten moment, gdy ja nagrywam, nie jest to jeszcze dostępne, ale wrzucę wam link do opisu. Na początku tego filmu mówiłem także, że do tego filmu zostały napisy wygenerowane również przez algorytm AI. I to jest prawda, mamy taki fajny program, który nazywa się Whisper i on jest za to odpowiedzialny, ale możemy też zainstalować sobie coś, co nazywa się Whisper GUI i mamy ładny graficzny interfejs. Programik jest bardzo prosty i waży około 2 GB. Możemy go pobrać za darmo z internetu. W pierwszej kolejności wybieramy film, do którego chcemy wygenerować napisy. Teraz trzeba wybrać model, bo domyślny obsługuje jedynie język angielski. Ja polecam Medium, jeżeli macie 8 GB VRAMu w karcie graficznej. Wybieramy język oryginału albo możemy pozwolić, żeby wykrył go automat, jeżeli nie wiemy, jaki to język. Odznaczamy tłumaczenie automatyczne na angielski i wybieramy format do zapisania napisów. VTT to taki, który automatycznie przyjmuje YouTube. Po kliknięciu Generuj za pierwszym razem zostanie pobrany model z internetu i rozpocznie się generowanie napisów. Generowanie napisów na RTX-ie 4070 do mojego filmu, który ma 14 minut, zajmuje okolice 5 minut. Więc jest to nieporównywalnie szybciej, niż ja miałbym to robić ręcznie, bo pewnie zajęłoby mi to z godzinę albo i lepiej. Na minus akurat tego programu i tego GUI jest to, że nie mamy żadnego paska podstępu, dlatego przykładowo ja na swoim komputerze wolę generować napisy bezpośrednio w terminalu. Jeżeli chodzi o czas generowania takich napisów do mojego filmu, który trwa około 15 minut, to zobaczycie na wykresie, że właściwie każdy z GeForce'ów, który tutaj testowałem, radzi sobie spoko. Akurat to GUI, które ja bym wam pokazywałem, wymaga karty NVIDIA do działania i nie da się go na ten moment odpalić na innych kartach. Więc ta technologia jest naprawdę niesamowita. Rozwija się w mega szybkim tempie i cieszę się, że mam okazję poeksperymentować z tymi technologiami, ale także wdrożyć je do czegoś, co robię faktycznie na co dzień, bo po prostu ułatwia mi to życie. Cieszy mnie także, że w wielu przypadkach instalacja tych programów zostaje znacznie uproszczona, bo ja zdaję sobie sprawę z tego, że nie każdy jest programistą, nie każdy ogarnia Gita, nie każdy ogarnia Pythona, żeby robić to we własnym zakresie, więc takie instalatory to naprawdę jest fantastyczna rzecz. Mnie osobiście bardzo boli to, że nie ma prostego, łatwego sposobu, żeby pokazać jakieś benchmarki z tego, jak to działa, bo jak mówiłem, każdy z producentów ma na ten moment swoje API i czasami wyciągnięcie maksimum wydajności z karty graficznej wcale nie jest takie łatwe, ale na pewno jest sporo trudniejsze, gdybyście tak jak ja chcieli to testować i po prostu przerzucić jedną kartę zamiast drugiej, no to nie wystarczy tylko przeinstalować sterowników, ale także musimy wyrzucić wszystkie zależności Pythonowe, pobrać inne i na ten moment jest to jeszcze dość skomplikowane, ale wierzę, że im dalej w las, tym będzie tylko i wyłącznie prościej i będzie jeszcze łatwiej się tym pobawić i za to trzymam kciuki. A być może ktoś z Was wykorzystuje w jakiś ciekawy sposób jakieś sieci neuronowe zainstalowane u siebie lokalnie, a może macie jeszcze jakieś inne, które dobrze by było, żebym sprawdził. Komentarze są Wasze i do zobaczenia w kolejnych materiałach. Na razie. Bajos!