Twój agent a nawet cyfrowy bliźniak. Spersonalizowana AI dla każdego? Czy to kolejny etap rewolucji?

Twój agent a nawet cyfrowy bliźniak. Spersonalizowana AI dla każdego? Czy to kolejny etap rewolucji?
ChatGPT można zainstalować lokalnie na swoim komputerze. Wymaga to jednak umiejętności programistycznych, obsługi interfejsu API, języka programowania Python, instalacji wymaganych bibliotek. Jednym słowem - dla wielu to rzecz raczej niedostępna. Są jednak prostsze sposoby na spersonalizowaną, „własną AI”.

We wrześniu 2023 r. Google ogłosiło, że dąży do stworzenia takiej właśnie, bardziej spersonalizowanej, sztucznej inteligencji. W praktyce oznacza to, że umożliwi użytkownikom połączenie chatbota Bard z ich kontami Gmail i Google Drive. Użytkownicy mogą również zezwolić Bardowi na pobieranie filmów z YouTube, a także informacji o mapach i lotach oraz z innymi usługami (1). Trzeba w tym celu zainstalować rozszerzenie, które pozwala Bardowi łączyć się z  innymi usługami Google. Udzielenie narzędziu AI dostępu do Gmaila i danych dokumentów może wywołać u niektórych użytkowników wątpliwości, jeśli chodzi o bezpieczeństwo danych i prywatność. Firma zapewnia, że dane, do których uzyskuje dostęp bot, nie będą widoczne dla pracowników Google odpowiedzialnych za dostarczanie informacji zwrotnych na temat modelu Bard i obiecuje, że nie będzie wykorzystywać pozyskanych danych do celów reklamowych. Cóż, może należy Google wierzyć. Na razie pierwsze recenzje tych, którzy wypróbowali efekty prób pożenienia AI z usługami Google, są miażdżące dla Barda.

Oferta Google kojarzy się z Microsoftem i jego Copilotem, którego pierwsze funkcje udostępnił w pakiecie oprogramowania Windows 11, w Bingu i wyszukiwarce Edge. Dając Bardowi dostęp do osobistej poczty e-mail i dokumentów użytkowników, Google może zyskać przewagę w dziedzinie „osobistej sztucznej inteligencji”. Jednak jest to wciąż ufanie potentatowi Big Tech, który już nie raz udowodnił, że na zaufanie nie zasługuje.

Ambitniejsze podejście do „osobistej AI”, skonfigurowanej na własne potrzeby i tworzonej bez łaski gigantów, zakłada nieco więcej wysiłku niż włączenie wtyczki w Google. Jednak niekoniecznie wysokich kompetencji w dziedzinie programowania.

Korporacje tworzą własne boty

Zacznijmy od projektów korporacyjnych. Znany dostawca usług konsultingu, McKinsey, przygotował już wiele miesięcy temu własne narzędzie generatywnej sztucznej inteligencji dla pracowników, nazwane Lilli. To aplikacja typu czat dla pracowników zaprojektowana przez zespół McKinsey. Narzędzie dostarcza informacji, spostrzeżeń, danych, harmonogramów, a nawet rekomendacji dotyczących zaangażowania ekspertów do projektów, a wszystko to w oparciu o ponad sto tysięcy dokumentów i transkrypcji wywiadów.

Według danych firmy, z Lilli korzysta ponad połowa wielotysięcznej rzeczy pracowników McKinseya, generując dziesiątki tysięcy zapytań. Szacuje się, że skraca czas researcherskiej pracy z tygodni do godzin, a nawet czasem minut.

Lilli podobnie jak takie usługi jak ChatGPT firmy OpenAI i Claude 2 firmy Anthropic zawiera pole wprowadzania tekstu, w  którym użytkownik może wprowadzać pytania, wyszukiwania i podpowiedzi. Istnieje jednak nieco różnic w porównaniu ze  znanymi narzędziami. Lilli oferuje dodatkowe możliwości edycji, kategorie i dwa tryby „GenAI Chat”, który pozyskuje dane z bardziej uogólnionej bazy dużego modelu językowego (LLM), i drugą „Client Capabilities”, która pozyskuje odpowiedzi ze specjalnie przygotowanego korpusu danych McKinsey zawierającego tysiące dokumentów, transkrypcji i prezentacji. Chodzi tu m.in. o możliwość porównania obu zasobów. Lilli serwuje też oddzielną sekcję „Źródła” pod każdą odpowiedzią, wraz z linkami, a nawet numerami stron do konkretnych stron, z których model zaczerpnął swoją odpowiedź. Ogólny zasób pochodzi od partnerów MacKinseya, w tym także z modelu OpenAI.

Możesz budować własny model ale to kosztuje

Publiczne duże modele językowe (LLM), takie jak GPT, są znane jako modele „podstawowe”. Są  tworzone poprzez pobieranie ogromnych ilości informacji z Internetu do szkolenia. A potem odpowiadają na pytania dotyczące praktycznie każdego tematu, np. jak upiec ciasto lub jak zrównoważyć portfel akcji. Największe LLM-y szkolone są na stu miliardach i więcej „parametrów”, które określają zachowanie modelu. Ogromne zasoby wymagane do tego sprawiają, że są one niezwykle kosztowne w budowie i obsłudze. Dość dobrze radzą sobie z pytaniami z zakresu wiedzy ogólnej, ale są podatne na błędy i halucynacje.

Kluczem do uzyskiwania trafniejszych odpowiedzi na pytania bardziej szczegółowe są mniejsze modele językowe, które firmy mogą obsługiwać i szkolić w swoim własnym, bezpiecznym środowisku chmurowym. Modele te można dostosować, szkoląc je tylko na danych firmy. Dane te nie muszą być wprowadzane do publicznej „dużej” bazy LLM. A ponieważ są to mniejsze modele, wymagają znacznie niższych nakładów.

Mniejsze modele językowe mogą opierać się na miliardzie lub mniejszej liczbie parametrów. Nadal są dość duże, ale znacznie mniejsze niż podstawowe modele LLM. Te są wstępnie wyszkolone, aby rozumieć słownictwo i ludzką mowę, więc koszt adaptacji i budowy na ich bazie „małych modeli” przy użyciu danych korporacyjnych i branżowych jest znacznie niższy. Mniejsze modele językowe są nie tylko bardziej opłacalne, ale często znacznie dokładniejsze, ponieważ zamiast trenować je na wszystkich publicznie dostępnych danych, dobrych i złych, są one szkolone i optymalizowane na starannie zweryfikowanych danych, które odnoszą się dokładnie do przypadków użycia, na których zależy firmie.

OpenAI i inne firmy rozwijające LLM-y oferują interfejsy programistyczne API dla swoich modeli. Pozwalają programistom wykorzystać moc podstawowych modeli do rozwijania własnych projektów. Przykładem takich rozwiązań tworzonych indywidualnie na bazie wielkich modeli są inteligentne rozszerzenia Arkuszy Google, automatyzujące tworzenie formuł i powtarzalne zadania. Oczywiście, jeśli taka wtyczka działa na bazie płatnego modelu GPT-4, to użytkownik też za to płaci.

Nie brakuje w Internecie poradników wspomagających chętnych do budowania własnych modeli generatywnej sztucznej inteligencji. Wśród nich np. znajdziemy zalecenie, by „zebrać odpowiednie dane treningowe z zakresu tematycznego, który ma obsługiwać budowany model”. Im więcej wysokiej jakości danych, tym lepszy może być model. Potem radzi się wybrać odpowiednią architekturę modelu - czy to ma być Transformator, GAN (Generative Adversarial Network), czy np. sieć rekurencyjna RNN, zależnie od rodzaju generowanych danych. Najpopularniejsze są obecnie modele transformatorowe (to na nich pracuje choćby ChatGPT). Kolejny etap to przygotowanie danych szkoleniowych w odpowiednim formacie i podzielenie ich na zbiory: treningowy, walidacyjny i testowy. Potem jest szkolenie z optymalizacją parametrów takich jak liczba warstw, rozmiar modelu, szybkość uczenia, walidacja po ustaleniu metryk i ocena działania wyszkolonego modelu na danych testowych. Po wdrożeniu modelu zaleca się monitorowanie jego użycia w celu wykrywania problemów i regularne szkolenie modelu na nowych danych, aby poprawić jego umiejętności i uwzględnić nowe trendy.

Tyle teoria. W praktyce poza dużymi i zasobnymi firmami i podobnymi podmiotami nikogo nie stać na zbudowanie własnej AI, modelu generatywnego od podstaw z wszystkimi elementami, od jakościowych, uporządkowanych danych po kolejne cykle szkolenia i walidacji. Stawia się raczej na już istniejące i wyszkolone duże modele językowe (LLM) udostępniane poprzez API, o czym już wspominaliśmy.

Tu zadanie zaczyna się od wyboru odpowiadającego nam interfejsu API. Może to być dostęp do modeli OpenAI, GPT-3 lub GPT-4 albo Anthropic, który oferuje zyskujący popularność chatbot Claude (obecnie już druga jego wersję), albo Google Cloud z zasobami potentata Big Tech. Albo mniej znane API, np. firmy CoHere lub też LLaMA firmy Meta, serię Pythia firmy EleutherAI, model OpenLLaMA firmy Berkeley AI Research i MosaicML.

Kolejny krok to zebranie danych szkoleniowych z domeny, w której chcemy specjalizować model - będą to dodatkowe dane poza tymi, na których trenowano bazowy LLM. Potem przewiduje się finetuning wybranego LLM na naszych danych szkoleniowych przez API. Może to polegać na dopasowaniu istniejących wag modelu lub trenowaniu dodatkowych warstw. Efekt szkolenia podlega ocenie. Jeśli to konieczne, to trzeba zebrać więcej danych szkoleniowych i powtórzyć finetuning. Własny model wdraża się przez API, udostępniając interfejs użytkownikom lub integruje z własną aplikacją. Kluczowe jest dopasowanie modelu do własnych danych treningowych przez finetuning. Pozwala to zbudować specjalizowaną generatywną AI na bazie istniejących LLM-ów.

Atrakcyjność idei prywatnych LLM-ów polega na tym, że możemy wysyłać zapytania i przekazywać informacje do bazy bez konieczności przekazywania naszych danych lub odpowiedzi stronom trzecim. Jest to uznawane za bezpieczne i zapewnia całkowitą kontrolę nad naszymi danymi.

Matka Facebooka zaskakuje

Jest gigant z grona Big Tech, który zamiast ścigać się z Google, OpenAI, Microsoftem czy Amazonem, w tworzeniu biznesowych aplikacji, stawia, przynajmniej oficjalnie, na pomoc w tworzeniu spersonalizowanych narzędzi sztucznej inteligencji. To firma macierzysta Facebooka, Meta, która wprowadziła LLaMA 2, duży model językowy o otwartym kodzie źródłowym, który ma rzucić wyzwanie restrykcyjnym praktykom dużych konkurentów technologicznych. W  przeciwieństwie do systemów sztucznej inteligencji uruchomionych przez Google, OpenAI i innych, które są ściśle strzeżone w zastrzeżonych modelach, Meta swobodnie udostępnia kod i dane stojące za LLaMA 2, aby umożliwić naukowcom na całym świecie rozwijanie i ulepszanie technologii.

LLaMA 2 jest dostępna w trzech rozmiarach - 7 mi-liardów, 13 miliardów i 70 miliardów parametrów w zależności od wybranego modelu. Dla porównania, seria GPT-3.5 OpenAI ma do 175 miliardów parametrów, a Bard Google (oparty na LaMDA) ma 137 miliardów parametrów. OpenAI nie ujawniło liczby parametrów w GPT-4 w swoich opublikowanych badaniach. Liczba parametrów w modelu ma teoretycznie korelować z jego wydajnością i dokładnością, ale większe modele wymagają więcej zasobów obliczeniowych i danych do trenowania.

Najprostszym sposobem na korzystanie z LLaMA 2 jest odwiedzenie strony llama2.ai, na której znajduje się demo modelu chatbota, który co do zasady funkcjonuje podobnie do ChatGPT czy AI Binga. Jeśli mamy ambicję uruchomić LLaMA 2 na własnym komputerze lub zmodyfikować kod, możemy pobrać go bezpośrednio z Hugging Face, wiodącej platformy do udostępniania modeli AI. Do uruchomienia kodu potrzebne będzie konto Hugging Face oraz niezbędne biblioteki i zależności. Instrukcje instalacji i dokumentację można znaleźć w repozytorium LLaMA 2. Inną opcją dostępu do LLaMA 2 jest Microsoft Azure, usługa przetwarzania w chmurze, która oferuje różne rozwiązania AI. LLaMA 2 można znaleźć w katalogu modeli Azure AI, gdzie można przeglądać, wdrażać i zarządzać modelami AI. Do korzystania z tej usługi potrzebne jest konto Azure i subskrypcja. Ta metoda jest zalecana dla bardziej zaawansowanych użytkowników.

2. LLaMA 2
Zdjęcie: stock.adobe.com

Zrób to sam w open source

W ostatnim roku zaroiło się od rozwiązań, które pozwalają tworzyć własne modele AI, spersonalizowanych agentów sztucznej inteligencji czy też wtyczki wykorzystujące moc modeli w  świadczeniu usług, informacji, automatyzacji zadań itd.

GPT4All jest jednym z tych nowych rozwiązań umożliwiających wykorzystanie i konfigurowanie LLM typu open source. Jest on również w pełni licencjonowany do użytku komercyjnego, więc można go bez obaw zintegrować z produktem komercyjnym, w przeciwieństwie do innych modeli, takich jak te oparte na modelu Llama firmy Meta, które są ograniczone wyłącznie do niekomercyjnego użytku badawczego. GPT4All to  ekosystem do trenowania i wdrażania dostosowanych do indywidualnych potrzeb dużych modeli językowych, które działają lokalnie na procesorach klasy konsumenckiej.

Oznacza to, że możemy go używać na naszych komputerach i oczekiwać, że będzie działał z rozsądną prędkością. Karty GPU nie są potrzebne. Podstawowy model zajmuje tylko około 3,5 GB pamięci, więc znowu coś, z czym możemy pracować na zwykłych komputerach. GPT4All służy do konstruowania modeli językowych w stylu asystenta, który każdy indywidualny użytkownik lub przedsiębiorstwo może swobodnie wykorzystywać, rozpowszechniać i rozwijać.

Po szkoleniu na wystarczająco dużym zestawie danych, LLM oparte na GPT4All zaczynają tworzyć umiejętności, takie jak zdolność do odpowiadania na coraz bardziej skomplikowane pytania. Jeśli będziemy zwiększać rozmiar zestawu danych, na których trenowane są te modele, to z czasem powinniśmy zacząć uzyskiwać coraz lepsze zdolności, w stylu chatbotów. Możemy użyć modelu bazowego wytrenowanego na znacznie mniejszej bazie informacji, a następnie dostroić go za pomocą kilku pytań i odpowiedzi, uzyskując odpowiednią dla naszych potrzeb wydajność, która jest równa, a czasem nawet lepsza, niż model wytrenowany na ogromnych ilościach danych.

Całkowity rozmiar zbioru danych GPT4All wynosi mniej niż 1 GB, czyli jest znacznie mniejszy niż początkowe 825 GB, na których trenowano podstawowy model GPT-J, na którym ekosystem GPT4All bazuje. GPT4All jest dość łatwy w konfiguracji. Nie potrzeba tu, przynajmniej na wstępnym etapie, żadnego kodowania. Po pobraniu aplikacji i jej otwarciu program prosi o wybranie modelu LLM, który chcemy pobrać. Firma oferuje różne warianty modeli o różnych poziomach możliwości i funkcjach.

Niedokładnie tym samym, choć w efekcie również rozwiązaniem prowadzącym do budowy własnego modelu, jest platforma do etykietowania danych Datasaur z nową funkcją, która umożliwia użytkownikom etykietowanie danych i szkolenie własnego, dostosowanego modelu. Jak zapewnia firma, najnowsze narzędzie oferuje przyjazny dla użytkownika interfejs, który pozwala osobom technicznym i nietechnicznym oceniać i klasyfikować odpowiedzi modelu językowego.

Datasaur chce przede wszystkim wesprzeć użytkowników w gromadzeniu danych szkoleniowych. Firma zapewnia, że jej platforma może potencjalnie skrócić czas i wydatki związane z etykietowaniem danych o 30 do 80 proc. Wykorzystuje uznane modele open source, takie jak spaCy i NLTK, do identyfikacji wspólnych podmiotów. Co więcej, platforma zawiera wbudowany interfejs API OpenAI, dzięki czemu klienci mogą poprosić ChatGPT o oznaczenie dokumentów w ich imieniu. 

W stronę rozwiązań typu „agent AI” idą takie narzędzia jak popularne już Auto-GPT. To ostatnie jest eksperymentalną aplikacją open source opartą na modelu językowym GPT-4. Pozwala użytkownikowi definiować konkretne role dla konfigurowanych „agentów” (np. „analityk rynku książek”) i cele do realizacji (np. „zbadaj najlepsze powieści SF z 2023 roku”, „podsumuj je”, „zapisz podsumowanie do pliku” itp.). Polega to na zlecaniu GPT-4 automatycznego tworzenia i wykonywania wszystkich niezbędnych zadań, które są potrzebne do osiągnięcia celów użytkownika. Działania możliwe to m.in.: wyszukiwanie informacji w wyszukiwarkach, przeglądanie stron internetowych, wydobywanie danych, przechowywanie plików lokalnie, korzystanie z pamięci długoterminowej, tworzenie nowych instancji botów AI ze  specjalnymi rolami do wykonywania zadań podrzędnych.

AutoGPT jest projektem eksperymentalnym, to znaczy ma swoje błędy i wady, zwłaszcza w obliczu nowych i niezbyt rozpowszechnionych ról i celów. Do konfiguracji AutoGPT potrzeba instalacji Pythona 3.8 lub nowszego, kluczy API OpenAI oraz instalacji wszystkich wymaganych bibliotek.

Nieco podobnym rozwiązaniem jest AgentGPT służący do konfigurowania i wdrażania autonomicznych spersonalizowanych agentów AI. Można owym „agentom” zlecić realizację wytyczonych celów, a one uczą się, realizując zadania, które im wyznaczamy.

Podobnych narzędzi, agentów, spersonalizowanych asystentów AI i innych form „osobistej sztucznej inteligencji” znajdziemy dziś na rynku więcej. Jednym z nowszych jest program o nazwie FreedomGPT, który jak sama nazwa wskazuje ma „uwolnić” AI bez ograniczeń dla każdego. Można w nim zaimplementować LLM-y, ale nie wszystkie. Dwie dostępne opcje to LLaMA Meta oraz Alpaca, wersja LLaMA dopraco-wana przez naukowców ze Stanfordu, która bardziej przypomina ChatGPT.

Od agentów zmierza to w kierunku naszych „cyfrowych bliźniaków AI”. Modele LLM o otwartym kodzie źródłowym, w tym między innymi Open LLaMA, Falcon, StableLM i Pythia, mogą posłużyć zainteresowanym użytkownikom do budowy swoich własnych kopii z kompetencjami, które oferują te modele. Jak wyżej opisano, można je dostroić na niestandardowym zestawie danych, aby dostosować je do konkretnego zadania, takiego jak szkolenie chatbota, aby odpowiadał na pytania specjalistyczne, np. z zakresu finansów. Tym samym będą one może nie tyle „mądrzejsze”, ile podobniejsze do nas samych. 

Mirosław Usidus