Leszek Bukowski 🧠💻🏛️👾 Profile picture
Natural Language Processing/Machine Learning | Doctor of Philosophy | Father | You name it

Jan 31, 2023, 31 tweets

Chciałem dziś kontynuować refleksje związane z "Chip War", ale chwila oddechu 😛 Dziś 🧵 o SZTUCZNEJ INTELIGENCJI! A dokładnie w jaki sposób uczy się sieć neuronowa? Długa 🧵!

1/ Zgodnie z koncepcją "singularity" inteligencja maszyny miałaby być lepsza od ludzkiej w każdej dziedzinie. Nie wiem, czy tak będzie i szczerze mówiąc, nie przepadam za tą koncepcją, ale na pewno istnieją obszary, w których już obecnie maszyny są lepsze od nas.

2/ Wszyscy np. traktujemy już jako oczywistość, że komputer posortuje 10K liczb od najmniejszej do największej o wiele sprawniej niż człowiek. 100 lat temu to wcale nie było takie oczywiste.

3/ Dziś modele AI wykonują zadania, które nie są tak deterministyczne, jak sortowanie i robią to często lepiej niż my. Są zapewne lepszymi kierowcami, lepiej potrafią analizować zdjęcia, a nawet sprawniej przewidują skręt łańcuchów białkowych alphafold.ebi.ac.uk

4/ Ostatnio model AI opracował nowy sposób mnożenia macierzy deepmind.com/blog/discoveri… (jest to jedna z elementarnych operacji we współczesnych sieciach neuronowych typu Transformer). Sieci już same ulepszają siebie.

5/ Nvidia wykorzystuje uczenie ze wzmocnieniem do projektowania swoich układów scalonych:
developer.nvidia.com/blog/designing…

6/ Sieci Neuronowe (SN) uczą się inaczej niż ludzie. Niektórzy uważają, że to problem, chociażby Yann LeCun, jeden z ojców założycieli dziedziny, którą dziś określamy jako uczenie głębokie. Z drugiej strony, bardzo możliwe, że ludzka inteligencja jest tylko jedną z możliwych.

7/ W każdym razie współczesne systemy AI mają inną inteligencję niż ludzka. Objaśnienie procesu uczenia się SN, wcale nie jest prostym zadaniem. To jest też ćwiczenie dla mnie.

8/ Zadajmy sobie następujące pytanie: w jaki sposób zdobywałabym/zdobywałbym nowe umiejętności, jeżeli uczyłabym/uczyłbym się tak, jak uczą się SN? Mam nadzieję, że taki eksperyment myślowy ułatwi zrozumienie ogólnego schematu, jakiemu podlega trening SN. Trenowanie sieci, to...

9/ ważna umiejętność osób zajmujących się dziś uczeniem maszynowym. Nasz eksperyment myślowy przeprowadzimy na pewnym dość konkretnym przykładzie. Jak zapewne większość z Was wie, dziś meble (najczęściej) są sprzedawane w częściach i musimy je poskładać sami. Załóżmy, że...

10/ zamówiliśmy krzesło. Jako ludzie: odbieramy karton, otwieramy paczkę, otwieramy instrukcję i krok po kroku, z większymi lub mniejszymi sukcesami, składamy krzesło. A teraz gimnastyka umysłowa: gdybyśmy uczyli się jak SN, to wszystko musiałoby wyglądać trochę inaczej.

11/ Otrzymalibyśmy paczkę z częściami krzesła, czarny kufer, do którego nie mamy klucza i nie możemy zobaczyć, co jest w środku oraz dziwne słuchawki, które możemy kablem podłączyć do tego czarnego kufra. Nie dostalibyśmy absolutnie, żadnej instrukcji!

12/ Jeszcze jedno, zakładamy, że nigdy wcześniej nie wiedzieliśmy krzesła. Mamy 0 o wiedzy krzesłach. W tajemnicy powiem wam, że w tej czarnej skrzyni znajduje się idealne krzesło — ale wy wewnątrz tego eksperymentu myślowego o tym nie wiecie!

13/ Proces nauki przebiegałby tak: części krzesła składacie w przypadkowy sposób. W tym czasie specjalny moduł czarnej skrzyni skanuje waszą pracę i mierzy jak daleko poskładane przez was elementy, znajdują się od swoich miejsc w idealnym krześle... (moje notatki 😛)

14/ W czasie waszej pracy skrzynia, na podstawie pomiarów waszych błędów, wysyła sygnały przez specjalne słuchawki do waszego 🧠. W wyniku działania tych sygnałów wasze zwoje mózgowe zmieniają się w taki sposób, że coraz mniejsze błędy popełniacie, względem idealnego krzesła.

15/ Po pierwszym złożeniu krzesła, otrzymujecie jakiegoś potworka, ale rozbieracie wszystko w drobny mak i zaczynacie proces składania od nowa. Cały czas skrzynia mierzy wasze błędy i koryguje wam zwoje mózgowe, abyście popełniali coraz mniejsze błędy.

16/ Proces powtarzacie kilka — kilkaset razy. W pewnym momencie zostajecie już na tyle skorygowani przez czarną skrzynię, że krzesła, które budujecie, przestają być potworkami i stają się podobne do krzeseł! Nauczyliście się czegoś nowego sposobem SN.

17/ W rzeczywistości to sprawdzanie waszego błędu nazywamy "funkcją straty" (ang. loss function), proces modyfikowania zwojów, mózgowych, nazywamy "propagacją wsteczną" (ang. backpropagation). Zawartość czarnego kufra to funkcja celu (ang. objective function)

18/ Czyli SN uczy się (czasami używamy terminu "trenuje się") w przebiegach, które nazywamy epokami (ang. epoch). Jedna epoka to przejście sieci przez cały zbiór danych treningowych. Współcześnie każda sieć neuronowa musi mieć określone takie 3 funkcje.

19/ Musi wiedzieć, czego ma się uczyć -> funkcja celu; musi umieć zmierzyć swój błąd względem celu -> funkcja straty i musi umieć rozpropagować swój błąd jako korektę połączeń pomiędzy neuronami -> propagacja wsteczna. Tak działa GPT-3, DALL-E itd.

20/ SN nie są standardowymi algorytmami! W klasycznym podejściu do programowania dajemy maszynie sekwencję instrukcji, które musi wykonać, aby rozwiązać pewien stawiany przed nią problem. W uczeniu maszynowym programujemy samą sieć, a ona następnie uczy się rozwiązania problemu.

21/ Maszyna sama się programuje w procesie uczenia. Dla ludzi, kod we wnętrzu SN rozwiązującej dany problem, jest całkowicie nieczytelny! W pewnym sensie SN przeszukuje przestrzeń możliwych rozwiązań algorytmicznych danego problemu w pogoni za najlepszym.
karpathy.medium.com/software-2-0-a…

22/ Przykładowo funkcją celu SN z rodziny GPT (ChatGPT to kolejna odsłona tych SN!) jest odgadywanie kolejnych słów w sekwencji. W czasie treningu GPT jest karmiona miliardami zdań pobranymi z Internetu. I jej zadanie polega na...
chat.openai.com/auth/login

23/ Odgadywaniu następnego słowa w zdaniu, na podstawie tych, które już przeczytała (jej funkcja celu). Wyobraźmy sobie, że cały Internet składa się tylko z jednego zdania "Ala ma kota". Możemy stworzyć słownik, w którym ponumerujemy wszystkie słowa z naszego mini-internetu:

24/ 1: Ala 2: ma 3: kota. Poniżej prosty schemat SN z warstwą wejściową po lewej stronie, jedną warstwą ukrytą i warstwą wyjściową po prawej stronie. Jeżeli SN już przeczytała dwa pierwsze słowa, to zapalają jej się odpowiednie neurony, czyli neuron 1 i neuron 2 na wejściu.

25/ Oczekujemy, że w warstwie wyjściowej zapali się neuron 3, który odpowiada słowu "kota". Tak jest na grafice. Jeżeli zapaliłby się inny neuron, to znaczy, że mamy błąd i SN powinna skorygować wagi na połączeniach pomiędzy neuronami, tak aby zapalił się nr 3.

26/ W rzeczywistości to wszystko jest dużo bardziej skomplikowane. Zdania nie są dzielone na słowa, tylko na "cząstki" (ang. tokens), które wcale nie muszą być słowami w rozumieniu ludzkim. Działa też mechanizm uwagi (ang. attention). itd. itd.

27/ GPT-3 posiada 175 miliardów połączeń pomiędzy neuronami, które w czasie treningu podlegają modyfikacji — dlatego często usłyszycie, że GPT-3 posiada 175 miliardów parametrów. Parametry to wasze zwoje mózgowe, które modyfikuje skrzynia w czasie treningu.

28/ Musicie zrozumieć, że to, co dzisiaj się dzieje wokół takich modeli jak ChatGPT, jest konsekwencją rozwoju tej dziedziny w przeciągu kilku ostatnich lat. Aby zrozumieć głębie tej przemiany, musicie być świadomi, że to nie są po prostu nowe algorytmy.

29/ To stanu, gdy maszyna sama pisze program, który wykonuje określone zadanie. To zmieni (i już zmienia od kilku lat), politykę oraz nasze codzienne funkcjonowanie. Buldożer jadący przez las naszych wyobrażeń o przyszłości. Nasza kultura i cywilizacją zostaną głęboko przeorane

30/ Nie wiem, jak zakończyć tę nitkę, więc po prostu na zakończenie pies w kroksach, BUM!:

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling