Narzędzia do kodowania AI

https://aie24.pl/

Generative AI udostępniło programistom nowe typy narzędzi i umożliwiło wielu starszym narzędziom integrację funkcjonalności AI. W tym rozdziale przyjrzysz się trzem najpopularniejszym narzędziom do kodowania GenAI — GitHub Copilot, Tabnine i Replit — zdobywając praktyczne doświadczenie w konfigurowaniu i korzystaniu z podstawowych funkcji każdego z nich.

Modele językowe są rozwlekłe

https://aie24.pl/

Chatboty AI często odpowiadają na monity akapitami, gdy odpowiedź jednowyrazowa wystarczy. Standardowa odpowiedź ChatGPT nawet na proste pytanie brzmi jak wypracowanie z liceum, zawierające wstęp, analizę problemu z wielu punktów widzenia i podsumowanie

AI ma ograniczoną wiedzę

Chociaż ChatGPT ma teraz możliwość dostępu do danych w Internecie, model, na którym opiera się ChatGPT, jest skończony. W rezultacie ChatGPT nie wie wszystkiego. Gdy zostanie zapytany o mniej popularne języki programowania lub nową składnię, odpowiedź, którą zwraca model, może być błędna.

AI nie ma zdrowego rozsądku

Żaden model uczenia maszynowego nie miał doświadczenia bycia człowiekiem. W rezultacie odpowiedzi generowane przez model nie mają zdrowego rozsądku. Na przykład, jeśli zapytasz ChatGPT, jak dopłynąć na księżyc, udzieli odpowiedzi, nie kwestionując absurdalności pytania. Każdy człowiek najpierw zakwestionowałby wartość takiego dziwnego pytania.

AI ma problemy z dokładnością

Dokładność odpowiedzi generowanych przez model zależy od wielu czynników, w tym danych szkoleniowych, kontekstu, danych wejściowych użytkownika, złożoności polecenia i języka oraz stronniczości. Jako użytkownik modelu masz kontrolę tylko nad niektórymi z tych czynników. Jeśli to możliwe, możesz jednak pomóc modelowi zapewnić lepsze odpowiedzi, wiedząc, jak najlepiej go wywołać i kwestionując wyniki modelu w kolejnych monitach.

Sztuczna inteligencja ma potencjał do stronniczości

Ponieważ są trenowane w dużej mierze na tekście pisanym przez ludzi, modele uczenia maszynowego wychwytują stronniczość i preferencje występujące w danych treningowych. Twórcy modeli wkładają wiele wysiłku w eliminację stronniczości — co jest godnym celem, ale niemożliwym zadaniem. Niezamierzone konsekwencje, a nawet niebezpieczne sytuacje mogą wynikać z stronniczości w modelach. Klasycznym przykładem jest wypuszczenie przez Microsoft swojego chatbota Tay w Internecie w 2016 roku. W ciągu jednego dnia od rozmowy z ludźmi chatbot przeszedł od mówienia rzeczy takich jak „Ludzie są fajni” do wygłaszania rasistowskich i seksistowskich komentarzy.

Rozpoznawanie ograniczeń AI

https://aie24.pl/

Modele transformatorowe, choć są imponujące, nie potrafią kodować — potrafią jedynie szukać wzorców w sekwencyjnych danych (takich jak zdania, stwierdzenia lub funkcje). Gdy trenujesz model generatywny na wystarczającej ilości danych, staje się on bardzo dobry w znajdowaniu wzorców i tworzeniu przewidywań, ale ma ograniczenia i nigdy nie powinieneś całkowicie ufać wynikom chatbota (lub jakiegokolwiek systemu AI). Modele językowe są słabe w matematyce Chatboty AI to modele językowe dostrojone do konwersacji. Jeśli zapytasz model językowy o odpowiedź na podstawowe zadanie matematyczne, zazwyczaj odpowie on pewnie jakąś odpowiedzią. Jednak po sprawdzeniu tej odpowiedzi za pomocą kalkulatora możesz być zaskoczony, że często jest ona po prostu błędna. Obecnie modele generatywne są w stanie tworzyć przewidywania wyłącznie na podstawie wcześniej widzianych treści. Jeśli zadacie im zadanie matematyczne, którego nigdy wcześniej nie widzieli (bez względu na to, jak trywialne), odpowiedzą na podstawie odpowiedzi na podobne pytania matematyczne w swoich danych treningowych, zamiast wykonywać obliczenia tak, jak zrobiłby to kalkulator.

Oświetlanie generatywnych modeli AI

https://aie24.pl/

Generatywny model AI to model, który jest trenowany na treści (takiej jak obrazy lub tekst) i może używać tej treści do tworzenia prognoz w celu generowania nowej treści. GPT-3 firmy OpenAI, model stojący za pierwszą publiczną wersją ChatGPT, jest generatywnym modelem do przetwarzania języka naturalnego. Wykorzystując wiedzę na temat tego, jak ludzie mówią i piszą, może dokładnie przewidzieć, jakie powinno być następne słowo lub zdanie w odpowiedzi na dane wejściowe. Na przykład, jeśli podasz słowa masło orzechowe i do GPT-3, najprawdopodobniej przewidzi, że następne słowa powinny brzmieć kanapka z galaretką. GPT-3 nie ma żadnego doświadczenia w jedzeniu ani robieniu kanapek z masłem orzechowym i galaretką, ale przeanalizował wiele tekstów, a najczęstszym sposobem na zakończenie frazy masło orzechowe i jest kanapka z galaretką. Podobnie jak nasz klasyfikator zdjęć hot dogów, generatywny model AI jest tak dobry, jak jego dane treningowe. GPT-3 został wytrenowany na ponad 45 terabajtach danych tekstowych, więc ma niesamowite możliwości, takie jak uwzględnianie kontekstu podczas odpowiadania na dane wejściowe. Modele generatywnej sztucznej inteligencji są stale udoskonalane w wyniku trenowania na większej ilości danych o wyższej jakości. Jak wspomniałem wcześniej, parametry to wartości, których model nauczył się podczas treningu.

ROZWAŻANIA ETYCZNE I ODPOWIEDZIALNA SZTUCZNA INTELIGENCJA

https://aie24.pl/

Sztuczna inteligencja ma ogromny potencjał, aby poprawić życie ludzi — i wyrządzić krzywdę. Przepisy dotyczące rozwoju i wykorzystania sztucznej inteligencji są nadal przedmiotem sporów i opracowywane. Firmy i organizacje zaniepokojone negatywnym potencjałem sztucznej inteligencji opracowywały i opracowują wytyczne. Zarówno twórcy, jak i użytkownicy modeli i systemów sztucznej inteligencji, które wykorzystują te modele, mają obowiązek korzystania z tych nowych technologii w sposób zgodny z najlepszymi praktykami. Jednym z przewodników po najlepszych praktykach dla twórców modeli sztucznej inteligencji jest dokument Google Responsible AI Practices, który jest dostępny pod adresem https://ai.google/responsibility/responsibleai- practices. Google zaleca cztery najlepsze praktyki dla sztucznej inteligencji: uczciwość, interpretowalność, prywatność oraz bezpieczeństwo. Uczciwość: Ponieważ programy komputerowe mają dostęp do znacznie większej ilości informacji niż człowiek, systemy sztucznej inteligencji wykorzystywane do podejmowania decyzji lub generowania treści mogą być bardziej uczciwe i inkluzywne niż narzędzia do podejmowania decyzji oparte na osądzie ludzkim. Jednakże, ponieważ są trenowane na danych tworzonych przez ludzi, modele AI mają tendencję do uczenia się i czasami wzmacniania uprzedzeń swoich danych treningowych. Co więcej, nie ma standardowej definicji uczciwości. Stworzenie modelu uczciwego w każdym języku, kulturze i sytuacji jest trudnym, a może wręcz niemożliwym zadaniem. Najlepsze praktyki w zakresie uczciwości zachęcają osoby pracujące z AI do dążenia do ciągłego doskonalenia w kierunku „sprawiedliwszych” systemów. Interpretowalność: Interpretowalność odnosi się do poziomu, w jakim możemy kwestionować, rozumieć i ufać systemowi AI. Kiedy ludzie podejmują decyzje, korzystają ze swojego doświadczenia, intuicji i logiki. Często niemożliwe jest, aby osoba dokładnie powiedziała, jakie dane wejściowe wpłynęły na jej ostateczną decyzję. Z drugiej strony, AI teoretycznie ma zdolność do wymieniania informacji, które weszły w skład prognozy. Ponieważ generatywny model AI może opierać się na miliardach parametrów, debugowanie i zrozumienie podejmowanych przez niego decyzji nie zawsze jest możliwe. Jednak najlepsze praktyki w zakresie interpretowalności wymagają i dostarczają konkretnych zaleceń dotyczących sposobu włączania interpretowalności do systemów AI. Prywatność: Dane treningowe i podpowiedzi, które przekazujemy modelom AI, mogą czasami być wrażliwe. Na przykład dane szkoleniowe mogą zawierać dane identyfikujące osoby, dane medyczne, prywatne informacje finansowe lub zdjęcia osób zrobione bez pozwolenia. Modele AI, a w szczególności generatywne modele AI, mogą ujawniać aspekty danych, z którymi zostały wystawione. Twórcy AI, a także osoby korzystające z tych modeli, mają obowiązek chronić prywatność ludzi i zapewnić użytkownikom możliwość kontrolowania ich danych, nawet jeśli nie obowiązują przepisy, które tego wymagają. Najlepsze praktyki dotyczące prywatności obejmują odpowiedzialne zbieranie i przetwarzanie danych szkoleniowych, przetwarzanie danych lokalnie (zamiast na serwerze), gdy jest to właściwe, oraz rozważenie, w jaki sposób konstrukcja i dostęp do modelu mogą wpływać na prywatność. Bezpieczeństwo: Najlepsze praktyki dotyczące bezpieczeństwa zapewniają, że systemy AI zachowują się tak, jak powinny, niezależnie od tego, jakie zachęty lub dane wejściowe podaje im osoba o złych intencjach. Na przykład ChatGPT ma proaktywne ograniczenia dotyczące mowy nienawiści i generowania treści, które mogą być szkodliwe dla ludzi. Atakujący nieustannie szukają nowych sposobów, aby systemy GenAI generowały ograniczone dane wyjściowe. Twórcy muszą zrównoważyć niezbędne ograniczenia bezpieczeństwa z elastycznością obsługi nietypowych danych wejściowych i generowania przydatnych odpowiedzi.

Uzyskiwanie tokenów

https://aie24.pl/

Możesz być zaskoczony, dowiadując się, że modele językowe rozumieją tylko liczby; nie czytają ani nie rozumieją słów tak jak my. Kiedy zadajesz pytanie systemowi NLP, Twoje dane wejściowe muszą zostać najpierw przekonwertowane na sekwencję liczb zwaną tokenami. Możesz myśleć o tokenach jako o językowym odpowiedniku pikseli w obrazie. Te tokeny są odczytywane przez warstwę wejściową modelu, a następnie przetwarzane przez ukryte warstwy w celu przewidywania i wyprowadzania odpowiedzi na Twoje monity. Ukryte warstwy to warstwy pomiędzy warstwami wejściową i wyjściową, które przetwarzają dane i uczą się ich cech. Tekst można konwertować na tokeny na wiele sposobów. Jedną z powszechnych metod jest tokenizacja słów, która po prostu tworzy token dla każdego słowa w tekście. Modele transformatorów wykorzystują tokenizację podsłowną, która konwertuje tekst na typowe sekwencje znaków, takie jak token i ize. Użycie mniejszych jednostek poprawia wydajność modelu. Aby zobaczyć, jak OpenAI konwertuje tekst na tokeny, przejdź do Tokenizera OpenAI pod adresem https://platform.openai.com/tokenizer. Rysunek przedstawia listę tokenów, które zostały wygenerowane po wprowadzeniu zdania Modele transformatorów wykorzystują tokenizację podwyrazów.

Po tokenizacji tekstu jest on kodowany do identyfikatorów tokenów. Identyfikatory tokenów utworzone z tekstu na rysunku  są pokazane na rysunku 2.

Identyfikatory tokenów są wprowadzane do sieci neuronowej jako sekwencja liczb zwana wektorem liczbowym. Ważne jest, aby być świadomym tokenów i tokenizacji danych wejściowych. Jeśli używasz modelu za pośrednictwem interfejsu API OpenAI, łączna liczba tokenów w danych wejściowych i odpowiedzi modelu określa, ile płacisz za usługę. Ponadto używany system NLP może mieć limit tokenów, czyli maksymalną liczbę tokenów, którą model rozważy podczas generowania odpowiedzi. Twoje dane wejściowe i odpowiedzi modelu wpływają na liczbę tokenów używanych przez konwersację. W długiej konwersacji z ChatGPT lub jeśli wprowadzisz nadmiernie długi monit, limit tokenów może zostać przekroczony. W takim przypadku model „zapomni” wcześniejsze monity w konwersacji i będziesz musiał powtórzyć wszelkie instrukcje, które uwzględniłeś na początku. Limity tokenów są nakładane na model, aby zapobiec wyczerpaniu pamięci, skrócić czas reakcji modelu i zmniejszyć ilość obliczeń wymaganych do trenowania i wdrożenia modelu. Tabela zawiera listę limitów tokenów standardowych wersji kilku modeli. Wiele modeli ma również rozszerzone wersje z większymi limitami tokenów.

Nauka zwracania uwagi

https://aie24.pl/

Technika matematyczna, której używają modele transformatorowe, nazywa się uwagą. Celem uwagi jest umożliwienie modelowi skupienia się na ważnych częściach danych wejściowych podczas generowania danych wyjściowych. Jako ludzie robimy to naturalnie. Kiedy czytasz zdanie lub patrzysz na obraz, możesz łatwo zobaczyć, które części zdania lub obrazu są najważniejsze pod względem jego zrozumienia. Kiedy idea uwagi stała się popularna, połączono ją z rekurencyjnymi sieciami neuronowymi (RNN). Jednak modele RNN muszą brać pod uwagę słowa w sekwencji, jedno po drugim, co jest powolnym procesem. Co gorsza, sieci RNN mają tendencję do przypisywania większej wagi niedawnym słowom i końcówkom zdań. Innym skutkiem ubocznym rozważania słów pojedynczo jest utrata ważnego kontekstu. Rozważ to zdanie:

Gracz zamachnął się kijem i pobiegł do pierwszej bazy.

Każdy, kto choć trochę zna się na baseballu, będzie wiedział, że bat odnosi się do kija baseballowego, a on do gracza. Jednak rozważany pojedynczo model języka nie jest w stanie nawiązać tych samych połączeń. Tutaj pojawia się idea samouważności. Samouważność pozwala modelowi uczyć się informacji o sekwencji wejściowej z samej sekwencji wejściowej. Dzięki samouważności model transformatora znajduje relacje między słowami player i bat, a także między player i he. Rysunek 2-8 przedstawia wizualizację połączeń, które model transformatora tworzy między słowem he w przykładowym zdaniu a innymi słowami w zdaniu. Ciemniejsze linie oznaczają silniejsze połączenie. Wizualizacja na rysunku 2-8 została utworzona przy użyciu narzędzia o nazwie BertViz. Możesz dowiedzieć się więcej o tym, jak działa BertViz i wypróbować go samodzielnie na stronie https://github.com/jessevig/bertviz. Self-attention is All You Need) po raz pierwszy zaproponowano jako rozwiązanie do ulepszania dużych modeli językowych w artykule „Attention Is All You Need”. Artykuł ten, opublikowany w 2017 r., doprowadził do gigantycznych skoków naprzód w modelach transformatorów, które widzieliśmy w ostatnich latach.

Techniki generowania języka

https://aie24.pl/

Techniki przetwarzania języka naturalnego można podzielić na tradycyjne metody uczenia maszynowego i metody głębokiego uczenia. Tradycyjne techniki uczenia maszynowego obejmują następujące:

»»Regresja logistyczna to algorytm klasyfikacyjny, którego celem jest przewidywanie prawdopodobieństwa wystąpienia zdarzenia na podstawie pewnych danych wejściowych.

»»Naiwne klasyfikatory Bayesa to zbiór statystycznych algorytmów klasyfikacyjnych opartych na twierdzeniu Bayesa, które opisuje prawdopodobieństwo zdarzenia na podstawie wcześniejszej wiedzy o warunkach. Naiwna część nazwy odnosi się do założenia, jakie przyjmują te algorytmy, że poszczególne słowa nie są od siebie zależne.

»»Drzewa decyzyjne działają poprzez dzielenie zbioru danych na podstawie różnych danych wejściowych. Na przykład, jeśli chcesz dowiedzieć się, czy prawdopodobnie będzie padać, możesz zacząć od pytania, czy jest pochmurno. Jeśli tak, możesz zapytać o wilgotność, a następnie o temperaturę. Po kilku podziałach możesz uzyskać prognozę.

»»Ukryta alokacja Dirichleta (LDA) jest używana do modelowania tematów. Techniki modelowania tematów skanują zbiór dokumentów w celu wykrycia wzorców i grupowania grup słów, które najlepiej charakteryzują zbiór.

»»Ukryte modele Markowa (HMM) decydują o następnym stanie systemu na podstawie stanu poprzednio zaobserwowanego. Ukryta część nazwy odnosi się do właściwości danych, które nie są bezpośrednio obserwowane. W przetwarzaniu języka naturalnego stan ukryty to części mowy, a stan obserwowany to słowa w zdaniu.

Niektóre techniki stosowane w uczeniu maszynowym zostały nazwane na cześć osób, które sformułowały twierdzenia, na których opierają się te techniki. Thomas Bayes był osiemnastowiecznym angielskim statystykiem, filozofem i ministrem. Peter Gustav Lejeune Dirichlet był dziewiętnastowiecznym niemieckim matematykiem. Andrey Markov był rosyjskim matematykiem, który żył pod koniec dziewiętnastego wieku i na początku dwudziestego wieku. Podczas gdy tradycyjne metody NLP są często w stanie wykonać dobrą robotę, dopiero gdy zaczęto stosować techniki głębokiego uczenia się w NLP, sprawy stały się interesujące. Oto kilka technik głębokiego uczenia się NLP:

»»Sieci neuronowe splotowe (CNN) zostały zaprojektowane do pracy z obrazami, ale można je również stosować z dokumentami. W NLP sieci neuronowe traktują dokumenty jako obrazy składające się ze zdań, a nie pikseli.

»»Rekurencyjne sieci neuronowe (RNN) wykorzystują ukryte stany do zapamiętywania poprzednich informacji. Dzięki temu mogą nauczyć się, w jaki sposób każde słowo w zdaniu jest zależne od poprzednich słów lub słów w poprzednim zdaniu.

»»Modele transformatorowe uczą się kontekstu poprzez śledzenie relacji w danych sekwencyjnych (takich jak słowa w zdaniu). Modele transformatorowe to przełom, który zrewolucjonizował NLP w ostatnich latach. Więcej o tym, jak działają transformatory, opowiem w następnej sekcji.

Zrozumienie uczenia nadzorowanego i nienadzorowanego

https://aie24.pl/

Uczenie nadzorowane opiera się na danych oznaczonych, czyli danych oznaczonych tagami opisującymi, czym są dane. Na przykład, jeśli chcesz wytrenować model, aby rozpoznawał wiadomości e-mail spam, możesz utworzyć zbiór danych zawierający miliony wiadomości e-mail, z których każda jest oznaczona jako „spam” lub „nie spam”. Jednak proces etykietowania danych może być kosztowny i czasochłonny. Uczenie nienadzorowane polega na znajdowaniu wzorców w nieoznaczonych danych. W przypadku uczenia bez nadzoru algorytmy sortują nieoznakowane dane w poszukiwaniu wzorców. Modele uczenia się języka bez nadzoru można trenować na bardzo dużych zestawach danych, aby tworzyć duże modele języka (LLM). W przeciwieństwie do uczenia nadzorowanego, uczenie bez nadzoru można przeprowadzić niedrogo i szybko.