ChatGPT

ChatGPT od kuchni. Zaglądamy za kulisy uczenia maszynowego

21 minut czytania
Komentarze

Czy ChatGPT to szczyt obecnych możliwości AI? Dr Jan Kwapisz wyjaśnia, czym jest rodzina modeli GPT, machine learning i deep learning, a także analizuje, czy mając już tyle danych, zaawansowanej architektury i mocy obliczeniowej, możemy oczekiwać kolejnych przełomów w AI.

Rok 2022 był rokiem, kiedy przeciętny użytkownik internetu po raz pierwszy na tak dużą skalę, mógł świadomie poznać najnowsze osiągnięcia w dziedzinie sztucznej inteligencji. Wielu z nas miało okazję “pobawić się”  modelami, takimi jak Dalle-2, Midjourney czy stable diffusion, tworzącymi realistyczne zdjęcia lub grafiki na podstawie opisu – i robili to nie tylko ludzie „z branży”, ale także i przeciętny Kowalski. Jednak największą sensacją stał się model ChatGPT zbierając w 5 dni ponad milion użytkowników. A tych po debiucie modelu GPT-4 będzie jedynie przybywać.

ChatGPT, właściwie będący nakładką na rozwijane od 2018 roku rozwiązanie OpenAI, to model, który po wpisaniu mu zapytania, będzie kontynuował tekst lub udzieli nam odpowiedzi utrzymanej w odpowiedniej konwencji. Przykładowo, można mu polecić: “Napisz opowiadanie na 200 słów w języku polskim o Władysławie Jagielle o tym, gdy był na łowach” i 5 minut później praca domowa gotowa. Uff, można wrócić do grania w Minecrafta! Sami, w Dijkstra Enterprise używaliśmy go do stworzenia naszej platformy, co dzięki podpowiedziom ChatGPT, zajęło nam znacznie mniej czasu.

fot. Depositphotos/rokas91

ChatGPT pobudził powszechny apetyt, na to, co jeszcze będzie możliwe dzięki sztucznej inteligencji. Wiele osób wyraziło przekonanie, że AI spowoduje, że ich praca zostanie zastąpiona przez ChatGPT lub podobne modele1. Jeden inżynier nawet stwierdził, że modele GPT są samoświadome, co kosztowało go utratę pracy.

A co jednak jeśli nic więcej w tej dziedzinie nie osiągniemy i ChatGPT to ostatnie słowo sztucznej inteligencji? W poniższym artykule przedstawię, co przez to rozumiem. 

Czym jest sztuczna inteligencja, a właściwie uczenie maszynowe?

Przepis kuchenny

Wyobraźmy sobie, że ktoś nam daje zadanie: napisz przepis na ratatouille. Po sprawdzeniu w internecie doszlibyśmy do wniosku, że zaczynałby się on mniej więcej tak:

  1. Kup 1 cukinię, 1 bakłażana, 2 pomidory, 1 paprykę oraz 1 cebulę.
  2. Bakłażana (ze skórką) pokrój w 2 cm kostkę …
  3. Itd.

Teraz trochę inne zadanie: poukładaj kubki ze względu na ich wielkość2. Mogłoby się to odbyć w następujący sposób:

  1. Ponumeruj kubki.
  2. Weź pierwszy kubek i porównaj z każdym kubkiem. Ustaw go przed wszystkimi od których jest większy i za wszystkimi od których jest mniejszy. Weź drugi kubek i porównaj go z kubkiem pierwszym. Jeśli jest mniejszy to ustaw go przed kubkiem pierwszym, jeśli jest większy to ustaw go za kubkiem.
  3. Weź trzeci i porównaj z pierwszym i drugim.
  4. I tak aż do zużycia wszystkich kubków.

Powyższe przykłady to tak zwane algorytmy. Ten drugi w świecie komputerowym nazywa się sortowaniem przez wstawianie. Algorytm to pewien ciąg instrukcji “oczywistych”, które zebrane razem i ewentualnie powtórzone tak wiele razy jak to konieczne (“dla wszystkich kubków”) wykonują dane zadanie. Algorytmy mają dwie bardzo użyteczne własności:

  1. Zawsze działają i zawsze dadzą ten sam wynik (o ile jest to matematycznie udowodnione).
  2. Łatwo można je wprowadzić do komputera, tak, aby je wykonywał.

Algorytm krzesła

To teraz inne zadanie. Spróbujmy napisać algorytm rozróżniający koty od psów. Nie jest już to takie proste. Jeśli ma cztery łapy, to? Jeśli ma wąsy? Łatwo nie jest, chociaż każde dziecko umie odróżnić psa od kota. Albo rozróżnienie krzesła od stołu. To też równie trudne z perspektywy pisania algorytmu, choć w praktyce wydaje się banalne. Jest tak dlatego, że de facto krzesło jest zdefiniowane poprzez kolektywne występowanie swoich wielu cech równocześnie3.

Tu właśnie wkracza uczenie maszynowe. Uczenie maszynowe to poddziedzina sztucznej inteligencji (AI), w której na podstawie danych uczymy program jak odróżnić krzesło od stołu poprzez sprowadzenie problemu do znalezienia wzorca w danych. Innymi słowy, zamiast próbując tworzyć algorytm odróżnienia krzesła od stołu, możemy “pokazać” komputerowi wystarczająco wiele zdjęć krzeseł z podpisem “krzesło” i zdjęć stołów z podpisem “stół”.

Hakowanie smartfona stołem

Aby nauczyć program odróżniania krzeseł od stołów, tworzymy serię operacji matematycznych (takich jak mnożenie macierzy czy liczenie logarytmów), która sprowadza zdjęcie stołu lub krzesła4 do pewnej liczby między zero a jeden. Tą liczbę interpretujemy jako prawdopodobieństwo bycia krzesłem. Wynik jeden oznacza, że to na pewno krzesło, zaś zero to na pewno stół. Zatem, jeśli to prawdopodobieństwo jest wyższe niż 0.5 to klasyfikujemy to coś jako krzesło. 

Na początku nasz algorytm będzie wyrzucał liczby kompletnie przypadkowe. Aby wyniki były sensowne, po każdym “obejrzeniu” wszystkich danych zmieniamy trochę operacje matematyczne tak, aby program się mniej mylił. Tę operację nazywamy uczeniem i przeprowadzamy ją tak długo, aż będziemy zadowoleni z rezultatu. Samo uczenie (zmienianie operacji matematycznych) można już łatwo zalgorytmizować, a więc nauczyć maszynę (komputer) i stąd nazwa uczenie maszynowe.

Następnie nauczony algorytm możemy “wypuścić w świat” i zobaczyć jak poradzi sobie z danymi, których nigdy nie widział. Celem uczenia maszynowego jest właśnie analiza nowych danych na podstawie tych, które już widział.

Ta metoda nazywa się uczeniem nadzorowanym, ponieważ każemy systemowi przyznawać etykiety (podpisy), a więc nadzorujemy to czego ma się nauczyć.

Przykładowo w tłumaczeniu maszynowym naszą daną mogłaby być para zdań: po polsku Janek je jabłko, po angielsku John is eating an apple. Jeśli chcielibyśmy nauczyć nasz algorytm tłumaczenia z polskiego na angielski to naszą etykietą, której algorytm miałby się nauczyć byłoby John is eating an apple, kiedy wprowadzone zostałoby: Janek je jabłko. W praktyce tłumaczenia maszynowego algorytm tworzy wszystkie możliwe kombinacje angielskich zdań, w tym takie jak John John cow lub to be or not to be, następnie liczy prawdopodobieństwo wystąpienia każdego z nich i wybiera najbardziej prawdopodobne. Dobrze wytrenowany algorytm powinien poprawnie przetłumaczyć to zdanie jako John is eating an apple lub John eats an apple5.

Co napędza uczenie maszynowe?

Aby takie operacje trenowania algorytmów były możliwe, potrzebne są trzy rzeczy.

Dużo danych i ich etykietowanie

Choćby dla działania relatywnie prostego algorytmu rozróżniania krzesła od stołu ze skutecznością w 95% przypadków potrzebne są tysiące danych z podpisami krzeseł i stołów. Oczywiście dzisiaj można mieć takie dane w parę sekund, ściągając je z Google’a przy użyciu zasugerowanego przez ChatGPT i widocznego poniżej  kodu w Pythonie (jeden z najpopularniejszych języków programowania). Kod ten powinien ściągąć zdjęcia krzeseł z internetu, a następnie oznaczyć je jako krzesła. Ale jest z tym pewien problem, o czym za chwilę.

from google_images_download import google_images_download

response = google_images_download.googleimagesdownload()

search_queries = ['chair']
num_images = 100
image_directory = 'chairs'

arguments = {
  'keywords': 'chair',
  'limit': num_images,
  'print_urls': False,
  'output_directory': image_directory,
  'format': 'jpg',
  'chromedriver': './chromedriver.exe',
}

response.download(arguments)

import os

for i, file_name in enumerate(os.listdir(image_directory)):
  os.rename(
    os.path.join(image_directory, file_name),
    os.path.join(image_directory, f'chair_{i}.jpg')
  )

Powyższy kod nie działa z uwagi na zmiany w przeglądarce Google w 2021 roku. To w ciekawy sposób ilustruje ograniczenia tego modelu związane z okresem krańcowym. Podajemy więc alternatywę, która powinna normalnie działać. Aby to odpalić, należy otworzyć jupyter notebook i wpisać poniższy kod.

!pip install bing-image-downloader (to jest tylko instalacja)
from bing_image_downloader import downloader
downloader.download("chair", limit=100,  output_dir='dataset',
adult_filter_off=True, force_replace=False, timeout=60)

Dzięki rozwojowi internetu, a w szczególności mediów społecznościowych, danych jest naprawdę dużo. Jeśli kiedyś zastanawiało Was, po co wypełnialiście captchę “Nie jestem robotem”, to już pewnie domyślacie się o co chodziło. Musieliście zaznaczać po trzy hydranty na obrazkach, aby trenować algorytmy uczenia maszynowego. Nie chodziło tylko o sprawdzenie, czy jesteście ludźmi.

W 2021 roku każdy z nas produkował około pół gigabajta danych dziennie. Jeśli zastanawiacie się jak to możliwe, to pomyślcie o wszystkich youtuberach czy tiktokerach i liczbie filmików, które wstawiają do internetu.

Można powiedzieć, że jeśli chodzi o ilość dostępnych danych, to jako ludzie osiągnęliśmy już pewną doskonałość.

Architektura (model)

Algorytmy uczenia maszynowego potrzebują serii operacji matematycznych (modelu), który pozwoli nam połączyć dane z etykietą. Musimy ten model tak zaprojektować, żeby w efektywny sposób łączył dane z etykietami. Jednym z najczęściej używanych typów takich modeli są sieci neuronowe, które są stosowane chociażby przy pracy z danymi obrazkowymi lub tekstowymi. Polegają one na łączeniu bardzo wielu bardzo prostych operacji matematycznych, takich jak mnożenie lub dodawanie (zwanych neuronami) w bardzo skomplikowane ciągi i sieci takich operacji. Stąd właśnie nazwa: sieci neuronowe. Okazuje się, że takie podejście jest bardzo wydajne i dobrze dostosowane do danych obrazkowych lub tekstowych.

Specjalnym typem sieci neuronowej jest tak zwany transformer, którego używa ChatGPT. Pozwala ona na zapamiętanie poprzednich informacji (danych) w efektywny sposób i użycie ich w odpowiednim kontekście przy tworzeniu i/lub przewidywaniu nowych rzeczy. Jest to obecnie najpopularniejsza architektura w pracy z danymi tekstowymi i de facto umożliwiła ona powstanie modeli typu GPT-3 oraz jego dalszą ewolucję w GPT-4.

chatgpt

Moc obliczeniowa i optymalizacja kodu

Wszyscy wiemy, ile ładuje się film na Netflixie w 4K albo ile potrafi zająć przesłanie 20 zdjęć w najwyższej rozdzielczości. Sieć neuronowa musi każdy obrazek “obejrzeć” miliony, a często miliardy razy. W tym celu musimy mieć odpowiednią moc obliczeniową. Powstałe do przetwarzania grafiki karty graficzne są świetne do wykonywania takich właśnie operacji, będących kluczem przy trenowaniu sieci neuronowej. Przykładowo, obecnie najmocniejsza karta graficzna Nvidii A100, jest około 20 razy szybsza od AMD Threadripper 5995WX, skracając czas treningu z pół roku do 9 dni. Urządzenia tego typu kosztują dziesiątki, a w niektórych przypadkach setki tysięcy złotych. Dzięki rozwojowi technologii chmurowych, jeden model można szkolić na setkach takich kart graficznych.

Ponadto, dzięki frameworkom zintegrowanym z kartami Nvidii, takimi jak PyTorch czy TensorFlow, obecnie trenowanie sieci neuronowej sprowadza się de facto do jednej komendy w Pythonie: 

optimizer = optim.Adam(net.parameters(), lr=0.001)

Ta linia kodu de facto powoduje, że sieć się uczy i to niezależnie od jej wielkości. Kiedyś, żeby nauczyć nawet prostą sieć trzeba było napisać setki linii kodu.

Czym właściwie jest ChatGPT? 

Dzięki tym trzem połączonym okolicznościom, możliwe było stworzenie ChatGPT, który tak szybko zawojował internet. ChatGPT to właściwie nakładka na model GPT-3.5, czyli Generative Pretrained Transformer 3.5 version. To po prostu model, który został przystosowany dodatkowo do prowadzenia rozmów z użytkownikiem. Aby rozszyfrować jego nazwę, zacznijmy od tyłu. 3.5 to oczywiście wersja modelu. A dalej mamy…

G – Generative (generatywny)

Model generatywny to taki, który ma uzupełnić wypowiedź na podstawie wcześniej nauczonych wzorców. Na przykład Ala ma ___ (kota). W  szczególności, ChatGPT odpowiada na wpisane mu pytania, generując najbardziej prawdopodobną (wg. niego) odpowiedź na wpisane wyrażenie na podstawie danych, na których został wytrenowany, czyli w zasadzie całego Internetu oraz wybranych książek czy artykułów.

P – Pretrained (przedtrenowany)

Pretrained odnosi się do metody trenowania modelu, która opiera się na generowaniu tekstu poprzez model i potem porównywanie go z zadanym tekstem. Uczenie (nienadzorowane) polega tutaj na kolejnych generowanych tekstach, tak, aby coraz bardziej przypominały tekst, tak jakby napisał go Tolkien, a jednocześnie był on całkowicie nowym tekstem.

Dzięki czemu znacznie łatwiejsze stało się wytrenowanie modelu piszącego w stylu Tolkiena czy Eminema, ponieważ nie trzeba nadawać etykiet każdemu przykładowi, poza bardzo ogólnymi takimi jak: “To są dzieła Tolkiena”.

Ta nowatorska wtedy metoda została wprowadzona razem z wersją GPT-1 i otworzyła drogę innym modelom generatywnym.

T – Transformer

Transformer to architektura sieci, która pozwala na przetwarzanie dużych danych tekstowych, nie tracąc przy tym kontekstu. Obecny kontekst, czyli liczba słów, które model GPT bierze pod uwagę, przy przewidywaniu kolejnego słowa wynosi około 2000 słów. Dlatego jest on w stanie napisać opowiadanie o Jagielle, ale już raczej nie książkę. Chociaż to się pewnie zmieni.

Dostrajanie

Model GPT ma jeszcze jedną cechę. Potrafi się douczać na podstawie wprowadzanych odpowiedzi i ich oceny. Między innymi dlatego OpenAI upubliczniło swój model i pozwala nam z niego korzystać za darmo. Aby doszkolić model, mamy możliwość klikania kciuków w górę i dół i pisania na ile ta wypowiedź była użyteczna. Dostęp do chatu można znaleźć tutaj, po zarejestrowaniu się.

Żebyście zrozumieli, jak wielki jest to model, to same jego parametry zajmują około 700 GB pamięci RAM, zaś koszt pojedynczego treningu to około 20 mln złotych, a często takich treningów trzeba przeprowadzić naprawdę dużo.

Modele językowe

Modele z serii GPT jak np. BERT to tak zwane modele językowe. To oznacza, że w pracy z językiem (tekstowym) potrafią wykonywać wiele różnych zadań, takich jak tłumaczenia, generowanie streszczeń, odpowiadanie na pytania, czy pisanie w czyimś stylu. Ich rdzeniem jest właśnie model języka(ów), do którego podpinane mogą być różne “końcówki” czasem zwane modułami, które wykorzystają model do wybranego zadania. W szczególności taką końcówką jest właśnie Chat, czyli moduł pozwalający na prowadzenie konwersacji.

ChatGPT to rewolucja w świecie AI, ponieważ dotychczas większość modeli AI umiała wykonywać tylko jedno zadanie, nie zaś być modelem całego języka(ów). O modelu GPT można myśleć zatem, że jest uśrednioną wersją całego Internetu i dużej części literatury, oczywiście odpowiednio dostrojoną, aby nie była rasistowska czy ksenofobiczna.

Czy ChatGPT się myli?

Z mojego doświadczenia wynika, że Chat GPT jest genialnym narzędziem kiedy:

  1. Potrzebujesz wygenerować template jakiegoś tekstu, typu email czy streszczenie książki.
  2. Potrzebujesz podsumowania faktów w danej dziedzinie, na której się znasz i potrafisz wyłapać nieścisłości.
  3. Chcesz używać go jako asystenta kodowania, ponieważ GitHub Copilot jest płatny, zaś ChatGPT jest (jeszcze) bezpłatny.

Kiedy korzystamy z niego, musimy pamiętać, że ChatGPT ani żaden inny, istniejący obecnie model nie jest:

  1. Wyrocznią
  2. Wyszukiwarką internetową, która w dodatku robiłaby fack-checking
  3. Narzędziem do pisania kodu
  4. Nie jest kalkulatorem, ani nie potrafi myśleć logicznie

Kiedy z niego korzystasz musisz o tym pamiętać. Przykładowo gdybyś użył w 2100 roku wersji chatu z 2021 roku  (obecna wersja „kończy” swoją wiedzę na tym roku) i zapytał, czy Noblista Steven Weinberg żyje, to chatbot zapewne odpowiedziałby tak: 
Screenshot 2023-02-20 at 13.52.06.png

Dla informacji czytelnika, Steven Weinberg rzeczywiście urodził się w 1933 roku, zaś zmarł w lipcu 2021. Myślę, że to całkiem dobrze obrazuje w jaki sposób “myśli” ten wariant modelu GPT-3.5. Inny przykład to fragment wygenerowanego przez ChatGPT opowiadania o Jagielle: 

Order Orła białego został stworzony w 1705 roku przez Augusta II Mocnego, zaś Jagiełło zmarł w 1434 roku. Prawie 300 lat przed nadaniem orderu. Model mógł pomyśleć tak: Jagiełło był królem Polski, najczęściej wymieniany na Wikipedii order Polski to order Orła Białego, zatem Jagiełło powinien nadać order Orła Białego. Stoi oczywiście za tym jakaś logika, ale nie ma ona zbyt wiele wspólnego z faktami.

Początek rewolucji AI czy jej koniec?

W ostatnim roku pojawiło się bardzo wiele nowości w świecie AI. Część z nich wymieniłem we wstępie do artykułu. Przytoczę jeszcze jeden ciekawy model, czyli CICERO od Meta Research, który umie grać w Dyplomację. Dyplomacja to gra planszowa, w której gracze starają się zdobyć przewagę na kontynencie europejskim, wcielając się w XIX wiecznych władców państw. Gra jest tak zbudowana, że niemożliwe jest wygranie samotnie, trzeba się z kimś dogadać i w odpowiednim momencie “wbić mu nóż w plecy”. Model CICERO nauczył się na tyle dobrze składać propozycje innym i ich “oszukiwać”, że jest całkiem przyzwoitym „graczem”. Jeśli Meta wytrenuje podobny model dla Gry o Tron, to już nigdy nie będzie mi brakować towarzyszy do tej 8-osobowej gry. Mam tylko nadzieję, że będzie się dało ustawić poziom trudności, bo chciałbym jednak móc od czasu do czasu wygrać.

Wydawało by się, że 2023 rok powinien przynieść jeszcze większy wysyp modeli, które nas jeszcze bardziej zaskoczą. Być może wcale jednak tak nie będzie. Ciężko sobie bowiem wyobrazić jeszcze więcej danych niż cały Internet, więcej mocy obliczeniowej niż tysiące kart graficznych A100 czy jakąś jeszcze bardziej skomplikowaną architekturę niż transformer. Niemniej być może dożyjemy AI tworzącego kolejne filmy Marvela (zresztą one i tak wszystkie są takie same ;)), którego koszt jednego treningu to 1 mld $. 

W moim przekonaniu, przełom w postaci tworzenia wielkich modeli, które potrafią wykonywać wiele czynności jednocześnie już się dokonał. Na kolejny będziemy musieli długo poczekać, być może do stworzenia pierwszych procesorów kwantowych (zwanych zwykle komputerami kwantowymi), które wydają się zapewniać w zasadzie nieskończoną moc obliczeniową.

Co dalej ze sztuczną inteligencją – możliwe scenariusze

Przełom w AI może dokonać się gdzieś zupełnie indziej. Pomijam tutaj praktyczne zastosowanie każdej z tych technologii, które na pewno zmienią to, jak pracujemy. Mój styl pracy ChatGPT już zmienił i pozwolił być około trzykrotnie bardziej produktywnym jako programista i AI researcher.

Uczenie maszynowe a tradycyjne algorytmy

Dotychczas badacze sieci neuronowych w zasadzie próbują stosować “czyste” podejście do sieci neuronowych, przykładowo do symulacji fizyki w grach komputerowych. Jest to interesujące podejście, ponieważ to właśnie symulacje fizyki w czasie rzeczywistym powodują, że obraz w grach nie jest tak dobry jak na przykład w filmowych animacjach, gdzie fizyka jest “policzona wcześniej”. Z drugiej strony, raz wytrenowana sieć potrafi symulować fizykę nawet 1000 razy szybciej niż tradycyjne symulacje oparte na rozwiązywaniu równań.

Jednak jak się okazuje, symulacje zachowań, na przykład cieczy, przy użyciu czystych sieci neuronowych potrafią zachować się skrajnie niefizycznie, na przykład ciecz nagle znika lub pojawia się znikąd.

Od paru lat postuluje się połączenie tradycyjnych metod z sieciami neuronowymi, gdzie tradycyjna metoda symuluje tylko główne fragmenty, natomiast sieć neuronowa wypełnia to detalami. Okazuje się, że to podejście łączy szybkość sieci neuronowej z niezawodnością tradycyjnych metod. W odniesieniu do wyszukiwarek internetowych zatem, właściwe pytanie to: jak ChatGPT i inne modele mogą współpracować z tradycyjną wyszukiwarką, nie zaś w jaki sposób wariant GPT-3.5 ją zastąpi, co się często sugeruje. Notabene istnieje próba implementacji algorytmu Google’a Page Rank w postaci sieci neuronowej, na przykład tutaj lub w ramach nowej wersji wyszukiwarki Bing Microsoftu.

chatgpt w bing

Człowiek i maszyna

Innym pytaniem, które często pojawia się w debacie publicznej jest to czy algorytmy nas zastąpią. Zdaniem Petera Thiela, współzałożyciela PayPala oraz firmy Palantir, należy postawić to pytanie inaczej:

W jaki sposób algorytmy mogą nas uzupełniać w tych zadaniach, w których jesteśmy słabi, oraz które zajmują nam wiele czasu

Przykładowo, w pracy naukowca wiele czasu zajmuje pisanie podań, które są dosyć standardowe, natomiast nie mogą być napisane ze wzoru. Tu ChatGPT jest naprawdę świetnym narzędziem. Nie sądzę, aby przyniosło nam pożytek tworzenie rozwiązań sztucznej inteligencji tam, gdzie jesteśmy naprawdę dobrzy, na przykład w życiu społecznym, natomiast są one niemal konieczne, aby móc poruszać się w świecie finansów, gdzie 99% transakcji już od lat wykonują algorytmy, w czasie krótszym niż mrugnięcie okiem. Miejmy nadzieję, że dzięki technologiom sztucznej inteligencji, będziemy mogli skupiać się na tym, co naprawdę ważne, a nie spędzać godziny na zadaniach drugorzędnych!

O autorze

Jan Kwapisz jest doktorem fizyki teoretycznej, współzałożycielem Dijkstra Enterprise i wykładowcą na Uniwersytecie Warszawskim, a także ekspertem w dziedzinie uczenia maszynowego. Dijkstra Enterprise, to firma edukacyjno-technologiczna, która zmienia sposób rekrutacji w IT i uczy ludzi kompetencji przyszłości, takich jak AI, Data Science i Deep Learning.

Zastrzeżenia

Tekst powstał bez udziału sztucznej inteligencji, autor korzystał z ChatGPT wyłącznie w zaznaczonych w tekście miejscach.

O ile nie jest to wyróżnione w tekście, to autor tekstu nie reklamuje żadnej z osób lub organizacji na podstawie umowy o świadczeniu takich usług. Rekomendacje autora pochodzą tylko z jego szczerej chęci zarekomendowania danej osoby, produktu lub usługi, ponieważ uważa je za “Idee warte rozpowszechniania”.

Dijkstra Enterprise – czym się zajmuje?

W Dijkstra Enterprise nauczymy Cię podstaw Pythona na naszej platformie DijkstraHub. Jesteśmy prawdopodobnie pierwszym kursem, w którym już w kilka lekcji nauczysz się, jak użyć modeli Open AI API na swojej stronie internetowej, przy użyciu naszego kodu. Z nami zdobędziesz też certyfikat Python Institute!

Jeśli jesteś bardziej zaawansowanym w programowaniu, to mamy też dla Ciebie pakiet szkoleń. Nauczymy Cię podstaw uczenia maszynowego, pracy z naprawdę dużymi zbiorami danych przy użyciu pandas, SQL oraz Spark. Z nami weźmiesz udział w szkoleniu przygotowanym przez dr Jana Kwapisza wspólnie Nvidią, zakończonym egzaminem z certyfikatem wydawanym przez Nvidię. 

Jeśli szukacie państwo szkoleń dla swoich pracowników, koniecznie napiszcie do nas, a przygotujemy dla Państwa ofertę, która na pewno Państwa usatysfakcjonuje.

Przypisy

1ChatGPT na pytanie Dijkstra “Czy zastąpisz mnie w pracy?”, odpowiada w taki sposób:

Jako model językowy oparty na sztucznej inteligencji, nie jestem w stanie zastąpić człowieka w jego pracy. Moim zadaniem jest udzielanie informacji, udzielanie pomocy i generowanie tekstu na podstawie wprowadzonego przez użytkownika wejścia. Mogę zapewnić wsparcie, odpowiadać na pytania i pomagać w zadaniach, ale nie jestem w stanie wykonywać pracy, która wymaga fizycznej obecności lub interakcji człowieka z innymi ludźmi. Jestem zaprojektowany, aby uzupełniać ludzkie zdolności, a nie je zastępować.


2 Właściwie to powinniśmy mówić o pojemności, ponieważ pojemność można dobrze zdefiniować, na przykład nalewając wody, zaś wielkość kubka można zdefiniować na wiele sposobów, jednym z nim jest pojemność.

3 De facto krzesło jest zdefiniowane funkcjonalnie, poprzez swoją funkcję: jako rzecz służąca do siedzenia dla jednej osoby z oparciem, ale nadal nie jest to takie proste ponieważ rozróżniamy krzesło, taboret, pufę, fotel, fotel bujany i wiele innych. 

4 Zdjęcia oczywiście reprezentujemy jako pixele, gdzie każdy pixel to zbiór trzech liczb oznaczających nasycenie poszczególnych kolorów, czerwonego, zielonego i żółtego.

5 W uczeniu maszynowym słowa algorytm używa się zamiennie ze słowem program i to pierwsze jest częściej stosowane.

6 Tak naprawdę używa się algorytmu beam search, który wyszukuje tylko parę najbardziej prawdopodobnych zdań, nie zaś tworzy wszystkie możliwe zdania. Również dla danego zdania tworzy się parę tłumaczeń referencyjnych, czyli na przykład również: John eats an apple.

Źródła

opracowanie własne, źródła pisane:

Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., & Polosukhin, I. (2017). Attention is all you need. In Advances in neural information processing systems (pp. 5998-6008)

Thiel, P. (2014). Zero to One: Notes on Startups, or How to Build the Future. Crown Business