<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>llm &#8211; Biznes Myśli</title>
	<atom:link href="https://biznesmysli.pl/tag/llm/feed/" rel="self" type="application/rss+xml" />
	<link>https://biznesmysli.pl/tag/llm/</link>
	<description>by Vladimir, sztuczna inteligencja w biznesie</description>
	<lastBuildDate>Mon, 08 Jul 2024 17:14:19 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://biznesmysli.pl/wp-content/uploads/2017/03/cropped-bm-sq-1-32x32.jpg</url>
	<title>llm &#8211; Biznes Myśli</title>
	<link>https://biznesmysli.pl/tag/llm/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Fine-tuning LLM: fakty i mity</title>
		<link>https://biznesmysli.pl/fine-tuning-llm-fakty-i-mity/</link>
					<comments>https://biznesmysli.pl/fine-tuning-llm-fakty-i-mity/#respond</comments>
		
		<dc:creator><![CDATA[Vladimir]]></dc:creator>
		<pubDate>Wed, 03 Jul 2024 06:55:00 +0000</pubDate>
				<category><![CDATA[LLM]]></category>
		<category><![CDATA[bielik]]></category>
		<category><![CDATA[fine-tuning]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[RLHF]]></category>
		<guid isPermaLink="false">https://biznesmysli.pl/?p=11315</guid>

					<description><![CDATA[<p>Witaj w kolejnym odcinku podcastu Biznes Myśli, Twoim zaufanym źródle informacji o sztucznej inteligencji. Jestem Vladimir Alekseichenko, praktykiem AI i od 2017 roku wraz z moimi gośćmi mówimy tu o potencjalnej wartości i ryzykach związanych z tą technologią. Zaufało nam już tysiące osób i wielu liderów rynku, takich jak Orange, Leroy czy mBank. Świat zmienia się szybciej niż myślisz, a my pomożemy Ci zrozumieć, o co chodzi w świecie AI i jak możesz to zastosować w praktyce. Jeśli masz pomysł związany z ML/AI, skontaktuj się z nami w DataWorkshop &#8211; przeprowadzimy konsultacje, wytrenujemy Ciebie, Twój zespół lub całą firmę. Fine-tuning, czyli dostrajanie modeli LLM W dzisiejszym odcinku gościem jest Remigiusz Kinas, ekspert w temacie dostrajania dużych modeli językowych (LLM). Remek jest podwójnym Grand Masterem na platformie Kaggle, ambasadorem marki HP i członkiem core teamu projektu SpeakLeash, polskiego modelu LLM. Zajmuje się rozwojem sztucznej inteligencji zawodowo w grupie NEUCA, a także poświęca temu czas po godzinach pracy. Porozmawiamy dziś o poszczególnych etapach trenowania modeli LLM, skupiając się na fine-tuningu. Dowiemy się, jakie są jego rodzaje, formaty danych i ile danych potrzeba na poszczególnych etapach. Poruszymy też kwestie kosztów &#8211; okazuje się, że jedna z faz może kosztować tyle, co nieruchomość w Warszawie! Na koniec Remek uchyli rąbka tajemnicy na temat nowinek, których można spodziewać się w drugiej wersji Bilika. Co to jest fine-tuning modeli AI? Fine-tuning, czyli dostrajanie modeli AI, to technika znana od kilku lat, wywodząca się z dziedziny computer vision. Polega ona na wzięciu wstępnie wytrenowanego modelu (np. na zbiorze danych ImageNet) i douczeniu go na mniejszym, specyficznym dla danego zadania zbiorze. Modele AI można postrzegać jako matematyczne funkcje &#8211; coś wchodzi na wejście i chcemy zrealizować pewne zadanie. Początkowo model jest &#8222;głupi&#8221;, zainicjalizowany losowymi wartościami. Dopiero trening na dużych zbiorach danych, takich jak korpusy tekstowe w przypadku LLM, pozwala mu nabrać &#8222;rozumu&#8221;. Po wstępnym treningu model potrafi już wykonywać proste zadania, np. Przewidywać następne słowo w zdaniu. Jednak aby model radził sobie z konkretnymi, specjalistycznymi zadaniami, potrzebny jest dodatkowy etap dostrajania. I właśnie tym zagadnieniem zajmiemy się w dzisiejszym odcinku. Fine-tuning &#8211; dostrajanie modeli AI do konkretnych zadań Po wstępnym treningu modelu (pre-training) na ogromnym zbiorze danych, kolejnym etapem jest fine-tuning, czyli dostosowanie modelu do bardzo konkretnego zadania. W przypadku wizji komputerowej może to być klasyfikacja obiektów na zdjęciach, np. rozpoznawanie kotów i psów, czy detekcja samochodów, ludzi itp. Fine-tuning polega na ograniczeniu liczby klas do predykcji i dostrojeniu modelu. Okazuje się, że takie dostrajanie znacząco poprawia jakość modeli, niezależnie od zadania. Te zadania mogą być bardzo różnorodne &#8211; klasyfikacja, detekcja, segmentacja w przypadku wizji komputerowej, a w przypadku modeli językowych (LLM) np. wykonywanie instrukcji, konwersacje czy klasyfikacje tekstu. W LLM proces fine-tuningu jest jeszcze bardziej złożony. Po dostrojeniu modelu instrukcyjnego, wykonuje się jeszcze tzw. alignment, czyli dopasowanie modelu do określonego stylu i &#8222;wygładzenie&#8221; odpowiedzi. Tak dostrojony model radzi sobie znacznie lepiej z konkretnymi zadaniami. Model bazowy a instrukcyjny &#8211; jak je odróżnić? Osoby z biznesu czy decydenci często gubią się w gąszczu nazw i skrótów związanych z różnymi rodzajami modeli AI. Mamy model bazowy (pre-trained), instrukcyjny (Instruct) i jeszcze fine-tuning. O co w tym wszystkim chodzi? Pierwszy model w LLM to model bazowy, trenowany od zera na ogromnym zbiorze danych tekstowych. Taki model uczy się jedynie przewidywać kolejne słowo i generować tekst w nieskończoność. Jest to fundament, na którym buduje się kolejne warstwy. Jednak model bazowy można dalej trenować, np. na konkretnym języku. Mamy wtedy do czynienia z kontynuowanym pre-trainingiem. Przykładowo, model LLM trenowany głównie na angielskich danych (np. 15 bilionów tokenów) może być dalej uczony na polskim korpusie językowym. Dane z oryginalnego zbioru są uzupełniane o te z danego języka. Tak przygotowane modele bazowe mogą być już użyteczne, ale wyzwaniem jest zatrzymanie generowania tekstu w odpowiednim momencie. Tutaj z pomocą przychodzi pre-training instrukcyjny (Instruct). W treningu instrukcyjnym mamy dwa główne typy poleceń: Jest jeszcze trzeci typ &#8211; function calling, gdzie model zwraca odpowiedź w ustrukturyzowanym formacie. Tak wytrenowany model instrukcyjny ma już konkretne kompetencje &#8211; potrafi wykonywać polecenia, generować sensowne odpowiedzi i zatrzymać się we właściwym momencie. To właśnie te modele widzimy jako użytkownicy w takich produktach jak ChatGPT, Anthropic, Bard czy Bing. Ostatnim, niewidocznym dla użytkownika etapem, jest alignment czyli &#8222;wygładzanie&#8221; modelu przez mentora, który podpowiada jak najlepiej odpowiadać. To stąd mamy: Dane do treningu &#8211; dużo danych W treningu modeli AI kluczowe znaczenie mają dane. W fazie pre-trainingu obowiązuje zasada &#8222;im więcej, tym lepiej&#8221; &#8211; wygrywają firmy z największymi zasobami danych. Przykładowo polska wersja modelu Bielik była trenowana na ogromnym, największym jak dotąd korpusie polskich danych tekstowych (1,5 TB). Jednak ważna jest nie tylko ilość, ale i jakość danych. Nawet w fazie instrukcyjnej i alignmentu, gdzie zbiory danych są dużo mniejsze, model nadal chłonie wiedzę i może uczyć się błędów. Dbałość o jakość instrukcji i danych na każdym etapie to klucz do stworzenia wartościowego i użytecznego modelu AI. Jakość danych kluczem do stworzenia wartościowego modelu AI Kolejnym istotnym aspektem po ilości danych jest ich jakość. W SpeakLeash powstały klasyfikatory jakości, które dzielą dokumenty na trzy kategorie: high, medium i low. Do treningu modeli wykorzystywane są tylko dane z kategorii high, określanej na skali procentowej. Próg odcięcia wynosi zazwyczaj 95-98%, co gwarantuje bardzo dobrą jakość danych. Przygotowanie danych to wieloetapowy proces. Po pozyskaniu ich z różnych źródeł, należy je odpowiednio sklasyfikować, usunąć duplikaty i ewentualnie skorygować. Szczególną uwagę trzeba zwrócić na etap korekcji, ponieważ modele mogą wprowadzić własne błędy poznawcze, tzw. bias, które później zostaną powielone w modelu wynikowym. Instrukcje i ich formaty Kolejnym etapem po pre-trainingu jest fine-tuning, gdzie wykorzystuje się instrukcje. Instrukcja to po prostu polecenie, np. &#8222;napisz wierszyk&#8221;, wraz z przykładową odpowiedzią. Istnieje ponad 30 zarejestrowanych formatów instrukcji, które są obsługiwane automatycznie przez frameworki. Wyróżniamy trzy główne typy: zwykłe instrukcje, instrukcje konwersacyjne i function calling. W Bieliku 2 obecnie znajduje się pięć milionów instrukcji, co stanowi bardzo duży zbiór. Instrukcje tworzone są ręcznie lub generowane syntetycznie przez inne modele. Obecny trend wskazuje na coraz częstsze wykorzystanie syntetycznych danych, ze względu na wzrost jakości modeli je generujących. Człowiek nie jest w stanie stworzyć tak dużej ilości zróżnicowanych instrukcji, pokrywających szeroką tematykę i wariacje. Balansowanie i dostosowywanie modeli W Bieliku i SpeakLeashu, oprócz klasyfikatora jakości, stosowany jest również klasyfikator tematyczny ze 120 klasami. Jego zadaniem jest zbalansowanie zbioru danych, aby model nie skupiał się za bardzo na jednym temacie, np. polityce czy matematyce. Ostatnim etapem jest przygotowanie zbioru do uczenia wzmacnianego. W najprostszym rozwiązaniu generuje się pary odpowiedzi &#8211; akceptowane i odrzucane. Model może też generować odpowiedzi na bieżąco w trakcie treningu, a drugi model je modyfikuje. Dane mają kluczowy wpływ na zachowanie modelu. Nawet styl i format danych przekłada się później na sposób odpowiadania przez AI. Dlatego tak ważne jest przemyślenie, jak mają wyglądać odpowiedzi &#8211; czy powinny zawierać Markdown, być wytłuszczone, wypunktowane, mieć otwarcie i zakończenie. To wiele decyzji do podjęcia w procesie tworzenia modelu. Skala danych na różnych etapach Skala danych różni się znacząco w zależności od etapu. W pre-trainingu operuje się na teratokenach, czyli ogromnych ilościach. W porównaniu do Lamy 3, korpusy danych używane w polskich modelach, np. Bieliku, są stosunkowo małe. Dlatego trenuje się je zazwyczaj metodą kontynuowanego pre-trainingu. W fine-tuningu liczba instrukcji waha się od 10 tysięcy dla specyficznych zadań, do milionów dla modeli ogólnych. Bielik 2 posiada obecnie 5 milionów instrukcji, co jest bardzo dużą liczbą. Podsumowując, dane stanowią kluczowy element w procesie tworzenia modeli AI. Ich ilość, jakość, zróżnicowanie i dostosowanie mają ogromny wpływ na końcowy efekt. Warto poświęcić im dużo uwagi, przemyśleć każdy aspekt i zadbać o jak najlepsze zbiory treningowe. Bo to, co włożymy do danych, otrzymamy później na wyjściu. Optymalizacja danych treningowych w modelach językowych AI Nasze badania wskazują, że nawet dla dużego modelu językowego AI 10 tysięcy instrukcji już robi robotę. Ten dataset jest bardzo mały w stosunku do poprzednich zbiorów danych. Oznacza to, że jesteśmy w stanie zmienić sposób odpowiedzi modelu, np. z bardzo krótkich na bardziej rozbudowane, jak w przypadku ChatGPT. Możemy całkowicie odwrócić działanie modelu za pomocą odpowiednio dobranych instrukcji. W procesie treningu modeli AI wyróżniamy trzy fazy: Obecnie prowadzimy badania nad wykorzystaniem uczenia wzmacnianego w ostatniej fazie alignmentu. Chcemy, aby nasz model Bielik 2, którego premiera planowana jest na lipiec, przechodził przez wszystkie trzy etapy: pre-training, fine-tuning i uczenie wzmacniane. Ma to na celu dalszą poprawę jakości działania AI. Wstępne wyniki są bardzo obiecujące &#8211; obserwujemy znaczny przyrost jakości po fine-tuningu i kolejny po zastosowaniu uczenia wzmacnianego. To potwierdza słuszność podejścia stosowanego m.in. przez OpenAI. Ogromna skala danych treningowych Aby lepiej zrozumieć skalę danych używanych do treningu modeli AI, przytoczę taki obrazowy przykład. Popularna książka &#8222;Harry Potter i Kamień Filozoficzny&#8221; ma około 100 tysięcy tokenów. Oznaczenia literowe ilości tokenów to K (tysiące), M (miliony), B (miliardy) i T (biliony). Żeby dojść do skali T, potrzeba aż 10 milionów takich książek jak Harry Potter! Model Llama 3 trenowano na 15 bilionach tokenów, to naprawdę ogromna ilość danych. Kiedyś w świecie AI panowało podejście &#8222;im więcej danych, tym lepiej&#8221;. Wrzucano ogromne ilości treści licząc, że model jakoś sobie z tym poradzi. Jednak w ciągu ostatniego roku trend się odwrócił. Coraz więcej osób zwraca uwagę na kluczowe znaczenie jakości danych treningowych. Twórcy modelu Llama 3 chwalili się, że mocno popracowali nad tym aspektem, wprowadzając m.in. klasyfikatory poprawiające jakość datasetu. Potencjał współpracy nad polskim modelem językowym Kiedy odwiedzam targi książki na Stadionie Narodowym, patrząc na ogrom zgromadzonych tam publikacji, od razu myślę o potencjale tych treści dla polskich modeli językowych AI. Oczywiście rozumiem obawy wydawców i autorów o ochronę ich pracy. Nie chodzi o to, by nagle uwolnić wszystkie książki do modeli. Jednak na pewno są takie dane, które za zgodą twórców mogłyby wejść do narodowego modelu językowego, bardzo go wzmacniając. W Polsce mamy obecnie problem z dostępem do danych, by móc konkurować z gigantami jak OpenAI czy Anthropic. Jednak w kontekście modeli Mistrala, twierdzę, że w ciągu roku będziemy mieli lepsze rozwiązania dla języka polskiego. Już teraz w benchmarkach widać, że model Bielik 2.0 przebija modele Mistrala 7B w kontekście polszczyzny. Jestem wielkim fanem wszystkich organizacji pracujących nad modelami językowymi w Polsce. Martwi mnie jednak pewne konkurowanie i ściganie się zamiast współpracy. Mamy w kraju bardzo niewiele osób z doświadczeniem w tym obszarze. Dlatego marzę o tym, by kiedyś usiedli oni razem i stworzyli naprawdę potężny polski model językowy. Taki, który mógłby konkurować na arenie międzynarodowej, np. z rozwiązaniami Mistrala. Koszty trenowania modeli językowych Trenowanie modeli AI na ogromnych zbiorach danych wymaga bardzo dużej mocy obliczeniowej, a co za tym idzie, generuje spore koszty. Wielkość modelu wpływa bezpośrednio na czas i zasoby potrzebne do jego wytrenowania. By zobrazować skalę &#8211; model o wielkości 10 miliardów parametrów (10B) wymaga już bardzo dużo godzin pracy kart graficznych (GPU). A modele 100B to jeszcze wyższy poziom. Wszystko zależy też od wybranego podejścia &#8211; można kupić własny sprzęt, wynająć zasoby obliczeniowe w chmurze albo zbudować partnerstwo jak w przypadku Bielika. Projekt Bielik miał to szczęście, że nawiązał współpracę z Cyfronetem, który dysponuje najpotężniejszym superkomputerem w Polsce. Maszyna HPE Cray o nazwie Prometheus jest 55. najpotężniejszym komputerem na świecie i 3. pod względem ekologiczności. Cyfronet udostępnił te zasoby, aby przetestować i &#8222;wygrzać&#8221; maszynę, a jednocześnie umożliwił trening polskiego modelu AI. To pokazuje, jak owocna może być współpraca nauki i biznesu w tym obszarze. Cyfronet dysponuje unikalną wiedzą na światowym poziomie, a jednocześnie potrzebuje ambitnych zadań, by w pełni wykorzystać potencjał superkomputerów. Z kolei twórcy SpeakLeash początkowo planowali tylko stworzyć zbiór danych, ale dzięki dostępowi do takich zasobów obliczeniowych, mogli pokusić się o wytrenowanie całego modelu. Warto aby w przyszłości będziemy obserwować w Polsce więcej tego typu partnerstw. To da szansę stworzenia modeli językowych AI, które nie tylko doskonale rozumieją polszczyznę, ale też osiągają najwyższą jakość w skali globalnej. Wymaga to przekroczenia wcześniejszych podziałów i wspólnego działania osób, firm i instytucji, które mają odpowiednią wiedzę i zasoby. Wierzę, że stać nas na to, by kiedyś obok OpenAI, Anthropic i Mistrala wymieniano także polski model jako czołowe osiągnięcie w dziedzinie AI. Moc obliczeniowa przeznaczona na trening modeli AI w Cyfronecie Cyfronet, największy superkomputer w Polsce, dysponuje imponującą mocą obliczeniową. Maszyna składa się z 75 tysięcy rdzeni CPU i...</p>
<p>Artykuł <a href="https://biznesmysli.pl/fine-tuning-llm-fakty-i-mity/">Fine-tuning LLM: fakty i mity</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Fine-tuning LLM: fakty i mity" width="960" height="540" src="https://www.youtube.com/embed/Kf55mex40-o?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div><figcaption class="wp-element-caption">Oglądaj video</figcaption></figure>



<p><em>Witaj w kolejnym odcinku podcastu Biznes Myśli, Twoim zaufanym źródle informacji o sztucznej inteligencji. Jestem <a href="https://www.linkedin.com/in/vladimiralekseichenko/">Vladimir Alekseichenko</a>, praktykiem AI i od 2017 roku wraz z moimi gośćmi mówimy tu o potencjalnej wartości i ryzykach związanych z tą technologią. Zaufało nam już tysiące osób i wielu liderów rynku, takich jak Orange, Leroy czy mBank.</em></p>



<p><em>Świat zmienia się szybciej niż myślisz, a my pomożemy Ci zrozumieć, o co chodzi w świecie AI i jak możesz to zastosować w praktyce. Jeśli masz pomysł związany z ML/AI, skontaktuj się z nami w DataWorkshop &#8211; przeprowadzimy konsultacje, wytrenujemy Ciebie, Twój zespół lub całą firmę.</em></p>


<div class="lazyblock-speaker-spotify-1ErTjr wp-block-lazyblock-speaker-spotify"><div class="wp-block-columns are-vertically-aligned-center">
<div class="wp-block-column is-vertically-aligned-center">
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://www.spreaker.com/episode/bm123-fine-tuning-llm-fakty-i-mity--60584330" target="_blank"><img decoding="async" src="https://biznesmysli.pl/wp-content/uploads/2020/02/spreaker.png" alt="" class="wp-image-2150" width="213" height="71"></a></figure></div>
</div>
<div class="wp-block-column is-vertically-aligned-center">
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://open.spotify.com/episode/4VmlQYdw5pomUf9JKN71aK" target="_blank"><img decoding="async" src="https://biznesmysli.pl/wp-content/uploads/2020/02/spotify-badge-button.png" alt="" class="wp-image-2149" width="192" height="93"></a></figure></div>
</div>
</div></div>


<h2 class="wp-block-heading">Fine-tuning, czyli dostrajanie modeli LLM</h2>



<p>W dzisiejszym odcinku gościem jest <a href="https://www.linkedin.com/in/remigiusz-kinas/">Remigiusz Kinas</a>, ekspert w temacie dostrajania dużych modeli językowych (<em>LLM</em>). Remek jest podwójnym Grand Masterem na platformie Kaggle, ambasadorem marki HP i członkiem core teamu projektu SpeakLeash, polskiego modelu <em>LLM</em>. Zajmuje się rozwojem sztucznej inteligencji zawodowo w grupie NEUCA, a także poświęca temu czas po godzinach pracy.</p>



<p>Porozmawiamy dziś o poszczególnych etapach trenowania modeli <em>LLM</em>, skupiając się na <em>fine-tuningu</em>. Dowiemy się, jakie są jego rodzaje, formaty danych i ile danych potrzeba na poszczególnych etapach. Poruszymy też kwestie kosztów &#8211; okazuje się, że jedna z faz może kosztować tyle, co nieruchomość w Warszawie! Na koniec Remek uchyli rąbka tajemnicy na temat nowinek, których można spodziewać się w drugiej wersji <em>Bilika</em>.</p>



<span id="more-11315"></span>



<h2 class="wp-block-heading">Co to jest fine-tuning modeli AI?</h2>



<p><em>Fine-tuning</em>, czyli dostrajanie modeli <em>AI</em>, to technika znana od kilku lat, wywodząca się z dziedziny <em>computer vision</em>. Polega ona na wzięciu wstępnie wytrenowanego modelu (np. na zbiorze danych ImageNet) i douczeniu go na mniejszym, specyficznym dla danego zadania zbiorze.</p>



<figure class="wp-block-image size-full"><img decoding="async" fetchpriority="high" width="750" height="300" src="https://biznesmysli.pl/wp-content/uploads/2024/07/5.imagenet.jpg" alt="" class="wp-image-11321" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/5.imagenet.jpg 750w, https://biznesmysli.pl/wp-content/uploads/2024/07/5.imagenet-300x120.jpg 300w" sizes="(max-width: 750px) 100vw, 750px" /></figure>



<p>Modele <em>AI</em> można postrzegać jako matematyczne funkcje &#8211; coś wchodzi na wejście i chcemy zrealizować pewne zadanie. Początkowo model jest &#8222;głupi&#8221;, zainicjalizowany losowymi wartościami. Dopiero trening na dużych zbiorach danych, takich jak korpusy tekstowe w przypadku <em>LLM</em>, pozwala mu nabrać &#8222;rozumu&#8221;. Po wstępnym treningu model potrafi już wykonywać proste zadania, np. Przewidywać następne słowo w zdaniu.</p>



<p>Jednak aby model radził sobie z konkretnymi, specjalistycznymi zadaniami, potrzebny jest dodatkowy etap dostrajania. I właśnie tym zagadnieniem zajmiemy się w dzisiejszym odcinku. </p>



<p></p>



<h2 class="wp-block-heading">Fine-tuning &#8211; dostrajanie modeli AI do konkretnych zadań</h2>



<p>Po wstępnym treningu modelu (<em>pre-training</em>) na ogromnym zbiorze danych, kolejnym etapem jest <em>fine-tuning</em>, czyli dostosowanie modelu do bardzo konkretnego zadania. W przypadku wizji komputerowej może to być klasyfikacja obiektów na zdjęciach, np. rozpoznawanie kotów i psów, czy detekcja samochodów, ludzi itp.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="720" height="318" src="https://biznesmysli.pl/wp-content/uploads/2024/07/7.car_classification.jpg" alt="" class="wp-image-11322" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/7.car_classification.jpg 720w, https://biznesmysli.pl/wp-content/uploads/2024/07/7.car_classification-300x133.jpg 300w" sizes="(max-width: 720px) 100vw, 720px" /></figure>



<p><em>Fine-tuning</em> polega na ograniczeniu liczby klas do predykcji i dostrojeniu modelu. Okazuje się, że takie dostrajanie znacząco poprawia jakość modeli, niezależnie od zadania. Te zadania mogą być bardzo różnorodne &#8211; klasyfikacja, detekcja, segmentacja w przypadku wizji komputerowej, a w przypadku modeli językowych (<em>LLM</em>) np. wykonywanie instrukcji, konwersacje czy klasyfikacje tekstu.</p>



<p>W <em>LLM</em> proces <em>fine-tuningu</em> jest jeszcze bardziej złożony. Po dostrojeniu modelu instrukcyjnego, wykonuje się jeszcze tzw. <em>alignment</em>, czyli dopasowanie modelu do określonego stylu i &#8222;wygładzenie&#8221; odpowiedzi. Tak dostrojony model radzi sobie znacznie lepiej z konkretnymi zadaniami.</p>



<h2 class="wp-block-heading">Model bazowy a instrukcyjny &#8211; jak je odróżnić?</h2>



<p>Osoby z biznesu czy decydenci często gubią się w gąszczu nazw i skrótów związanych z różnymi rodzajami modeli <em>AI</em>. Mamy model bazowy (<em>pre-trained</em>), instrukcyjny (<em>Instruct</em>) i jeszcze <em>fine-tuning</em>. O co w tym wszystkim chodzi?</p>



<p>Pierwszy model w <em>LLM</em> to model bazowy, trenowany od zera na ogromnym zbiorze danych tekstowych. Taki model uczy się jedynie przewidywać kolejne słowo i generować tekst w nieskończoność. Jest to fundament, na którym buduje się kolejne warstwy.</p>



<p>Jednak model bazowy można dalej trenować, np. na konkretnym języku. Mamy wtedy do czynienia z kontynuowanym <em>pre-trainingiem</em>. Przykładowo, model <em>LLM</em> trenowany głównie na angielskich danych (np. 15 bilionów tokenów) może być dalej uczony na polskim korpusie językowym. Dane z oryginalnego zbioru są uzupełniane o te z danego języka.</p>



<p>Tak przygotowane modele bazowe mogą być już użyteczne, ale wyzwaniem jest zatrzymanie generowania tekstu w odpowiednim momencie. Tutaj z pomocą przychodzi <em>pre-training</em> instrukcyjny (<em>Instruct</em>).</p>



<p>W treningu instrukcyjnym mamy dwa główne typy poleceń:</p>



<ol>
<li>Proste instrukcje, np. &#8222;napisz wierszyk o żurku i ogórku&#8221;.</li>



<li>Trening konwersacyjny, uczący model prowadzenia dialogu z uwzględnieniem kontekstu.</li>
</ol>



<p>Jest jeszcze trzeci typ &#8211; <em>function calling</em>, gdzie model zwraca odpowiedź w ustrukturyzowanym formacie.</p>



<p>Tak wytrenowany model instrukcyjny ma już konkretne kompetencje &#8211; potrafi wykonywać polecenia, generować sensowne odpowiedzi i zatrzymać się we właściwym momencie. To właśnie te modele widzimy jako użytkownicy w takich produktach jak ChatGPT, Anthropic, Bard czy Bing.</p>



<p>Ostatnim, niewidocznym dla użytkownika etapem, jest <em>alignment</em> czyli &#8222;wygładzanie&#8221; modelu przez mentora, który podpowiada jak najlepiej odpowiadać.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="935" height="513" src="https://biznesmysli.pl/wp-content/uploads/2024/07/11.scheme_fine_tune_alighment.jpeg" alt="" class="wp-image-11324" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/11.scheme_fine_tune_alighment.jpeg 935w, https://biznesmysli.pl/wp-content/uploads/2024/07/11.scheme_fine_tune_alighment-300x165.jpeg 300w, https://biznesmysli.pl/wp-content/uploads/2024/07/11.scheme_fine_tune_alighment-768x421.jpeg 768w" sizes="(max-width: 935px) 100vw, 935px" /></figure>



<p>To stąd mamy:</p>



<ul>
<li>Model bazowy to student, który przeczytał mnóstwo książek, ale nie umie jeszcze wykorzystać tej wiedzy.</li>



<li>Model instrukcyjny to student, który potrafi już rozwiązywać konkretne zadania.</li>



<li>Model po <em>alignmencie</em> to student pod okiem mentora, dbającego o jakość i styl odpowiedzi.</li>
</ul>



<h2 class="wp-block-heading">Dane do treningu &#8211; dużo danych</h2>



<p>W treningu modeli <em>AI</em> kluczowe znaczenie mają dane. W fazie <em>pre-trainingu</em> obowiązuje zasada &#8222;im więcej, tym lepiej&#8221; &#8211; wygrywają firmy z największymi zasobami danych. Przykładowo polska wersja modelu Bielik była trenowana na ogromnym, największym jak dotąd korpusie polskich danych tekstowych (1,5 TB).</p>



<p>Jednak ważna jest nie tylko ilość, ale i <strong>jakość danych</strong>. Nawet w fazie instrukcyjnej i <em>alignmentu</em>, gdzie zbiory danych są dużo mniejsze, model nadal chłonie wiedzę i może uczyć się błędów. Dbałość o jakość instrukcji i danych na każdym etapie to klucz do stworzenia wartościowego i użytecznego modelu <em>AI</em>.</p>



<h2 class="wp-block-heading">Jakość danych kluczem do stworzenia wartościowego modelu AI</h2>



<p>Kolejnym istotnym aspektem po ilości danych jest ich jakość. W SpeakLeash powstały klasyfikatory jakości, które dzielą dokumenty na trzy kategorie: high, medium i low. Do treningu modeli wykorzystywane są tylko dane z kategorii high, określanej na skali procentowej. Próg odcięcia wynosi zazwyczaj 95-98%, co gwarantuje bardzo dobrą jakość danych.</p>



<p>Przygotowanie danych to wieloetapowy proces. Po pozyskaniu ich z różnych źródeł, należy je odpowiednio sklasyfikować, usunąć duplikaty i ewentualnie skorygować. Szczególną uwagę trzeba zwrócić na etap korekcji, ponieważ modele mogą wprowadzić własne błędy poznawcze, tzw. <em>bias</em>, które później zostaną powielone w modelu wynikowym.</p>



<h2 class="wp-block-heading">Instrukcje i ich formaty</h2>



<figure class="wp-block-image size-large"><img decoding="async" width="806" height="1024" src="https://biznesmysli.pl/wp-content/uploads/2024/07/13.alpaca_instruction-806x1024.png" alt="" class="wp-image-11326" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/13.alpaca_instruction-806x1024.png 806w, https://biznesmysli.pl/wp-content/uploads/2024/07/13.alpaca_instruction-236x300.png 236w, https://biznesmysli.pl/wp-content/uploads/2024/07/13.alpaca_instruction-768x976.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/07/13.alpaca_instruction-1209x1536.png 1209w, https://biznesmysli.pl/wp-content/uploads/2024/07/13.alpaca_instruction-1140x1448.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/07/13.alpaca_instruction.png 1604w" sizes="(max-width: 806px) 100vw, 806px" /></figure>



<p>Kolejnym etapem po <em>pre-trainingu</em> jest <em>fine-tuning</em>, gdzie wykorzystuje się instrukcje. Instrukcja to po prostu polecenie, np. &#8222;napisz wierszyk&#8221;, wraz z przykładową odpowiedzią. Istnieje ponad 30 zarejestrowanych formatów instrukcji, które są obsługiwane automatycznie przez <em>frameworki</em>. Wyróżniamy trzy główne typy: zwykłe instrukcje, instrukcje konwersacyjne i <em>function calling</em>.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="543" src="https://biznesmysli.pl/wp-content/uploads/2024/07/12.sft_example-1024x543.jpg" alt="" class="wp-image-11325" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/12.sft_example-1024x543.jpg 1024w, https://biznesmysli.pl/wp-content/uploads/2024/07/12.sft_example-300x159.jpg 300w, https://biznesmysli.pl/wp-content/uploads/2024/07/12.sft_example-768x408.jpg 768w, https://biznesmysli.pl/wp-content/uploads/2024/07/12.sft_example-1140x605.jpg 1140w, https://biznesmysli.pl/wp-content/uploads/2024/07/12.sft_example.jpg 1274w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>W Bieliku 2 obecnie znajduje się pięć milionów instrukcji, co stanowi bardzo duży zbiór. Instrukcje tworzone są ręcznie lub generowane syntetycznie przez inne modele. Obecny trend wskazuje na coraz częstsze wykorzystanie syntetycznych danych, ze względu na wzrost jakości modeli je generujących. Człowiek nie jest w stanie stworzyć tak dużej ilości zróżnicowanych instrukcji, pokrywających szeroką tematykę i wariacje.</p>



<h2 class="wp-block-heading">Balansowanie i dostosowywanie modeli</h2>



<p>W Bieliku i SpeakLeashu, oprócz klasyfikatora jakości, stosowany jest również klasyfikator tematyczny ze 120 klasami. Jego zadaniem jest zbalansowanie zbioru danych, aby model nie skupiał się za bardzo na jednym temacie, np. polityce czy matematyce.</p>



<p>Ostatnim etapem jest przygotowanie zbioru do uczenia wzmacnianego. W najprostszym rozwiązaniu generuje się pary odpowiedzi &#8211; akceptowane i odrzucane. Model może też generować odpowiedzi na bieżąco w trakcie treningu, a drugi model je modyfikuje.</p>



<p>Dane mają kluczowy wpływ na zachowanie modelu. Nawet styl i format danych przekłada się później na sposób odpowiadania przez <em>AI</em>. Dlatego tak ważne jest przemyślenie, jak mają wyglądać odpowiedzi &#8211; czy powinny zawierać <em>Markdown</em>, być wytłuszczone, wypunktowane, mieć otwarcie i zakończenie. To wiele decyzji do podjęcia w procesie tworzenia modelu.</p>



<h2 class="wp-block-heading">Skala danych na różnych etapach</h2>



<p>Skala danych różni się znacząco w zależności od etapu. W <em>pre-trainingu</em> operuje się na teratokenach, czyli ogromnych ilościach. W porównaniu do Lamy 3, korpusy danych używane w polskich modelach, np. Bieliku, są stosunkowo małe. Dlatego trenuje się je zazwyczaj metodą kontynuowanego <em>pre-trainingu</em>.</p>



<p>W <em>fine-tuningu</em> liczba instrukcji waha się od 10 tysięcy dla specyficznych zadań, do milionów dla modeli ogólnych. Bielik 2 posiada obecnie 5 milionów instrukcji, co jest bardzo dużą liczbą.</p>



<p>Podsumowując, dane stanowią kluczowy element w procesie tworzenia modeli <em>AI</em>. Ich ilość, jakość, zróżnicowanie i dostosowanie mają ogromny wpływ na końcowy efekt. Warto poświęcić im dużo uwagi, przemyśleć każdy aspekt i zadbać o jak najlepsze zbiory treningowe. Bo to, co włożymy do danych, otrzymamy później na wyjściu.</p>



<h2 class="wp-block-heading">Optymalizacja danych treningowych w modelach językowych AI</h2>



<p>Nasze badania wskazują, że nawet dla dużego modelu językowego <em>AI</em> 10 tysięcy instrukcji już robi robotę. Ten <em>dataset</em> jest bardzo mały w stosunku do poprzednich zbiorów danych. Oznacza to, że jesteśmy w stanie zmienić sposób odpowiedzi modelu, np. z bardzo krótkich na bardziej rozbudowane, jak w przypadku ChatGPT. Możemy całkowicie odwrócić działanie modelu za pomocą odpowiednio dobranych instrukcji.</p>



<p>W procesie treningu modeli <em>AI</em> wyróżniamy trzy fazy:</p>



<ol>
<li><em>Pre-training</em> &#8211; tutaj liczy się przede wszystkim masa danych, im więcej tym lepiej.</li>



<li>Pośredni <em>fine-tuning</em> &#8211; w tej fazie wykorzystuje się zdecydowanie mniej danych.</li>



<li><em>Alignment</em> &#8211; ostatni etap, gdzie używa się już naprawdę niewielkiej liczby dokumentów.</li>
</ol>



<p>Obecnie prowadzimy badania nad wykorzystaniem uczenia wzmacnianego w ostatniej fazie <em>alignmentu</em>. Chcemy, aby nasz model Bielik 2, którego premiera planowana jest na lipiec, przechodził przez wszystkie trzy etapy: <em>pre-training</em>, <em>fine-tuning</em> i uczenie wzmacniane. Ma to na celu dalszą poprawę jakości działania <em>AI</em>. Wstępne wyniki są bardzo obiecujące &#8211; obserwujemy znaczny przyrost jakości po <em>fine-tuningu</em> i kolejny po zastosowaniu uczenia wzmacnianego. To potwierdza słuszność podejścia stosowanego m.in. przez OpenAI.</p>



<h2 class="wp-block-heading">Ogromna skala danych treningowych</h2>



<p>Aby lepiej zrozumieć skalę danych używanych do treningu modeli <em>AI</em>, przytoczę taki obrazowy przykład. Popularna książka &#8222;Harry Potter i Kamień Filozoficzny&#8221; ma około 100 tysięcy tokenów. Oznaczenia literowe ilości tokenów to K (tysiące), M (miliony), B (miliardy) i T (biliony). Żeby dojść do skali T, potrzeba aż 10 milionów takich książek jak Harry Potter! Model Llama 3 trenowano na 15 bilionach tokenów, to naprawdę ogromna ilość danych.</p>



<p>Kiedyś w świecie <em>AI</em> panowało podejście &#8222;im więcej danych, tym lepiej&#8221;. Wrzucano ogromne ilości treści licząc, że model jakoś sobie z tym poradzi. Jednak w ciągu ostatniego roku trend się odwrócił. Coraz więcej osób zwraca uwagę na kluczowe znaczenie jakości danych treningowych. Twórcy modelu Llama 3 chwalili się, że mocno popracowali nad tym aspektem, wprowadzając m.in. klasyfikatory poprawiające jakość <em>datasetu</em>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" src="https://biznesmysli.pl/wp-content/uploads/2024/07/17.harry-potter-i-kamien-filozoficzny-tom-1-b-iext145472895.jpg" alt="" class="wp-image-11328" style="width:302px;height:436px" width="302" height="436" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/17.harry-potter-i-kamien-filozoficzny-tom-1-b-iext145472895.jpg 640w, https://biznesmysli.pl/wp-content/uploads/2024/07/17.harry-potter-i-kamien-filozoficzny-tom-1-b-iext145472895-208x300.jpg 208w" sizes="(max-width: 302px) 100vw, 302px" /></figure></div>


<h2 class="wp-block-heading">Potencjał współpracy nad polskim modelem językowym</h2>



<p>Kiedy odwiedzam targi książki na Stadionie Narodowym, patrząc na ogrom zgromadzonych tam publikacji, od razu myślę o potencjale tych treści dla polskich modeli językowych <em>AI</em>. Oczywiście rozumiem obawy wydawców i autorów o ochronę ich pracy. Nie chodzi o to, by nagle uwolnić wszystkie książki do modeli. Jednak na pewno są takie dane, które za zgodą twórców mogłyby wejść do narodowego modelu językowego, bardzo go wzmacniając.</p>



<p>W Polsce mamy obecnie problem z dostępem do danych, by móc konkurować z gigantami jak OpenAI czy Anthropic. Jednak w kontekście modeli Mistrala, twierdzę, że w ciągu roku będziemy mieli lepsze rozwiązania dla języka polskiego. Już teraz w benchmarkach widać, że model Bielik 2.0 przebija modele Mistrala 7B w kontekście polszczyzny.</p>



<p>Jestem wielkim fanem wszystkich organizacji pracujących nad modelami językowymi w Polsce. Martwi mnie jednak pewne konkurowanie i ściganie się zamiast współpracy. Mamy w kraju bardzo niewiele osób z doświadczeniem w tym obszarze. Dlatego marzę o tym, by kiedyś usiedli oni razem i stworzyli naprawdę potężny polski model językowy. Taki, który mógłby konkurować na arenie międzynarodowej, np. z rozwiązaniami Mistrala.</p>



<h2 class="wp-block-heading">Koszty trenowania modeli językowych</h2>



<p>Trenowanie modeli <em>AI</em> na ogromnych zbiorach danych wymaga bardzo dużej mocy obliczeniowej, a co za tym idzie, generuje spore koszty. Wielkość modelu wpływa bezpośrednio na czas i zasoby potrzebne do jego wytrenowania.</p>



<p>By zobrazować skalę &#8211; model o wielkości 10 miliardów parametrów (10B) wymaga już bardzo dużo godzin pracy kart graficznych (<em>GPU</em>). A modele 100B to jeszcze wyższy poziom. Wszystko zależy też od wybranego podejścia &#8211; można kupić własny sprzęt, wynająć zasoby obliczeniowe w chmurze albo zbudować partnerstwo jak w przypadku Bielika.</p>



<p>Projekt Bielik miał to szczęście, że nawiązał współpracę z Cyfronetem, który dysponuje najpotężniejszym superkomputerem w Polsce. Maszyna HPE Cray o nazwie Prometheus jest 55. najpotężniejszym komputerem na świecie i 3. pod względem ekologiczności. Cyfronet udostępnił te zasoby, aby przetestować i &#8222;wygrzać&#8221; maszynę, a jednocześnie umożliwił trening polskiego modelu <em>AI</em>.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="717" src="https://biznesmysli.pl/wp-content/uploads/2024/07/20.green500_list-1024x717.png" alt="" class="wp-image-11331" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/20.green500_list-1024x717.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/07/20.green500_list-300x210.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/07/20.green500_list-768x538.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/07/20.green500_list-1536x1075.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/07/20.green500_list-2048x1434.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/07/20.green500_list-1140x798.png 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>To pokazuje, jak owocna może być współpraca nauki i biznesu w tym obszarze. Cyfronet dysponuje unikalną wiedzą na światowym poziomie, a jednocześnie potrzebuje ambitnych zadań, by w pełni wykorzystać potencjał superkomputerów. Z kolei twórcy SpeakLeash początkowo planowali tylko stworzyć zbiór danych, ale dzięki dostępowi do takich zasobów obliczeniowych, mogli pokusić się o wytrenowanie całego modelu.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="900" height="692" src="https://biznesmysli.pl/wp-content/uploads/2024/07/19.hellion_cyfronet.jpeg" alt="" class="wp-image-11350" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/19.hellion_cyfronet.jpeg 900w, https://biznesmysli.pl/wp-content/uploads/2024/07/19.hellion_cyfronet-300x231.jpeg 300w, https://biznesmysli.pl/wp-content/uploads/2024/07/19.hellion_cyfronet-768x591.jpeg 768w" sizes="(max-width: 900px) 100vw, 900px" /></figure>



<p>Warto aby w przyszłości będziemy obserwować w Polsce więcej tego typu partnerstw. To da szansę stworzenia modeli językowych <em>AI</em>, które nie tylko doskonale rozumieją polszczyznę, ale też osiągają najwyższą jakość w skali globalnej. Wymaga to przekroczenia wcześniejszych podziałów i wspólnego działania osób, firm i instytucji, które mają odpowiednią wiedzę i zasoby. Wierzę, że stać nas na to, by kiedyś obok OpenAI, Anthropic i Mistrala wymieniano także polski model jako czołowe osiągnięcie w dziedzinie <em>AI</em>.</p>



<h2 class="wp-block-heading">Moc obliczeniowa przeznaczona na trening modeli AI w Cyfronecie</h2>



<p>Cyfronet, największy superkomputer w Polsce, dysponuje imponującą mocą obliczeniową. Maszyna składa się z 75 tysięcy rdzeni CPU i aż 196 terabajtów pamięci RAM. Dodatkowo, posiada 110 węzłów, z których każdy wyposażony jest w cztery jednostki GPU. Łącznie daje to 440 kart graficznych GH200 &#8211; obecnie najsilniejszych procesorów dostępnych na rynku. Jeden taki procesor jest nawet 8-10 razy szybszy od silnego A100.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="1004" src="https://biznesmysli.pl/wp-content/uploads/2024/07/21.gh200-1024x1004.jpg" alt="" class="wp-image-11335" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/21.gh200-1024x1004.jpg 1024w, https://biznesmysli.pl/wp-content/uploads/2024/07/21.gh200-300x294.jpg 300w, https://biznesmysli.pl/wp-content/uploads/2024/07/21.gh200-768x753.jpg 768w, https://biznesmysli.pl/wp-content/uploads/2024/07/21.gh200-1536x1507.jpg 1536w, https://biznesmysli.pl/wp-content/uploads/2024/07/21.gh200-1140x1118.jpg 1140w, https://biznesmysli.pl/wp-content/uploads/2024/07/21.gh200-75x75.jpg 75w, https://biznesmysli.pl/wp-content/uploads/2024/07/21.gh200.jpg 1772w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Wszystkie te jednostki są połączone bardzo szybką siecią, co umożliwia synchronizację stanów podczas treningu rozproszonych modeli AI. Chłodzenie zapewnia zaawansowany system przepływu wody przez bloki chłodzące. To prawdziwy majstersztyk inżynieryjny.</p>



<p>Bielik, jeden z polskich modeli językowych, był pretrenowany na 256 kartach GPU w Cyfronecie. Był to największy do tej pory trening przeprowadzony w Polsce. Dla porównania, Meta dysponuje aż 330 tysiącami kart A100, co daje im nieporównywalnie większe możliwości.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="744" src="https://biznesmysli.pl/wp-content/uploads/2024/07/22.meta_350k_gpus-1024x744.jpg" alt="" class="wp-image-11332" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/22.meta_350k_gpus-1024x744.jpg 1024w, https://biznesmysli.pl/wp-content/uploads/2024/07/22.meta_350k_gpus-300x218.jpg 300w, https://biznesmysli.pl/wp-content/uploads/2024/07/22.meta_350k_gpus-768x558.jpg 768w, https://biznesmysli.pl/wp-content/uploads/2024/07/22.meta_350k_gpus-1140x828.jpg 1140w, https://biznesmysli.pl/wp-content/uploads/2024/07/22.meta_350k_gpus.jpg 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Optymalizacja wykorzystania zasobów</h2>



<p>W Cyfronecie pracują specjaliści, którzy dbają o maksymalne wykorzystanie mocy obliczeniowej podczas treningów. Monitorują metryki wydajności, optymalizują frameworki i dbają, by maszyna pracowała na krawędzi możliwości bez ryzyka awarii. Krzysiek Ociepa, lider strumienia pre-treningu i <em>fine-tuningu</em>, stworzył autorski framework pozwalający wycisnąć z maszyny jak najwięcej.</p>



<p>Dzięki temu, nawet krótkie kilkunastogodzinne treningi pozwalają uzyskiwać wysokiej jakości modele przy optymalnym zużyciu zasobów. Kolejne etapy jak <em>fine-tuning</em> czy <em>preference optimization</em> wymagają już znacznie mniejszej mocy obliczeniowej i mogą być realizowane nawet na pojedynczych węzłach czy maszynach lokalnych.</p>



<h2 class="wp-block-heading">Koszty trenowania modeli językowych</h2>



<p>Choć dokładne kwoty nie są ujawniane, wiadomo, że pre-training to bardzo kosztowny etap. Dla modelu wielkości 7-10B parametrów koszt może sięgać 100-150 tysięcy dolarów. Modele 70-100B to już wydatek rzędu milionów dolarów. Kolejne etapy jak <em>fine-tuning</em> są już znacznie tańsze.</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://biznesmysli.pl/wp-content/uploads/2024/07/25.llama2_a100-1-1024x384.png" alt="" class="wp-image-11338" style="width:840px;height:315px" width="840" height="315" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/25.llama2_a100-1-1024x384.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/07/25.llama2_a100-1-300x113.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/07/25.llama2_a100-1-768x288.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/07/25.llama2_a100-1-1536x577.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/07/25.llama2_a100-1-2048x769.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/07/25.llama2_a100-1-1140x428.png 1140w" sizes="(max-width: 840px) 100vw, 840px" /></figure>



<p>Tak wysokie koszty wynikają z ogromnego zapotrzebowania na moc obliczeniową. Dla przykładu model Llama 2 o wielkości 7B trenowany był przez 100-180 tysięcy godzin GPU na kartach A100. Wynajęcie takiej mocy to wydatek rzędu 1-2 dolarów za godzinę GPU.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img decoding="async" src="https://biznesmysli.pl/wp-content/uploads/2024/07/26.rent_a100.png" alt="" class="wp-image-11339" style="width:389px;height:278px" width="389" height="278" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/26.rent_a100.png 574w, https://biznesmysli.pl/wp-content/uploads/2024/07/26.rent_a100-300x214.png 300w" sizes="(max-width: 389px) 100vw, 389px" /></figure></div>


<p>Optymalizacja wykorzystania zasobów jest więc kluczowa dla uzyskania jak najlepszych rezultatów przy ograniczonym budżecie. W Cyfronecie udaje się uzyskiwać ponad 95% utylizacji mocy obliczeniowej podczas treningów.</p>



<h2 class="wp-block-heading">Narzędzia wykorzystywane w treningu modeli językowych</h2>



<p>W Bieliku 1 wykorzystywaliśmy Ollama Krzyśka, a w Bieliku 2 sięgnęliśmy po Megatrona od NVIDIA. Bielik 2 to model o innych parametrach &#8211; ma 11 miliardów parametrów, czyli jest większy od poprzednika. Ponadto, rozszerzyliśmy kontekst wejściowy do 32 tysięcy znaków, czyli znacznie więcej niż standardowe 4 tysiące znaków w modelu Mistral.</p>



<p>Społeczność odebrała Bielika bardzo pozytywnie. Pierwsze głosy, które do nas dotarły, mówiły: &#8222;Dajcie większy kontekst&#8221;. Słuchamy opinii osób, które do nas przychodzą. Bielik i SpeakLeash to otwarte społeczności, skupiające obecnie najlepszych w Polsce specjalistów wymieniających się doświadczeniami z zakresu <em>LLM</em>. Wsłuchujemy się w ich potrzeby.</p>



<p>Zwiększenie kontekstu do 32 tysięcy znaków spowodowało problemy z wepchnięciem modelu do treningu nawet na dużej maszynie. Im więcej danych wchodzi, tym bardziej rozszerzają się wewnętrzne stany modelu i potrzeba znacznie więcej pamięci. Musieliśmy sięgnąć po dodatkowe techniki rozpraszające pewne rzeczy na maszynach i node&#8217;ach. Tu z pomocą przyszedł nam Megatron.</p>



<p>W fine-tuningu używamy dwóch narzędzi. Pierwsze to Ollama Krzyśka, napisane w czystym <em>PyTorch</em> przez Metę. Nie wykorzystuje ono dodatkowych bibliotek jak Transformers, przez co jest bardziej wydajne przy trenowaniu na dużych maszynach.</p>



<p>Transformers od Hugging Face świetnie sprawdza się w szybkim prototypowaniu rozwiązań, jednak nie jest optymalne wydajnościowo przy trenowaniu na dużych maszynach. Prędkość jest wtedy mniejsza, a wykorzystanie sprzętu gorsze.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="293" src="https://biznesmysli.pl/wp-content/uploads/2024/07/28.llama-factory-1024x293.png" alt="" class="wp-image-11341" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/28.llama-factory-1024x293.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/07/28.llama-factory-300x86.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/07/28.llama-factory-768x219.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/07/28.llama-factory-1140x326.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/07/28.llama-factory.png 1400w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Drugim frameworkiem, z którego korzystamy, jest LLaMA-Factory. Próbowaliśmy też Axolotla, ale oba te narzędzia bazują na bibliotece Transformers. Ku naszemu zdziwieniu, wydajność Axolotla jest zdecydowanie niższa niż LLaMA-Factory. Być może to kwestia konfiguracji środowiska, ale jak dotąd nie udało nam się ustawić Axolotla tak efektywnie. Dlatego do ostatniego etapu używamy LLaMA-Factory.</p>



<h2 class="wp-block-heading">Kiedy warto sięgnąć po fine-tuning modeli językowych?</h2>



<p>Wśród niektórych osób pokutuje mit, że fine-tuning to rozwiązanie na wszystko. Mamy dane, więc trzeba model dotrenować. Osoby bardziej techniczne również podchodzą do tego zbyt lekko &#8211; dotrenowują mały wycinek, aby lepiej radzić sobie z danymi. Jednak to nie wszystko. Taki zabieg może zepsuć cały dotychczasowy model i więcej stracić niż zyskać.</p>



<p>Osobiście jestem przeciwnikiem nadużywania fine-tuningu. Istnieją lepsze metody korzystania z modeli językowych. Pierwszą z nich jest <em>prompt engineering</em>. Widzimy w Bieliku, jak ludzie czatują i jakich promptów używają. Najczęściej są to proste konstrukcje, bez zaawansowanych technik. Tymczasem istnieje ponad 58 sprawdzonych sposobów na poprawę odpowiedzi modelu poprzez odpowiednie promptowanie.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="825" height="1024" src="https://biznesmysli.pl/wp-content/uploads/2024/07/29.taxonomy_prompting_2-825x1024.png" alt="" class="wp-image-11343" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/29.taxonomy_prompting_2-825x1024.png 825w, https://biznesmysli.pl/wp-content/uploads/2024/07/29.taxonomy_prompting_2-242x300.png 242w, https://biznesmysli.pl/wp-content/uploads/2024/07/29.taxonomy_prompting_2-768x953.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/07/29.taxonomy_prompting_2-1238x1536.png 1238w, https://biznesmysli.pl/wp-content/uploads/2024/07/29.taxonomy_prompting_2-1140x1415.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/07/29.taxonomy_prompting_2.png 1626w" sizes="(max-width: 825px) 100vw, 825px" /></figure>



<p>W 90% przypadków promptowanie w zupełności wystarczy do osiągnięcia bardzo dobrych wyników, bez konieczności kosztownego obliczeniowo fine-tuningu. Zachęcam do nauki zaawansowanych technik promptowania, a nie tylko bazowego &#8222;napisz coś tam&#8221;.</p>



<p>Drugim ważnym elementem jest kontekst, czyli wiedza modelu. Szeroki kontekst zdecydowanie rozszerza możliwości modeli typu <em>GPT</em>. Jednak tu również dominuje naiwne podejście. Największym wyzwaniem jest odpowiednie przygotowanie danych do wyszukiwania (<em>retrieval</em>), aby później zasilić nimi model językowy (<em>LLM</em>). To bardzo szeroki i skomplikowany temat, wymagający specjalizacji.</p>



<p>Dopiero na samym końcu jest miejsce na fine-tuning. Promptowanie nie zepsuje modelu, <em>retrieval-augmented generation</em> (<em>RAG</em>) może, jeśli źle używamy retrievalu, ale sam model pozostanie nietknięty. Natomiast fine-tuning najczęściej od razu psuje model. Dotyczy bardzo wąskich zastosowań.</p>



<p>Dlatego sugeruję następującą kolejność działań:</p>



<ol>
<li>Promptowanie z odpowiednimi parametrami zapytania (temperatura, <em>top-p</em>, <em>top-k</em> itp.)</li>



<li><em>RAG</em>, jeśli potrzebujemy szerszego kontekstu</li>



<li>Fine-tuning, ale tylko w uzasadnionych przypadkach</li>
</ol>



<p>Trzeba przekonać siebie i innych, że fine-tuning jest naprawdę potrzebny. Osoby niezajmujące się nim na co dzień bardzo go chcą, a specjaliści podchodzą do tematu z dużą ostrożnością, wiedząc z czym to się wiąże.</p>



<p>Oczywiście są sytuacje, gdy fine-tuning jest wskazany. Inaczej wygląda to w przypadku modeli wizyjnych czy klasycznego uczenia maszynowego. Tam często tworzy się modele od zera lub fine-tunuje generyczne rozwiązania. Natomiast w przypadku modeli językowych mamy już wiele sprawnych rozwiązań po fine-tuningu, zarówno zamkniętych, jak i open-source&#8217;owych.</p>



<p>Fine-tuning warto rozważyć, gdy mamy do czynienia z bardzo wąską domeną dziedzinową, np. chcemy dostosować model ogólny do zastosowań medycznych. Wtedy może to przynieść korzyści.## Kiedy warto rozważyć fine-tuning modelu językowego?</p>



<p>Fine-tuning warto rozważyć, gdy mamy do czynienia z bardzo wąską domeną dziedzinową, np. chcemy dostosować model ogólny do zastosowań medycznych. Wtedy może to przynieść korzyści.</p>



<p>Kolejna sytuacja, w której fine-tuning może być dobrym rozwiązaniem, to gdy techniki promptowania są uciążliwe. Jeśli za każdym razem model odpowiada nie do końca tak, jak byśmy chcieli, a zależy nam na ustalonym formacie odpowiedzi, np. zawsze w formacie JSON z czterema polami, to nie ma potrzeby ciągle rozbudowywać promptu i dodawać skomplikowanych instrukcji. Lepiej wtedy postawić na fine-tuning.</p>



<p>Fine-tuning sprawdzi się też, gdy zależy nam na bardzo szybkim modelu, który moglibyśmy hostować samodzielnie. Tutaj w grę wchodzą takie elementy jak szybkość, bezpieczeństwo, hostowanie wewnętrzne i koszty. Tworząc model specyficzny dla swojej branży, mamy swój własny model, który możemy uruchomić na własnej infrastrukturze. Taki model jest bezpieczny &#8211; wrażliwe dane, np. medyczne, nie wychodzą nawet do chronionej chmury.</p>



<p>Ostatnim przypadkiem, w którym warto rozważyć fine-tuning, jest sytuacja, gdy chcemy nadać modelowi jakiś ogólny kontekst, np. związany z konkretnym językiem. Jeśli zależy nam, aby model wiedział, co to jest żurek, parówka czy rozumiał idiomy, to fine-tuning może okazać się dobrym rozwiązaniem.</p>



<p>Warto jednak pamiętać, że w zdecydowanej większości przypadków (ponad 99%) fine-tuning nie jest potrzebny. Zanim zdecydujemy się na ten krok, warto znaleźć przekonujące argumenty.</p>



<h2 class="wp-block-heading">Co nowego w Bieliku 2?</h2>



<p>Bielik to model językowy dostępny w wersji pierwszej, nad którym obecnie trwają prace nad ulepszeniem. Wersja druga, choć jeszcze nie jest publicznie dostępna, wprowadza wiele usprawnień.</p>



<p>Przede wszystkim Bielik 2 bazuje na znacznie większym korpusie danych. To model 11B (11 miliardów parametrów), czyli większy niż pierwsza wersja. Została też zmieniona architektura modelu poprzez zwiększenie liczby warstw atencji. Kontekst wejściowy został rozszerzony do 32 tysięcy tokenów, co pozwala na przetwarzanie o wiele dłuższych tekstów.</p>



<p>W Bieliku 2 dodano wstępne wsparcie dla <em>Function Calling</em>, choć nie będzie to jeszcze finalny produkt w tej wersji. Przygotowano również odpowiednie tokenizacje i template chata pod <em>Function Calling</em>. W pełni będzie on dostępny prawdopodobnie w Bieliku 3.</p>



<p>Bielik 2 zostanie wytrenowany na konwersacjach (ponad 5 milionów instrukcji), a nie tylko prostych poleceniach. Wprowadzone zostanie też uczenie wzmacniane (<em>Preferences Optimization</em>) służące do dostrajania i dostosowywania modelu.</p>



<p>Dostępne będą wszystkie wersje kwantyzacyjne, co pozwoli na uruchomienie modelu na mocniejszych maszynach, laptopach, a nawet w trybie offline. Przygotowane zostaną też specjalne wersje zoptymalizowane pod kątem sprzętu NVIDIA (TensorRT) oraz środowiska VLLM dla jeszcze szybszej generacji odpowiedzi.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="420" height="120" src="https://biznesmysli.pl/wp-content/uploads/2024/07/30.vllm_logo.png" alt="" class="wp-image-11348" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/30.vllm_logo.png 420w, https://biznesmysli.pl/wp-content/uploads/2024/07/30.vllm_logo-300x86.png 300w" sizes="(max-width: 420px) 100vw, 420px" /></figure></div>


<p>Bielik 2 w testach wypada znacznie lepiej niż pierwsza wersja we wszystkich benchmarkach. Trwają jeszcze prace nad poprawkami zgłaszanymi przez testerów, ale już teraz widać, że będzie to model o bardzo wysokiej jakości.</p>



<h2 class="wp-block-heading">W stronę multimodalności</h2>



<p>W planach rozwoju Bielika jest też stworzenie modelu multimodalnego, który zostanie wydany prawdopodobnie w trzecim lub czwartym kwartale tego roku. Trening takiego modelu jest prostszy niż trenowanie samego <em>LLM</em>.</p>



<p>Bielik 2 posłuży jako podstawa modelu multimodalnego &#8211; będzie pełnił rolę enkodera językowego. Zostanie on połączony ze standardowym modelem wizyjnym. Do przygotowania datasetu treningowego również planowane jest wykorzystanie Bielika 2, aby automatycznie wygenerować opisy dużej liczby zdjęć.</p>



<p>Cały projekt Bielika stawia na niezależność i wykorzystanie własnych narzędzi. Twórcy chcą podążać tą czystą ścieżką, unikając używania modeli innych firm do generowania treści treningowych.## Dążenie do niezależności i użyteczności</p>



<p>Cały projekt Bielika stawia na niezależność i wykorzystanie własnych narzędzi. Twórcy chcą podążać tą czystą ścieżką, unikając używania modeli innych firm do generowania treści treningowych.</p>



<p>Zespół SpeakLeash jest bardzo ukierunkowany na użyteczność. Przeprowadzili dodatkowe badania ankietowe, aby sprawdzić, do czego ludzie i firmy wykorzystują duże modele językowe (<em>LLM</em>). Zebrano kilkaset odpowiedzi, które pozwoliły lepiej zrozumieć potrzeby użytkowników. Celem jest tworzenie modeli, które będą miały realne zastosowanie biznesowe.</p>



<p>Co więcej, SpeakLeash chce umożliwić firmom instalację modeli na własnej infrastrukturze. Poza ewentualnym udostępnieniem <em>API</em>, główną ideą jest to, aby modele były jak najbardziej użyteczne i dostępne dla biznesu. Chodzi o to, żeby dać narzędzia w ręce firm i uniezależnić je od SpeakLeash.</p>



<p>Kwantyzacja modeli ma na celu demokratyzację polskich <em>LLM</em>. Celem jest dotarcie z rodzimymi produktami do jak najszerszego grona odbiorców. Bielik 2 ma przynieść kolejne ulepszenia, w tym adaptacje pod <em>VLLM</em>, aby jeszcze lepiej wykorzystać potencjał modeli w praktyce.</p>



<h2 class="wp-block-heading">Otwartość i zaangażowanie społeczności</h2>



<p>Jednym z wyzwań przy pierwszej wersji Bielika była licencja non-commercial, która mogła ograniczać wykorzystanie modelu przez biznes. Wynikało to z warunków licencji danych użytych do trenowania. Jednak już model bazowy i instrukcyjny w drugiej wersji mają być otwarte i umożliwiać komercyjne zastosowania. Fundacja SpeakLeash podjęła kroki prawne, aby to osiągnąć.</p>



<p>Warto podkreślić, że cały projekt SpeakLeash opiera się na wolontariacie i pasji. Ludzie pracują nad nim po godzinach, bez wynagrodzenia, dzieląc się efektami swojej pracy ze światem. Przekształcenie inicjatywy w fundację pozwoliło zyskać osobowość prawną i być poważniej postrzeganym przez firmy i inne organizacje.</p>



<p>Otwartość przejawia się też w udostępnianiu modeli. Każdy może je pobrać np. z Hugging Face i uruchomić lokalnie, nawet bez dostępu do internetu. To sprawia, że polska <em>AI</em> staje się dostępna dla szerokiego grona odbiorców.</p>



<h2 class="wp-block-heading">Podsumujmy</h2>



<p>Trenowanie modeli od zera składa się z wielu etapów. Pierwszym z nich jest pre-trenowanie, którego wynikiem jest model bazowy (pre-trained). Pre-trenowanie może startować od losowych parametrów lub kontynuować pracę rozpoczętą przez kogoś innego. Na przykład Bielik bazuje na wagach z modelu Mistral.</p>



<p>Faza pre-trenowania jest najtrudniejsza i wymaga ogromnych ilości danych. Liczba tokenów idzie w biliony, a czasem nawet cały internet to za mało. Firmy jak OpenAI sięgają po dodatkowe źródła, np. transkrypcje z YouTube. Sam proces trwa bardzo długo i generuje wysokie koszty &#8211; setki tysięcy dolarów, porównywalne z ceną mieszkania.</p>



<p></p>



<figure class="wp-block-image size-full"><img decoding="async" width="935" height="513" src="https://biznesmysli.pl/wp-content/uploads/2024/07/11.scheme_fine_tune_alighment-1.jpeg" alt="" class="wp-image-11345" srcset="https://biznesmysli.pl/wp-content/uploads/2024/07/11.scheme_fine_tune_alighment-1.jpeg 935w, https://biznesmysli.pl/wp-content/uploads/2024/07/11.scheme_fine_tune_alighment-1-300x165.jpeg 300w, https://biznesmysli.pl/wp-content/uploads/2024/07/11.scheme_fine_tune_alighment-1-768x421.jpeg 768w" sizes="(max-width: 935px) 100vw, 935px" /></figure>



<p>Po pre-treningu otrzymujemy model bazowy, który posiada wiedzę, ale nie potrafi jeszcze rozmawiać z ludźmi. Potrzebny jest kolejny etap &#8211; fine-tuning, dzielący się na kilka rodzajów. Pierwszy z nich to dostrojenie nadzorowane <em>Supervised Fine Tuning (SFT)</em>, gdzie modelowi wskazuje się odpowiedzi na konkretne prompty. Uczy się go, jak reagować na pytania i polecenia użytkowników.</p>



<p>Część tego procesu można później zautomatyzować, ale trzeba uważać &#8211; jeśli instrukcje pochodzą z modeli zabraniających komercyjnego użycia (np. niektóre wersje GPT czy Llama), to wytrenowany na nich model również staje się niekomercyjny.</p>



<p>Po <em>SFT</em> model potrafi już prowadzić rozmowę, ale mogą pojawiać się różne problemy, np. generowanie wielu alternatywnych odpowiedzi bez oceny, która jest najlepsza. Tutaj z pomocą przychodzi <em>Reinforcement Learning from Human Feedback (RLHF)</em>. Człowiek ocenia nieliczne odpowiedzi modelu, ustalając ranking od najlepszej do najgorszej. Następnie za pomocą technik <em>Reinforcement Learning</em> te ludzkie preferencje są wychwytywane i proces oceny jest automatyzowany. Dzięki temu model &#8222;uczy się myśleć&#8221; jak człowiek.</p>



<p>Kolejnym wyzwaniem jest radzenie sobie z nieetycznymi pytaniami użytkowników. Model musi rozpoznać takie zapytania i grzecznie odmówić odpowiedzi. Najnowsze rozwiązania, np. od firmy Anthropic, wplatają te zabezpieczenia bardzo głęboko w architekturę modelu.</p>



<p>Podsumowując, tworzenie modeli <em>AI</em> to wieloetapowy, zrównoważony proces. Trzeba uważać, aby późniejsze modyfikacje (np. <em>fine-tuning</em>) nie zaburzyły tej delikatnej struktury. Wymaga to dużej wiedzy i ostrożności &#8211; jak przebudowa domu przez doświadczonego inżyniera. W większości przypadków nie ma takiej potrzeby, a z pomocą przychodzą zaawansowane techniki <em>promptowania</em>. Temat będę poszerzał w kolejnych wątkach, obserwuj mnie :).</p>



<p></p>



<p>Na koniec. Poleć ten odcinek co najmniej jednej osobie, której warto go posłuchać.</p>
<p>Artykuł <a href="https://biznesmysli.pl/fine-tuning-llm-fakty-i-mity/">Fine-tuning LLM: fakty i mity</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://biznesmysli.pl/fine-tuning-llm-fakty-i-mity/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>7 Mitów o sztucznej inteligencji</title>
		<link>https://biznesmysli.pl/7-mitow-o-sztucznej-inteligencji/</link>
					<comments>https://biznesmysli.pl/7-mitow-o-sztucznej-inteligencji/#respond</comments>
		
		<dc:creator><![CDATA[Vladimir]]></dc:creator>
		<pubDate>Wed, 19 Jun 2024 07:00:00 +0000</pubDate>
				<category><![CDATA[LLM]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[uczenie maszynowe]]></category>
		<guid isPermaLink="false">https://biznesmysli.pl/?p=11221</guid>

					<description><![CDATA[<p>Wprowadzenie Cześć! Nazywam się Vladimir Alekseichenko i witam Cię w podcaście &#8222;Biznes Myśli&#8221; &#8211; Twoim sprawdzonym źródle informacji na temat sztucznej inteligencji. Jako praktyk z wieloletnim doświadczeniem we wdrażaniu modeli machine learningu w celu generowania zysków, chcę wraz z gośćmi zgłębiać tajniki AI i ML. Będziemy rozmawiać o tym, co jest ważne i jakie możliwości oraz korzyści te technologie mogą przynieść Tobie lub Twojej firmie. Podcast powstaje przy wsparciu założonej przeze mnie spółki DataWorkshop, zajmującej się praktycznym uczeniem maszynowym. Jeśli potrzebujesz wytrenować modele, wdrożyć je, skonsultować pomysły, a może nauczyć się robić to samodzielnie lub przeszkolić zespół &#8211; jesteśmy właściwym adresem. Zaufało nam już wiele osób, duże firmy i liderzy tacy jak Leroy, mBank czy Orange. Pamiętaj &#8211; świat zmieni się szybciej, niż myślisz. Zaczynamy! Powrót do mitów o AI W dzisiejszym, 122. odcinku podcastu, powrócimy do tematu mitów związanych ze sztuczną inteligencją. Już w kwietniu 2019, w 55. odcinku, omawiałem 10 najpopularniejszych mitów. Sprawdziłem je przed nagraniem &#8211; nadal są aktualne, choć o niektórych można podyskutować. Oto one w skrócie: Jeśli chcesz usłyszeć więcej, sięgnij po 55. odcinek w wersji audio lub tekstowej na stronie. Mity o LLM Dzisiaj jednak skupię się przede wszystkim na mitach związanych z LLM (Large Language Models), bo tych nawarstwiło się ostatnio sporo. W minionym miesiącu aktywnie uczestniczyłem w różnych wydarzeniach, meetupach i konferencjach &#8211; jako słuchacz i prelegent. Mimo że jestem raczej introwertykiem, starałem się rozmawiać z ludźmi, by lepiej zrozumieć, jak myślą o tych tematach. To normalne, że możemy się mylić, bo nie każdy ma czas, by dogłębnie śledzić, co się faktycznie dzieje. Źródła, z których czerpiemy wiedzę, bywają mniej sprawdzone niż Biznesowe Myśli, więc łatwo o nieporozumienia. Udało mi się wychwycić pewne powtarzające się wzorce myślenia, o których chciałbym dziś porozmawiać i je wyjaśnić. Choć nie wyczerpują one wszystkich mitów wartych omówienia, skupię się na siedmiu najważniejszych. Mit 1: Tylko ChatGPT się liczy Jeśli interesujesz się choć trochę tematami LLM i AI, to zapewne wiesz, że istnieją również inne modele poza ChatGPT. Jeśli interesujesz się choć trochę tematami LLM i AI, to zapewne wiesz, że istnieją również inne modele poza ChatGPT. Jednak wiele osób kojarzy przede wszystkim ChatGPT jako jedyny model do LLM, albo nawet nie wiedzą do końca, czym jest LLM, czyli duży model językowy, tylko bardziej odnoszą się do AI. Jeżeli popatrzysz na takie narzędzia jak np. Google Trends, zauważysz bardzo ciekawą korelację. Po wpisaniu modeli takich jak ChatGPT, Claude od Anthropic, Gemini od Google czy Llama od Facebooka, widać wyraźnie, że ChatGPT zajął prawie 100% rynku, jeżeli chodzi o rozpoznawalność. Co więcej, trendy dla haseł &#8222;AI&#8221; i &#8222;ChatGPT&#8221; również wykazują zauważalne podobieństwo. Prawie idealne, równoległe falowanie na wykresach. Choć utożsamianie ChatGPT z AI może być niebezpieczne, bo to na pewno nie jest tożsame, da się to w pewnym sensie wyjaśnić. Większość osób zaczęła na nowo myśleć o sztucznej inteligencji właśnie po pojawieniu się słynnej wersji 3.5 ChatGPT. Zamknięte i otwarte modele AI Warto wiedzieć, że poza ChatGPT istnieją też różne inne modele AI. Można je podzielić na zamknięte i otwarte. Zamknięte modele są udostępniane poprzez API. Oznacza to, że gdzieś w chmurze na cudzym komputerze działa taki model. Wysyłasz do niego zapytanie z tym, co chcesz uzyskać i dostajesz odpowiedź. Nie wiesz jednak, co dokładnie dzieje się w środku z danymi i jak są one przetwarzane. Przykładami zamkniętych modeli są OpenAI (mimo paradoksalnej nazwy bardziej pasowałoby ClosedAI), Anthropic z modelem Claude, Google z Gemini i kilka innych. Jeśli chodzi o otwarte modele, tutaj mamy więcej możliwości. Jednym z najbardziej znanych jest Llama od Facebooka. Aktualnie najnowsza wersja to Llama 3 dostępna w różnych wersjach &#8211; mniejszej 7B i większych, sięgających nawet 400 miliardów parametrów. Inne warte wspomnienia firmy z otwartymi modelami to Mistral czy Cohere. Mity na temat otwartych modeli AI Wokół tematu LLM nawarstwiło się kilka mitów, które warto wyjaśnić. Gdy mówimy, że model jest otwarty, nie zawsze oznacza to, że można go swobodnie używać komercyjnie. Przykładem jest popularny ostatnio w Polsce model Bielik. Gdy wejdziesz na jego stronę, zobaczysz, że jest on dostępny na licencji Creative Commons, ale z dopiskiem &#8222;non-commercial&#8221;. Czyli można go używać, trenować na nim, ale nie w celach biznesowych. Twórcy udostępnili go w takiej formie nie tylko ze swojej woli, ale też ze względu na kilka istotnych szczegółów pod spodem. Podsumowując, warto mieć świadomość różnorodności modeli AI i nie utożsamiać wszystkiego z ChatGPT. Jednocześnie trzeba uważać na pewne niuanse, jak choćby licencje otwartych modeli, które nie zawsze pozwalają na dowolne komercyjne wykorzystanie. Temat LLM i AI ciągle się rozwija, więc na pewno jeszcze nieraz usłyszymy o nowych, ciekawych rozwiązaniach w tym obszarze Różnorodność modeli AI &#8211; niuanse i wyzwania Aby powstała wersja Instruct modelu językowego, trzeba go wytrenować na zbiorze instrukcji. Część z nich została przygotowana przez zespół Bielika lub w podobny sposób, dzięki czemu można ich używać. Jednak druga część instrukcji została tak stworzona, że nie możemy ich później wykorzystywać komercyjnie. Na przykład, ChatGPT umożliwia generowanie tekstu, ale jeśli dotrenujesz swój model na podstawie tekstu powstałego z ChatGPT lub Lamy, to masz problem z użyciem komercyjnym. Nie możesz ulepszyć swojego modelu, wykorzystując inne modele, takie jak ChatGPT lub podobne, bo jest to zakazane. Oczywiście są tu różne strefy &#8211; de jure tego robić nie można, de facto, kto to wykryje, ale to zostawiam na własną odpowiedzialność każdego. Więc to ciekawostka &#8211; pierwszej wersji instrukcji Bielika nie można wykorzystywać komercyjnie. Kolejnym przykładem jest firma Cohera z Kanady, która ma teraz biuro w USA. Wypuścili oni model Command R i Command R+. Ten pierwszy jest całkiem fajny, jeżeli chodzi o reprezentację, wyciąganie tagów, czyli wzbogacenie i wyszukanie informacji. Problem w tym, że udostępnili go do pobrania każdemu, ale znów &#8211; nie możemy używać go komercyjnie. Nie znamy też do końca szczegółów, jak ten model został wytrenowany, więc nie możemy za bardzo cokolwiek z nim zrobić. Ciekawostką odnośnie Cohery jest dyskusja na Twitterze, gdzie ktoś zapytał, czemu model jest zamknięty. Odpowiedziano, że chodzi głównie o ograniczenie dużych graczy. Jeśli jesteś małym startupem, możesz do nich napisać i zobaczyć co da się zrobić. Być może umożliwią ci użycie komercyjne. Llama &#8211; najbardziej otwarta, ale z ograniczeniami Llama jest generalnie najbardziej otwarta ze wszystkich wymienionych rozwiązań. Możemy ją wykorzystywać komercyjnie, chyba że jesteś Google&#8217;em lub kimś podobnym. W licencji ciekawie opisano, że jeśli masz więcej niż miliony aktywnych użytkowników, to również nie możesz jej używać. Zrobiono to dla ograniczenia Big Tech&#8217;u, ale mniejsze firmy mogą korzystać. Lama zabrania też wykorzystywania tego modelu do usprawniania innych modeli niż ona sama, co również jest ciekawostką. Dlatego tą &#8222;otwartością&#8221; bywa różnie, dlatego uważaj, szczególnie jeśli chodzi o zastosowania komercyjne. Zawsze sprawdzaj, czy konkretny model faktycznie możesz użyć komercyjnie. Nawet jeśli wykryją, że wykorzystujesz model w szarej strefie, zakładamy że chodzi o odpowiedzialność. Zwracaj na to uwagę. Open source goni trendy Warto wspomnieć, że open source również próbuje gonić trendy. Na początku, kiedy ruszył ChatGPT, rozwiązania otwarte były bardzo w tyle, z dużą różnicą jakości. Natomiast teraz widzimy, że jeśli chodzi o leaderboardy, open source jest coraz bliżej poziomu modeli zamkniętych, co jest dobrą wiadomością. Mit 2: LLM i GenAI to coś innego niż ML Kolejny mit można było nazwać na kilka sposobów, ale ujmijmy to tak: LLM czy generatywna sztuczna inteligencja to coś innego niż machine learning albo uczenie maszynowe. Pewne rzeczy, które zostały opracowane w ML, w szczególności mówimy o wdrażaniu na produkcję, one nadal obowiązują również dla LLM. Nie ma cudów, nie ma magii, to wszystko jest nadal aktualne. LLM i generatywna AI to część szerszego obszaru machine learningu i sztucznej inteligencji. Wiele podstawowych zasad i technik ML nadal ma zastosowanie w tych nowszych podejściach. Sztuczna inteligencja (AI) to pojęcie, do którego dążymy. Chodzi o coś, co zachowuje się w inteligentny sposób. Na ten moment najlepszym narzędziem, które przybliża nas w kierunku AI, jest machine learning, czyli uczenie maszynowe. ML zawiera różne algorytmy i podejścia, w tym klasyczne, które nadal generują najwięcej wartości, ale też takie, które opierają się na sieciach neuronowych. Gdy ML staje się bardziej zaawansowany, mówimy o deep learningu, czyli głębokim uczeniu maszynowym. Jednym z rodzajów deep learningu są transformers. To właśnie tam pojawia się pojęcie NLP (Natural Language Processing) i LLM (Large Language Models). LLM na ten moment, z małymi wyjątkami, to głównie transformers. Mamy zatem taki ciąg: ML, deep learning, transformers, LLM. Warto zwrócić uwagę, że nie zawsze LLM równa się GenAI. Nie wszystkie LLM generują treść w postaci rozmowy, jak np. z chatem. Część LLM ma taki cel, a część nie &#8211; niektóre mają bardziej cel klasyfikacyjny. Jednak w większości przypadków, gdy mówi się o LLM, chodzi o GenAI, czyli tworzenie i generowanie pewnej wartości. Wcześniej zdarzały się problemy z odróżnieniem prototypu od rozwiązania gotowego do wdrożenia na produkcję (production-ready). Czasem, gdy w firmie powstawał prototyp, wyglądało to, jakby model był już gotowy do implementacji. To bardzo ryzykowne podejście. W przypadku LLM ta różnica jeszcze bardziej znacząco wzrosła. Pojawiły się duże wyzwania z odróżnieniem prototypu od rozwiązań, które rzeczywiście nadają się do wdrożenia na produkcję. Powstanie znanych frameworków, jak LangChain i kilku innych, z jednej strony umożliwia bardzo szybkie i łatwe generowanie prototypów. Czasem wystarczy dosłownie kilka linii kodu &#8211; pięć, dziesięć, może pięćdziesiąt &#8211; i już mamy działające rozwiązanie, które robi efekt &#8222;wow&#8221;. Jednak po wdrożeniu takiego rozwiązania można napotkać pewne problemy. Krzywa Gartnera a LLM Warto w tym kontekście zwrócić uwagę na tak zwaną krzywą Gartnera. Choć nie zawsze jest ona w pełni spójna, pewne sygnały, które można z niej odczytać, są przydatne. Patrząc na najnowszą krzywą z 2023 roku, widać, że LLM znajduje się na jej szczycie. Jak to bywa w życiu, nie ma rzeczy idealnych, są różne odcienie szarości. Mimo to sygnał informacyjny płynący z krzywej Gartnera jest wartościowy i warto go wziąć pod uwagę, myśląc o implementacji LLM w swojej organizacji. Niedługo będziemy świadkami zjawiska, gdy pojawi się wiele informacji sugerujących, że LLM nie działa zgodnie z oczekiwaniami i jest znacznie gorsze niż się wydawało. Źródłem problemu jest między innymi fakt, że dużo łatwiej jest zrobić prototyp niż przygotować stabilne rozwiązanie gotowe do wdrożenia. W dzisiejszych czasach niemal każdy może zrobić prototyp LLM, który robi wrażenie. Natomiast przygotowanie aplikacji, którą można bezpiecznie wdrożyć na produkcję tak, by biznes na tym nie tracił, to zupełnie inna para kaloszy. Występuje tu prawdziwa przepaść między prototypem a rozwiązaniem produkcyjnym. Problem ten nie jest nowy, ale w przypadku LLM i szerzej pojętej AI urósł do niespotykanych wcześniej rozmiarów. Warto mieć to na uwadze planując wykorzystanie tej technologii w swojej organizacji. Nie daj się zwieść łatwości, z jaką da się dziś stworzyć atrakcyjny prototyp. Droga do stabilnego rozwiązania biznesowego jest dużo dłuższa i bardziej wymagająca. Mit 3: Halucynacja to bug Czym jest halucynacja w kontekście AI? Formalnie rzecz biorąc, mamy z nią do czynienia, gdy LLM tworzy odpowiedź inną niż oczekiwana. Temat ten został już dość dobrze zbadany, powstało wiele publikacji naukowych i innych materiałów, które pozwalają zrozumieć ciekawe źródła tego problemu.Najważniejsza myśl, którą chciałbym Ci przekazać, to mechanika tego zjawiska. Halucynacja to nie jest bug. Owszem, to niepożądane zjawisko, kiedy nasz model tworzy rzeczy, na których biznes może stracić, ale spróbujmy zrozumieć tę mechanikę, bo dzięki temu będziesz lepiej tym zarządzać. Aby lepiej to zrozumieć, przytoczę pewną analogię. Wyobraź sobie farmera, który miał kurę. Zauważył on, że ta kura ma dwie części: przednią, która je ziarenka generując koszty, oraz tylną, która znosi jajka przynosząc zyski. Farmer pomyślał &#8211; co by tu zrobić, żeby pozbyć się tej przedniej części i zostawić tylko tylną? Idealnie, prawda? Problem w tym, że tak się nie da. Bez przedniej części, nie będzie też tylnej. To prawo natury.Podobnie jest z LLM. Ta halucynacja to nie bug, to sposób działania modelu. LLM cały czas marzy, fantazjuje. Za każdym razem, gdy dajemy mu konkretne zadanie, on zaczyna marzyć. Kiedy trafia w to, czego oczekujemy, cieszymy się. Ale gdy zwraca coś innego, pojawia się problem &#8211; przynajmniej dla nas. Zaczynamy narzekać, choć to nie jest wina LLM. Jeśli wyeliminujemy element marzenia, równie dobrze możemy w ogóle z niego nie korzystać. Zupełnie inną kwestią jest zastanowić się, skoro to jest wbudowane w rdzeń mechanizmu funkcjonowania LLM, co możemy zrobić? Jak...</p>
<p>Artykuł <a href="https://biznesmysli.pl/7-mitow-o-sztucznej-inteligencji/">7 Mitów o sztucznej inteligencji</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="BM122:  7 mitów o sztucznej inteligencji" width="960" height="540" src="https://www.youtube.com/embed/96wmVwvkoHU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p></p>



<h2 class="wp-block-heading">Wprowadzenie</h2>



<p>Cześć! Nazywam się Vladimir Alekseichenko i witam Cię w podcaście &#8222;Biznes Myśli&#8221; &#8211; Twoim sprawdzonym źródle informacji na temat sztucznej inteligencji. Jako praktyk z wieloletnim doświadczeniem we wdrażaniu modeli <em>machine learningu</em> w celu generowania zysków, chcę wraz z gośćmi zgłębiać tajniki <em>AI</em> i <em>ML</em>. Będziemy rozmawiać o tym, co jest ważne i jakie możliwości oraz korzyści te technologie mogą przynieść Tobie lub Twojej firmie.</p>



<p>Podcast powstaje przy wsparciu założonej przeze mnie spółki <a href="http://dataworkshop.eu?utm_source=biznesmysli&amp;utm_medium=podcast&amp;utm_term=122&amp;utm_content=article">DataWorkshop</a>, zajmującej się praktycznym uczeniem maszynowym. Jeśli potrzebujesz wytrenować modele, wdrożyć je, skonsultować pomysły, a może nauczyć się robić to samodzielnie lub przeszkolić zespół &#8211; jesteśmy właściwym adresem. Zaufało nam już wiele osób, duże firmy i liderzy tacy jak Leroy, mBank czy Orange.</p>



<p>Pamiętaj &#8211; świat zmieni się szybciej, niż myślisz. Zaczynamy!</p>



<p></p>



<h2 class="wp-block-heading">Powrót do mitów o AI</h2>



<p>W dzisiejszym, 122. odcinku podcastu, powrócimy do tematu mitów związanych ze sztuczną inteligencją. Już w kwietniu 2019, w <a href="https://biznesmysli.pl/10-mitow-o-sztucznej-inteligencji/">55. odcinku</a>, omawiałem 10 najpopularniejszych mitów. Sprawdziłem je przed nagraniem &#8211; nadal są aktualne, choć o niektórych można podyskutować. Oto one w skrócie:</p>



<ol>
<li>Sztuczna inteligencja jest zła.</li>



<li><em>AI</em> jest tylko dla dużych graczy.</li>



<li>Sztuczna inteligencja to gotowy przepis na sukces.</li>



<li>Algorytmy są ważniejsze niż dane (ten mit jest dziś jeszcze bardziej aktualny).</li>



<li>Mamy lub nie mamy danych.</li>



<li>Prototyp równa się rozwiązaniu do wdrożenia (do tego wrócę, wyjaśniając jak to wygląda w obecnym kontekście).</li>



<li><em>AI</em> = roboty.</li>



<li>Sztuczna inteligencja to kura znosząca złote jajka (tę analogię też przypomnę, ale w nieco innym ujęciu).</li>



<li><em>AI</em> jest twórcą (to może budzić dyskusje, ale wyjaśniam tam swoje intencje).</li>



<li>Sztuczna inteligencja jest uczciwa.</li>
</ol>



<p>Jeśli chcesz usłyszeć więcej, sięgnij po 55. odcinek w wersji audio lub tekstowej na stronie.</p>



<h2 class="wp-block-heading">Mity o LLM</h2>



<p>Dzisiaj jednak skupię się przede wszystkim na mitach związanych z <em>LLM (Large Language Models)</em>, bo tych nawarstwiło się ostatnio sporo. W minionym miesiącu aktywnie uczestniczyłem w różnych wydarzeniach, meetupach i konferencjach &#8211; jako słuchacz i prelegent. Mimo że jestem raczej introwertykiem, starałem się rozmawiać z ludźmi, by lepiej zrozumieć, jak myślą o tych tematach.</p>



<p>To normalne, że możemy się mylić, bo nie każdy ma czas, by dogłębnie śledzić, co się faktycznie dzieje. Źródła, z których czerpiemy wiedzę, bywają mniej sprawdzone niż Biznesowe Myśli, więc łatwo o nieporozumienia.</p>



<p>Udało mi się wychwycić pewne powtarzające się wzorce myślenia, o których chciałbym dziś porozmawiać i je wyjaśnić. Choć nie wyczerpują one wszystkich mitów wartych omówienia, skupię się na siedmiu najważniejszych.</p>



<h2 class="wp-block-heading">Mit 1: Tylko ChatGPT się liczy</h2>



<p>Jeśli interesujesz się choć trochę tematami <em>LLM</em> i <em>AI</em>, to zapewne wiesz, że istnieją również inne modele poza ChatGPT. </p>



<p>Jeśli interesujesz się choć trochę tematami <em>LLM</em> i <em>AI</em>, to zapewne wiesz, że istnieją również inne modele poza ChatGPT. Jednak wiele osób kojarzy przede wszystkim ChatGPT jako jedyny model do <em>LLM</em>, albo nawet nie wiedzą do końca, czym jest <em>LLM</em>, czyli duży model językowy, tylko bardziej odnoszą się do <em>AI</em>.</p>



<p>Jeżeli popatrzysz na takie narzędzia jak np. Google Trends, zauważysz bardzo ciekawą korelację. Po wpisaniu modeli takich jak ChatGPT, Claude od Anthropic, Gemini od Google czy Llama od Facebooka, widać wyraźnie, że ChatGPT zajął prawie 100% rynku, jeżeli chodzi o rozpoznawalność.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="630" src="https://biznesmysli.pl/wp-content/uploads/2024/06/2.google_trends-1024x630.png" alt="" class="wp-image-11222" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/2.google_trends-1024x630.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/2.google_trends-300x185.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/2.google_trends-768x473.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/2.google_trends-1536x945.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/2.google_trends-2048x1261.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/06/2.google_trends-1140x702.png 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Co więcej, trendy dla haseł &#8222;AI&#8221; i &#8222;ChatGPT&#8221; również wykazują zauważalne podobieństwo. Prawie idealne, równoległe falowanie na wykresach. Choć utożsamianie ChatGPT z AI może być niebezpieczne, bo to na pewno nie jest tożsame, da się to w pewnym sensie wyjaśnić. Większość osób zaczęła na nowo myśleć o sztucznej inteligencji właśnie po pojawieniu się słynnej wersji 3.5 ChatGPT.</p>



<p></p>



<h3 class="wp-block-heading">Zamknięte i otwarte modele AI</h3>



<p>Warto wiedzieć, że poza ChatGPT istnieją też różne inne modele AI. Można je podzielić na zamknięte i otwarte.</p>



<p>Zamknięte modele są udostępniane poprzez API. Oznacza to, że gdzieś w chmurze na cudzym komputerze działa taki model. Wysyłasz do niego zapytanie z tym, co chcesz uzyskać i dostajesz odpowiedź. Nie wiesz jednak, co dokładnie dzieje się w środku z danymi i jak są one przetwarzane. Przykładami zamkniętych modeli są OpenAI (mimo paradoksalnej nazwy bardziej pasowałoby ClosedAI), Anthropic z modelem Claude, Google z Gemini i kilka innych.</p>



<p>Jeśli chodzi o otwarte modele, tutaj mamy więcej możliwości. Jednym z najbardziej znanych jest Llama od Facebooka. Aktualnie najnowsza wersja to Llama 3 dostępna w różnych wersjach &#8211; mniejszej 7B i większych, sięgających nawet 400 miliardów parametrów. Inne warte wspomnienia firmy z otwartymi modelami to Mistral czy Cohere.</p>



<h3 class="wp-block-heading">Mity na temat otwartych modeli AI</h3>



<p>Wokół tematu <em>LLM</em> nawarstwiło się kilka mitów, które warto wyjaśnić. Gdy mówimy, że model jest otwarty, nie zawsze oznacza to, że można go swobodnie używać komercyjnie.</p>



<p>Przykładem jest popularny ostatnio w Polsce model Bielik. Gdy wejdziesz na jego stronę, zobaczysz, że jest on dostępny na licencji Creative Commons, ale z dopiskiem &#8222;non-commercial&#8221;. Czyli można go używać, trenować na nim, ale nie w celach biznesowych. Twórcy udostępnili go w takiej formie nie tylko ze swojej woli, ale też ze względu na kilka istotnych szczegółów pod spodem.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="604" src="https://biznesmysli.pl/wp-content/uploads/2024/06/9.bielik_non_comercial-1024x604.png" alt="" class="wp-image-11223" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/9.bielik_non_comercial-1024x604.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/9.bielik_non_comercial-300x177.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/9.bielik_non_comercial-768x453.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/9.bielik_non_comercial-1536x905.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/9.bielik_non_comercial-2048x1207.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/06/9.bielik_non_comercial-1140x672.png 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Podsumowując, warto mieć świadomość różnorodności modeli AI i nie utożsamiać wszystkiego z ChatGPT. Jednocześnie trzeba uważać na pewne niuanse, jak choćby licencje otwartych modeli, które nie zawsze pozwalają na dowolne komercyjne wykorzystanie. Temat <em>LLM</em> i <em>AI</em> ciągle się rozwija, więc na pewno jeszcze nieraz usłyszymy o nowych, ciekawych rozwiązaniach w tym obszarze</p>



<h3 class="wp-block-heading">Różnorodność modeli AI &#8211; niuanse i wyzwania</h3>



<p>Aby powstała wersja Instruct modelu językowego, trzeba go wytrenować na zbiorze instrukcji. Część z nich została przygotowana przez zespół Bielika lub w podobny sposób, dzięki czemu można ich używać. Jednak druga część instrukcji została tak stworzona, że nie możemy ich później wykorzystywać komercyjnie.</p>



<p>Na przykład, ChatGPT umożliwia generowanie tekstu, ale jeśli dotrenujesz swój model na podstawie tekstu powstałego z ChatGPT lub Lamy, to masz problem z użyciem komercyjnym. Nie możesz ulepszyć swojego modelu, wykorzystując inne modele, takie jak ChatGPT lub podobne, bo jest to zakazane.</p>



<p>Oczywiście są tu różne strefy &#8211; de jure tego robić nie można, de facto, kto to wykryje, ale to zostawiam na własną odpowiedzialność każdego. Więc to ciekawostka &#8211; pierwszej wersji instrukcji Bielika nie można wykorzystywać komercyjnie.</p>



<p>Kolejnym przykładem jest firma Cohera z Kanady, która ma teraz biuro w USA. Wypuścili oni model Command R i Command R+. Ten pierwszy jest całkiem fajny, jeżeli chodzi o reprezentację, wyciąganie tagów, czyli wzbogacenie i wyszukanie informacji. Problem w tym, że udostępnili go do pobrania każdemu, ale znów &#8211; nie możemy używać go komercyjnie. Nie znamy też do końca szczegółów, jak ten model został wytrenowany, więc nie możemy za bardzo cokolwiek z nim zrobić.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="652" src="https://biznesmysli.pl/wp-content/uploads/2024/06/10.cohere-command-r-1024x652.png" alt="" class="wp-image-11224" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/10.cohere-command-r-1024x652.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/10.cohere-command-r-300x191.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/10.cohere-command-r-768x489.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/10.cohere-command-r-1536x978.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/10.cohere-command-r-2048x1303.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/06/10.cohere-command-r-1140x726.png 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Ciekawostką odnośnie Cohery jest dyskusja na Twitterze, gdzie ktoś zapytał, czemu model jest zamknięty. Odpowiedziano, że chodzi głównie o ograniczenie dużych graczy. Jeśli jesteś małym <em>startupem</em>, możesz do nich napisać i zobaczyć co da się zrobić. Być może umożliwią ci użycie komercyjne.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="756" src="https://biznesmysli.pl/wp-content/uploads/2024/06/11.command-r-tweet-1024x756.jpeg" alt="" class="wp-image-11225" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/11.command-r-tweet-1024x756.jpeg 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/11.command-r-tweet-300x222.jpeg 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/11.command-r-tweet-768x567.jpeg 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/11.command-r-tweet.jpeg 1125w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<h3 class="wp-block-heading">Llama &#8211; najbardziej otwarta, ale z ograniczeniami</h3>



<p>Llama jest generalnie najbardziej otwarta ze wszystkich wymienionych rozwiązań. Możemy ją wykorzystywać komercyjnie, chyba że jesteś Google&#8217;em lub kimś podobnym. W licencji ciekawie opisano, że jeśli masz więcej niż miliony aktywnych użytkowników, to również nie możesz jej używać. Zrobiono to dla ograniczenia Big Tech&#8217;u, ale mniejsze firmy mogą korzystać.</p>



<p>Lama zabrania też wykorzystywania tego modelu do usprawniania innych modeli niż ona sama, co również jest ciekawostką.</p>



<p>Dlatego tą &#8222;otwartością&#8221; bywa różnie, dlatego uważaj, szczególnie jeśli chodzi o zastosowania komercyjne. Zawsze sprawdzaj, czy konkretny model faktycznie możesz użyć komercyjnie. Nawet jeśli wykryją, że wykorzystujesz model w szarej strefie, zakładamy że chodzi o odpowiedzialność. Zwracaj na to uwagę.</p>



<p></p>



<h3 class="wp-block-heading">Open source goni trendy</h3>



<p>Warto wspomnieć, że open source również próbuje gonić trendy. Na początku, kiedy ruszył ChatGPT, rozwiązania otwarte były bardzo w tyle, z dużą różnicą jakości. Natomiast teraz widzimy, że jeśli chodzi o <em>leaderboardy</em>, open source jest coraz bliżej poziomu modeli zamkniętych, co jest dobrą wiadomością.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="676" src="https://biznesmysli.pl/wp-content/uploads/2024/06/13.open_close_llm-1024x676.jpeg" alt="" class="wp-image-11226" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/13.open_close_llm-1024x676.jpeg 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/13.open_close_llm-300x198.jpeg 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/13.open_close_llm-768x507.jpeg 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/13.open_close_llm-1140x752.jpeg 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/13.open_close_llm-500x330.jpeg 500w, https://biznesmysli.pl/wp-content/uploads/2024/06/13.open_close_llm.jpeg 1158w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Mit 2: LLM i GenAI to coś innego niż ML</h2>



<p>Kolejny mit można było nazwać na kilka sposobów, ale ujmijmy to tak: <em>LLM</em> czy generatywna sztuczna inteligencja to coś innego niż <em>machine learning</em> albo uczenie maszynowe. Pewne rzeczy, które zostały opracowane w ML, w szczególności mówimy o wdrażaniu na produkcję, one nadal obowiązują również dla <em>LLM</em>. Nie ma cudów, nie ma magii, to wszystko jest nadal aktualne.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="821" height="885" src="https://biznesmysli.pl/wp-content/uploads/2024/06/14.ai_layers.png" alt="" class="wp-image-11228" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/14.ai_layers.png 821w, https://biznesmysli.pl/wp-content/uploads/2024/06/14.ai_layers-278x300.png 278w, https://biznesmysli.pl/wp-content/uploads/2024/06/14.ai_layers-768x828.png 768w" sizes="(max-width: 821px) 100vw, 821px" /></figure>



<p><em>LLM</em> i generatywna <em>AI</em> to część szerszego obszaru <em>machine learningu</em> i sztucznej inteligencji. Wiele podstawowych zasad i technik <em>ML</em> nadal ma zastosowanie w tych nowszych podejściach.</p>



<p>Sztuczna inteligencja (<em>AI</em>) to pojęcie, do którego dążymy. Chodzi o coś, co zachowuje się w inteligentny sposób. Na ten moment najlepszym narzędziem, które przybliża nas w kierunku <em>AI</em>, jest <em>machine learning</em>, czyli uczenie maszynowe.</p>



<p><em>ML</em> zawiera różne algorytmy i podejścia, w tym klasyczne, które nadal generują najwięcej wartości, ale też takie, które opierają się na sieciach neuronowych. Gdy <em>ML</em> staje się bardziej zaawansowany, mówimy o <em>deep learningu</em>, czyli głębokim uczeniu maszynowym.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="814" height="928" src="https://biznesmysli.pl/wp-content/uploads/2024/06/15.transformery.png" alt="" class="wp-image-11227" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/15.transformery.png 814w, https://biznesmysli.pl/wp-content/uploads/2024/06/15.transformery-263x300.png 263w, https://biznesmysli.pl/wp-content/uploads/2024/06/15.transformery-768x876.png 768w" sizes="(max-width: 814px) 100vw, 814px" /></figure>



<p>Jednym z rodzajów <em>deep learningu</em> są <em>transformers</em>. To właśnie tam pojawia się pojęcie <em>NLP</em> (Natural Language Processing) i <em>LLM</em> (Large Language Models). <em>LLM</em> na ten moment, z małymi wyjątkami, to głównie <em>transformers</em>. Mamy zatem taki ciąg: <em>ML</em>, <em>deep learning</em>, <em>transformers</em>, <em>LLM</em>.</p>



<p>Warto zwrócić uwagę, że nie zawsze <em>LLM</em> równa się <em>GenAI</em>. Nie wszystkie <em>LLM</em> generują treść w postaci rozmowy, jak np. z chatem. Część <em>LLM</em> ma taki cel, a część nie &#8211; niektóre mają bardziej cel klasyfikacyjny. Jednak w większości przypadków, gdy mówi się o <em>LLM</em>, chodzi o <em>GenAI</em>, czyli tworzenie i generowanie pewnej wartości.</p>



<p>Wcześniej zdarzały się problemy z odróżnieniem prototypu od rozwiązania gotowego do wdrożenia na produkcję (production-ready). Czasem, gdy w firmie powstawał prototyp, wyglądało to, jakby model był już gotowy do implementacji. To bardzo ryzykowne podejście.</p>



<p>W przypadku <em>LLM</em> ta różnica jeszcze bardziej znacząco wzrosła. Pojawiły się duże wyzwania z odróżnieniem prototypu od rozwiązań, które rzeczywiście nadają się do wdrożenia na produkcję.</p>



<p>Powstanie znanych frameworków, jak LangChain i kilku innych, z jednej strony umożliwia bardzo szybkie i łatwe generowanie prototypów. Czasem wystarczy dosłownie kilka linii kodu &#8211; pięć, dziesięć, może pięćdziesiąt &#8211; i już mamy działające rozwiązanie, które robi efekt &#8222;wow&#8221;. Jednak po wdrożeniu takiego rozwiązania można napotkać pewne problemy.</p>



<p></p>



<h3 class="wp-block-heading">Krzywa Gartnera a LLM</h3>



<p>Warto w tym kontekście zwrócić uwagę na tak zwaną krzywą Gartnera. Choć nie zawsze jest ona w pełni spójna, pewne sygnały, które można z niej odczytać, są przydatne.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="913" height="607" src="https://biznesmysli.pl/wp-content/uploads/2024/06/18.hypecycleforai-2023.jpeg" alt="" class="wp-image-11229" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/18.hypecycleforai-2023.jpeg 913w, https://biznesmysli.pl/wp-content/uploads/2024/06/18.hypecycleforai-2023-300x199.jpeg 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/18.hypecycleforai-2023-768x511.jpeg 768w" sizes="(max-width: 913px) 100vw, 913px" /></figure>



<p>Patrząc na najnowszą krzywą z 2023 roku, widać, że <em>LLM</em> znajduje się na jej szczycie. Jak to bywa w życiu, nie ma rzeczy idealnych, są różne odcienie szarości. Mimo to sygnał informacyjny płynący z krzywej Gartnera jest wartościowy i warto go wziąć pod uwagę, myśląc o implementacji <em>LLM</em> w swojej organizacji.</p>



<p>Niedługo będziemy świadkami zjawiska, gdy pojawi się wiele informacji sugerujących, że <em>LLM</em> nie działa zgodnie z oczekiwaniami i jest znacznie gorsze niż się wydawało. Źródłem problemu jest między innymi fakt, że dużo łatwiej jest zrobić prototyp niż przygotować stabilne rozwiązanie gotowe do wdrożenia.</p>



<p>W dzisiejszych czasach niemal każdy może zrobić prototyp <em>LLM</em>, który robi wrażenie. Natomiast przygotowanie aplikacji, którą można bezpiecznie wdrożyć na produkcję tak, by biznes na tym nie tracił, to zupełnie inna para kaloszy. Występuje tu prawdziwa przepaść między prototypem a rozwiązaniem produkcyjnym.</p>



<p>Problem ten nie jest nowy, ale w przypadku <em>LLM</em> i szerzej pojętej <em>AI</em> urósł do niespotykanych wcześniej rozmiarów. Warto mieć to na uwadze planując wykorzystanie tej technologii w swojej organizacji. Nie daj się zwieść łatwości, z jaką da się dziś stworzyć atrakcyjny prototyp. Droga do stabilnego rozwiązania biznesowego jest dużo dłuższa i bardziej wymagająca.</p>



<h2 class="wp-block-heading">Mit 3: Halucynacja to bug</h2>



<p>Czym jest halucynacja w kontekście AI? Formalnie rzecz biorąc, mamy z nią do czynienia, gdy LLM tworzy odpowiedź inną niż oczekiwana. Temat ten został już dość dobrze zbadany, powstało wiele publikacji naukowych i innych materiałów, które pozwalają zrozumieć ciekawe źródła tego problemu.<br />Najważniejsza myśl, którą chciałbym Ci przekazać, to mechanika tego zjawiska. Halucynacja to nie jest bug. Owszem, to niepożądane zjawisko, kiedy nasz model tworzy rzeczy, na których biznes może stracić, ale spróbujmy zrozumieć tę mechanikę, bo dzięki temu będziesz lepiej tym zarządzać.</p>



<p>Aby lepiej to zrozumieć, przytoczę pewną analogię. Wyobraź sobie farmera, który miał kurę. Zauważył on, że ta kura ma dwie części: przednią, która je ziarenka generując koszty, oraz tylną, która znosi jajka przynosząc zyski. Farmer pomyślał &#8211; co by tu zrobić, żeby pozbyć się tej przedniej części i zostawić tylko tylną? Idealnie, prawda? Problem w tym, że tak się nie da. Bez przedniej części, nie będzie też tylnej. To prawo natury.<br />Podobnie jest z LLM. Ta halucynacja to nie bug, to sposób działania modelu. LLM cały czas marzy, fantazjuje. Za każdym razem, gdy dajemy mu konkretne zadanie, on zaczyna marzyć. Kiedy trafia w to, czego oczekujemy, cieszymy się. Ale gdy zwraca coś innego, pojawia się problem &#8211; przynajmniej dla nas. Zaczynamy narzekać, choć to nie jest wina LLM. Jeśli wyeliminujemy element marzenia, równie dobrze możemy w ogóle z niego nie korzystać.</p>



<p>Zupełnie inną kwestią jest zastanowić się, skoro to jest wbudowane w rdzeń mechanizmu funkcjonowania LLM, co możemy zrobić? Jak tym zarządzać?<br />Kolejna analogia, szczególnie przydatna jeśli masz doświadczenie w zarządzaniu ludźmi twórczymi &#8211; jeśli zaczniesz ich za bardzo ograniczać, narzucać regulaminy i procedury, to albo uciekną, albo przestaną &#8222;znosić złote jajka&#8221;. Jako mądry menadżer dajesz im przestrzeń do odnalezienia się, ale tak konfigurujesz środowisko, by móc tym zarządzać. Wiesz, że taka osoba może czasem spaść w niepożądane, niebezpieczne ścieżki. Myślę, że ktoś zarządzający takimi ludźmi doskonale to rozumie.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="745" src="https://biznesmysli.pl/wp-content/uploads/2024/06/19.arxv_1a-survey-on-hallucination-in-large-language-models-1024x745.png" alt="" class="wp-image-11249" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/19.arxv_1a-survey-on-hallucination-in-large-language-models-1024x745.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/19.arxv_1a-survey-on-hallucination-in-large-language-models-300x218.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/19.arxv_1a-survey-on-hallucination-in-large-language-models-768x559.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/19.arxv_1a-survey-on-hallucination-in-large-language-models-1536x1118.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/19.arxv_1a-survey-on-hallucination-in-large-language-models-2048x1491.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/06/19.arxv_1a-survey-on-hallucination-in-large-language-models-1140x830.png 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<p>Podobnie jest z LLM i generowaniem treści. Pewne rzeczy upraszczam i robię to świadomie, ale jeśli pomyślisz w ten sposób, łatwiej będzie Ci zrozumieć, jak zarządzać niepożądanym zjawiskiem generowania przez model rzeczy wadliwych, niepotrzebnych, a jednocześnie skorzystać z tej części, która niesie nasze &#8222;złote jajka&#8221;.</p>



<p>Polecam myśleć w ten sposób, zamiast tylko narzekać na to, że model halucynuje. Tym da się zarządzać, choć jest to temat szerszy i nie da się go w pełni wyjaśnić w kilku zdaniach. Chciałem jednak zwrócić uwagę, że halucynacje modelu nie są błędem (bugiem), a raczej wynikają z tego, jak model działa pod spodem.</p>



<p>Zarządzanie AI i generowaniem treści można porównać do zarządzania twórczymi ludźmi. Kluczem jest znalezienie równowagi między dawaniem przestrzeni a konfigurowaniem środowiska, by móc tym zarządzać. Dzięki takiemu podejściu możemy czerpać korzyści z potencjału LLM, jednocześnie minimalizując niepożądane efekty.</p>



<h2 class="wp-block-heading">Mit 4: Duże okna kontekstowe &#8222;robią robotę&#8221;</h2>



<p>Wiele firm, takich jak Google, chwali się coraz większymi oknami kontekstowymi w swoich modelach języka, sięgającymi nawet milionów tokenów. Może to prowadzić do mylnego przekonania, że wystarczy po prostu wrzucić do modelu wszystkie dane firmy, a on sam znajdzie potrzebne informacje bez konieczności wykorzystywania innych systemów. Niestety, nie jest to takie proste.</p>



<p>Przede wszystkim, wysyłanie całej bazy danych za każdym razem, gdy potrzebujemy znaleźć konkretną odpowiedź, brzmi dziwnie z technicznego punktu widzenia. To tak, jakbyśmy za każdym razem, gdy potrzebujemy jednej książki, musieli przeglądać wszystkie książki w bibliotece po kolei. Nawet gdybyśmy byli w stanie zrobić to szybko, takie rozwiązanie wydaje się bardzo nieefektywne.</p>



<p>Co więcej, samo rozumienie tekstu przez model może stanowić wyzwanie, nawet przy bardzo długich oknach kontekstowych. Istnieją różne testy, takie jak &#8222;poszukiwanie igły w stogu siana&#8221;, które pokazują, że im dłuższe okienko, tym gorsze wyniki w znajdowaniu poszukiwanych informacji. Sytuacja pogarsza się jeszcze bardziej, gdy tych &#8222;igieł&#8221; jest więcej i są umieszczone w różnych miejscach, a my chcemy nie tylko je znaleźć, ale również zadać pytania na ich temat.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="287" src="https://biznesmysli.pl/wp-content/uploads/2024/06/23.needle-in-a-haystack-1024x287.png" alt="" class="wp-image-11231" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/23.needle-in-a-haystack-1024x287.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/23.needle-in-a-haystack-300x84.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/23.needle-in-a-haystack-768x216.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/23.needle-in-a-haystack-1536x431.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/23.needle-in-a-haystack-1140x320.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/23.needle-in-a-haystack.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Wraz z rozszerzaniem się okienek kontekstowych, ludzie zaczęli dostrzegać te problemy i przeprowadzać dodatkowe testy. Wyniki jasno pokazują, że samo zwiększanie rozmiaru okna nie rozwiązuje wszystkich wyzwań związanych z wyszukiwaniem informacji przez modele <em>LLM</em>.</p>



<p></p>



<p>Warto mieć to na uwadze, planując wykorzystanie tej technologii w swojej organizacji. Nie dajmy się zwieść pozornej łatwości i pamiętajmy, że stworzenie efektywnego systemu wymaga przemyślanego podejścia, a nie tylko polegania na coraz większych oknach kontekstowych</p>



<h3 class="wp-block-heading"> Poznaj BABIlong &#8211; test, który pomoże ocenić efektywność modeli językowych</h3>



<p>Wśród testów oceniających modele językowe warto zwrócić uwagę na mniej znany, ale ciekawie zaprojektowany BABILong. Jego nazwa nawiązuje do dłuższych okien kontekstowych (<em>long</em>), które są istotnym elementem tego testu. Znajdziesz w nim przykłady, które pozwalają lepiej zrozumieć możliwości i ograniczenia współczesnych modeli <em>AI</em>.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="737" src="https://biznesmysli.pl/wp-content/uploads/2024/06/28.arxv_babilong-1024x737.png" alt="" class="wp-image-11232" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/28.arxv_babilong-1024x737.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/28.arxv_babilong-300x216.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/28.arxv_babilong-768x553.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/28.arxv_babilong-1536x1105.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/28.arxv_babilong-2048x1474.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/06/28.arxv_babilong-1140x820.png 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<blockquote class="wp-block-quote">
<p></p>



<h3 class="wp-block-heading">Nie daj się zwieść pozorom &#8211; większe okno kontekstowe to nie zawsze lepszy model</h3>
</blockquote>



<p>Ostatnio pojawił się model reklamowany jako tańszy i lepszy od GPT-4. Osobiście nie polecam go, ponieważ przy dłuższych oknach kontekstowych szybciej zaczyna mieć problemy z rozumieniem treści. Teoretycznie przyjmuje on okna o długości 128 tysięcy tokenów, ale w praktyce już po przekroczeniu 2 tysięcy tokenów jego skuteczność spada.</p>



<p>Podobnie jest w przypadku innych modeli, takich jak GPT-4, Gemini czy Claude. Mimo deklarowanej możliwości przetwarzania nawet 128 tysięcy tokenów, ich efektywna wartość zazwyczaj nie przekracza 16 tysięcy. Mit o tym, że większe okna kontekstowe rozwiązują wszystkie problemy i pozwalają modelowi lepiej znajdować i przetwarzać informacje, nie znajduje potwierdzenia w rzeczywistości.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="612" src="https://biznesmysli.pl/wp-content/uploads/2024/06/29.gpt_babilong-1-1024x612.png" alt="" class="wp-image-11237" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/29.gpt_babilong-1-1024x612.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/29.gpt_babilong-1-300x179.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/29.gpt_babilong-1-768x459.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/29.gpt_babilong-1-1536x919.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/29.gpt_babilong-1-1140x682.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/29.gpt_babilong-1.png 1886w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Obiecana a efektywna długość okna kontekstowego &#8211; czym się różnią?</h3>



<p>Warto rozróżnić pojęcia obiecanej i efektywnej długości okna kontekstowego. Ta pierwsza odnosi się do długości promptu, czyli tekstu, który wysyłamy do modelu. Możemy przesłać nawet całą książkę, o ile zmieścimy się w limicie tokenów (dla uproszczenia można przyjąć, że token to mniej więcej jedno słowo).</p>



<p>Efektywna długość okna kontekstowego to natomiast maksymalna ilość tokenów, jaką model jest w stanie przetworzyć bez utraty jakości. Obecnie wynosi ona około kilku tysięcy tokenów &#8211; dla GPT-4 to 2-4 tysiące, a dla GPT-4 Turbo około 16 tysięcy. Przekroczenie tych wartości skutkuje pomijaniem przez model istotnych faktów i informacji.</p>



<h3 class="wp-block-heading">Nie zapominaj o ograniczeniach rozmiaru danych wyjściowych</h3>



<p>Nawet jeśli model posiada ogromne okno kontekstowe, pamiętaj, że zawiera ono zarówno dane wejściowe (<em>input</em>), jak i wyjściowe (<em>output</em>). Ich rozmiary sumują się, choć różne modele podchodzą do tego inaczej. W przypadku GPT łączna wielkość danych wejściowych i wyjściowych mieści się w oknie kontekstowym, ale <em>output</em> zawsze jest mniejszy od <em>inputu</em>.</p>



<p>Przy zadaniach typu streszczenie, gdzie na wejściu mamy dużo treści, a na wyjściu oczekujemy niewielkiej ilości tokenów (np. 2-4 tysiące), nie ma problemu. Gorzej, gdy <em>input</em> i <em>output</em> powinny być porównywalne, jak przy tłumaczeniu czy sprawdzaniu artykułu. Wtedy ograniczenia rozmiaru danych wyjściowych wpływają też na maksymalny rozmiar danych wejściowych.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="781" height="446" src="https://biznesmysli.pl/wp-content/uploads/2024/06/31.gpt4-max_output.png" alt="" class="wp-image-11235" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/31.gpt4-max_output.png 781w, https://biznesmysli.pl/wp-content/uploads/2024/06/31.gpt4-max_output-300x171.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/31.gpt4-max_output-768x439.png 768w" sizes="(max-width: 781px) 100vw, 781px" /></figure>



<p>Duże okno kontekstowe nie zawsze działa tak dobrze, jak byśmy chcieli. Warto sprawdzać, jaka jest maksymalna długość tekstu, który model może wygenerować na wyjściu. Jeśli w Twoim zadaniu <em>input</em> i <em>output</em> powinny być podobnej wielkości, może to stanowić problem.</p>



<p>Z drugiej strony, przy poleceniach typu &#8222;przygotuj artykuł&#8221; czy &#8222;wygeneruj sprawozdanie&#8221;, gdzie na wejściu mamy niewiele treści, a na wyjściu oczekujemy obszerniejszego tekstu, obecne ograniczenia nie będą aż tak dokuczliwe. Pamiętaj jednak, że na ten moment generowanie całych książek przez <em>AI</em> wciąż pozostaje wyzwaniem. Typowy <em>output</em> to zwykle 2-4 tysiące tokenów.</p>



<p>Podsumowując, planując wykorzystanie modeli językowych, weź pod uwagę ich realne możliwości i ograniczenia. Dostosuj zadania tak, aby jak najlepiej wykorzystać potencjał <em>AI</em>, jednocześnie mając świadomość obszarów, w których technologia ta wciąż wymaga udoskonalenia. Z odpowiednim podejściem modele językowe mogą stać się cennym wsparciem w wielu dziedzinach.</p>



<h2 class="wp-block-heading">Mit 5: Dostrajanie modeli językowych (fine-tuning) jest prosty</h2>



<p>W świecie AI istnieje wiele nieporozumień dotyczących procesu dostrajania modeli, zwanego z angielska <em>fine-tuningiem</em>. Często słyszy się sformułowania typu &#8222;chcemy wytrenować model&#8221;, co brzmi konkretnie, ale nie do końca oddaje istotę tego procesu. Warto zatem wyjaśnić, na czym polega <em>fine-tuning</em> i czym różni się od trenowania modelu od podstaw.</p>



<p>W przypadku klasycznego uczenia maszynowego faktycznie trenujemy model od zera. Jednak gdy mówimy o dużych modelach językowych (tzw. <em>LLM &#8211; Large Language Models</em>), proces ten przebiega etapowo. Pierwszym, najtrudniejszym i najbardziej wymagającym etapem jest wstępne trenowanie modelu, kiedy przyswaja on ponad 90%, a nawet 99% faktów. Ten etap wymaga wielu różnych GPU i jest niezwykle kosztowny, dlatego nie wszyscy mogą sobie na niego pozwolić.</p>



<p>Kolejnym etapem jest <em>fine-tuning</em>, czyli dostrajanie modelu przy użyciu różnych instrukcji. To właśnie wtedy model uczy się reagować na polecenia i odpowiadać w sposób czatowy. Dostrojenie modelu jest znacznie łatwiejsze i mniej kosztowne niż wstępne trenowanie, dlatego może w nim uczestniczyć więcej osób.</p>



<p>Warto pamiętać, że niektóre instrukcje używane podczas <em>fine-tuningu</em> mogą mieć ograniczenia licencyjne, np. zakaz wykorzystania komercyjnego. Wpływa to na model, który został dostrojony przy ich pomocy. Dlatego ważne jest, aby pierwsze modele powstawały uważnie, najlepiej przy wsparciu większych organizacji lub na poziomie państwa.</p>



<p>Pojawiają się różne pomysły regulacji prawnych dotyczących trenowania modeli AI, np. w Unii Europejskiej czy Kalifornii. Jednak technologii nie da się całkowicie zatrzymać, a regulacje obowiązujące tylko w jednym regionie nie zapobiegną potencjalnym zagrożeniom na poziomie globalnym.</p>



<p>Podsumowując, <em>fine-tuning</em> to ważny etap dostrajania modeli językowych, który różni się od trenowania od podstaw. Warto mieć świadomość tego procesu i związanych z nim wyzwań, aby odpowiedzialnie rozwijać technologię AI z myślą o jej pozytywnym wpływie na nasze życie.</p>



<h3 class="wp-block-heading">Wyzwania związane z fine-tuningiem modeli językowych</h3>



<p>Fine-tuning, czyli dostrajanie już wytrenowanych modeli językowych, może wydawać się prostym i efektywnym rozwiązaniem. Niestety, proces ten niesie ze sobą pewne problemy i ryzyka, o których warto pamiętać.</p>



<p>Jednym z głównych wyzwań jest zjawisko &#8222;halucynacji&#8221; modelu. Kiedy karmimy go nowymi faktami, o których wcześniej nie miał pojęcia, model zaczyna fantazjować i generować nieprawdziwe informacje. Dzieje się tak, ponieważ próbuje on pogodzić nowy strumień danych z dotychczasową wiedzą, co prowadzi do pewnego rodzaju &#8222;pobudzenia&#8221;.</p>



<p>Innym problemem jest zapominanie przez model wcześniej poznanych faktów. Choć nie jest to aż tak niebezpieczne jak halucynacje, to jednak oznacza, że fine-tuning nie zawsze przynosi oczekiwane korzyści.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="732" src="https://biznesmysli.pl/wp-content/uploads/2024/06/35.arxv_does-fine-tuning-llms-on-new-knowledge-encourage-hallucinations-1024x732.png" alt="" class="wp-image-11246" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/35.arxv_does-fine-tuning-llms-on-new-knowledge-encourage-hallucinations-1024x732.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/35.arxv_does-fine-tuning-llms-on-new-knowledge-encourage-hallucinations-300x215.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/35.arxv_does-fine-tuning-llms-on-new-knowledge-encourage-hallucinations-768x549.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/35.arxv_does-fine-tuning-llms-on-new-knowledge-encourage-hallucinations-1536x1098.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/35.arxv_does-fine-tuning-llms-on-new-knowledge-encourage-hallucinations-2048x1464.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/06/35.arxv_does-fine-tuning-llms-on-new-knowledge-encourage-hallucinations-1140x815.png 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Czy w takim razie powinniśmy całkowicie zrezygnować z dostrajania modeli? Niekoniecznie. Kluczem jest znalezienie odpowiedniej strategii i zachowanie równowagi. Z jednej strony, nie chcemy karmić modelu zupełnie nowymi informacjami, ale z drugiej &#8211; uczenie go wyłącznie tego, co już zna, mija się z celem.</p>



<p>Rozwiązaniem może być selekcja faktów, które model zna, ale nie w pełni. Wymaga to jednak zastosowania różnych trików technicznych i znalezienia granicy akceptowalności. Trochę jak w wychowywaniu dziecka &#8211; musimy stopniowo poszerzać jego horyzonty, ale jednocześnie dbać o to, by nie zasypywać go nadmiarem bodźców.</p>



<p>Podsumowując, <em>fine-tuning</em> to ważny etap dostrajania modeli językowych, który różni się od trenowania od podstaw. Warto mieć świadomość tego procesu i związanych z nim wyzwań, aby odpowiedzialnie rozwijać technologię <em>AI</em> z myślą o jej pozytywnym wpływie na nasze życie</p>



<h3 class="wp-block-heading">Porównanie fine-tuningu modeli językowych do wychowania dziecka</h3>



<p>Proces dostrajania modeli językowych, zwany <em>fine-tuningiem</em>, można porównać do wychowywania dziecka. Nie mówimy mu dokładnie, co ma robić w każdej sytuacji, ale przekazujemy ogólne wartości, jak uczciwość, pracowitość czy chęć niesienia pomocy. Te wysokopoziomowe wskazówki wpływają później na podejmowane decyzje, choć ostatecznie dziecko samo wybiera swoją drogę, kierując się przekazanymi mu zasadami.</p>



<p>Podobnie jest z modelami językowymi &#8211; nie mamy wpływu na wszystkie ich działania, bo jest ich zbyt wiele. Zamiast tego, używamy <em>fine-tuningu</em> jako narzędzia do wysokopoziomowego korygowania modelu. Ważne jednak, by robić to w sposób zrównoważony, bo zmieniając jedno, możemy nieumyślnie zepsuć coś innego. Modele <em>LLM</em> to złożone mechanizmy, w których modyfikacja jednego elementu wpływa na funkcjonowanie całej reszty. Dlatego do <em>fine-tuningu</em> trzeba podchodzić z rozwagą.</p>



<h2 class="wp-block-heading">Mit 6: Reprezentacja wektorowa (embedding) znajdzie wszystko</h2>



<p>Kolejnym ważnym pojęciem w świecie <em>AI</em> jest <em>embedding</em>, czyli reprezentacja wektorowa. Polega ona na opisywaniu bytów, takich jak tekst czy obrazy, za pomocą zbioru wartości numerycznych &#8211; wektora. Te wartości niekoniecznie są dla nas zrozumiałe, ale pozwalają modelom opisać i rozróżniać poszczególne elementy, trochę jak w grze, gdzie trzeba zgadywać słowa na podstawie podanych wskazówek.</p>



<p>Reprezentacja wektorowa ma jednak swoje ograniczenia. O ile pojedyncze słowa czy tokeny można precyzyjnie opisać za jej pomocą, to przy dłuższych fragmentach tekstu, jak zdania, akapity czy całe książki, pojawiają się problemy. Pojedyncze słowa giną w morzu innych, przez co ich wpływ na całościową reprezentację jest niewielki. W efekcie, szukając podobnych dokumentów na podstawie <em>embeddingu</em>, możemy otrzymać nie do końca trafne wyniki.</p>



<p>Dzieje się tak, bo próbujemy zawrzeć tysiące lub miliony tokenów w postaci zaledwie tysiąca parametrów. To zwykła, ale stratna kompresja danych. Raz zastosowanej reprezentacji wektorowej nie da się już przywrócić do pierwotnej postaci bez utraty informacji.</p>



<p><em>Embedding</em> to potężne narzędzie, ale nie rozwiązuje wszystkich problemów i ma swoje ograniczenia, szczególnie w przypadku dłuższych tekstów. Warto mieć świadomość jego możliwości i słabości, by efektywnie wykorzystywać reprezentację wektorową w praktyce.</p>



<h3 class="wp-block-heading">Potęga i ograniczenia reprezentacji wektorowej</h3>



<p>Po prostu dostajesz tekst, który konkretne modele próbują w jakiś sposób opisać i w rezultacie otrzymujesz <em>embedding</em>. Kompresja stratna oznacza, że tracimy informację i to jest klucz do tego wszystkiego. To z kolei implikuje, że takie klasyczne wyszukiwarki, które przez dłuższy czas były bardzo potrzebne i popularne, nadal mają sens. Obserwuję, że czasem pojawia się wrażenie, iż <em>embedding</em> wyeliminuje klasyczne wyszukiwanie. To nieprawda, tak to nie powinno działać.</p>



<p>W szczególności, gdy budujemy rozwiązania na produkcję, to nadal posługujemy się też klasyczną wyszukiwarką. Ciekawostką odnośnie rozumienia kwestii związanych z osadzeniem czy reprezentacją wektorową jest to, że kiedy działamy w konkretnej, specyficznej branży, na przykład mamy jakąś dokumentację techniczną z budownictwa, coraz więcej osób rozważa możliwość przyspieszenia pracy nad tą dokumentacją.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="928" src="https://biznesmysli.pl/wp-content/uploads/2024/06/37.observations-on-building-rag-systems-for-technical-documents-1024x928.png" alt="" class="wp-image-11243" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/37.observations-on-building-rag-systems-for-technical-documents-1024x928.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/37.observations-on-building-rag-systems-for-technical-documents-300x272.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/37.observations-on-building-rag-systems-for-technical-documents-768x696.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/37.observations-on-building-rag-systems-for-technical-documents-1536x1392.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/37.observations-on-building-rag-systems-for-technical-documents-1140x1033.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/37.observations-on-building-rag-systems-for-technical-documents.png 1860w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>W takich dokumentacjach zawsze pojawiają się różne akronimy czy skróty, przykładowo składające się z dwóch, trzech, czterech, pięciu liter. Z punktu widzenia reprezentacji wektorowej, czy tam pojawi się jedna literka więcej, czy mniej, to nie sprawi dużej różnicy. Dla <em>embeddingu</em>, czy w liczbie jest sto tysięcy czy milion, to tylko jeden znak różnicy. Natomiast dla biznesu różnica pomiędzy sto tysięcy a milionem jest gigantyczna.</p>



<h3 class="wp-block-heading">Potrzeba ostrożności przy używaniu <em>embeddingu</em></h3>



<p>Osadzenie wektorowe daje bardzo fajne możliwości, ale używanie go na wyłączność, w szczególności w specyficznych, technicznych przypadkach, w tym w języku prawnym, z dużym prawdopodobieństwem może prowadzić do problemów. Jest ciekawa publikacja pod tytułem &#8222;Embedding is not all you need&#8221;, która podkreśla, że osadzenie wektorowe jest fajne, ale to nie jedyne, czego właściwie potrzebujesz.</p>



<p>Warto też wspomnieć o podejściu RAG (<em>Retrieval Augmented Generation</em>), które obecnie obok <em>fine-tuningu</em> jest popularnym podejściem. O wyzwaniach związanych z <em>fine-tuningiem</em> już wspomniałem, podkreślając, że nie przekreślam tej metody, ale przeraża mnie czasem zbyt lekkie podejście do tego procesu. Więcej szacunku powinno się wkładać w <em>fine-tuning</em>. Jeśli chodzi o RAG, zwykle myśli się o używaniu reprezentacji wektorowych do wyciągania poszczególnych fragmentów tekstu. Tutaj chciałem zaznaczyć, że można to robić na różne sposoby.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="761" src="https://biznesmysli.pl/wp-content/uploads/2024/06/38.similarity-is-not-all-you-need-1024x761.png" alt="" class="wp-image-11245" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/38.similarity-is-not-all-you-need-1024x761.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/38.similarity-is-not-all-you-need-300x223.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/38.similarity-is-not-all-you-need-768x571.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/38.similarity-is-not-all-you-need-1536x1142.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/38.similarity-is-not-all-you-need-2048x1523.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/06/38.similarity-is-not-all-you-need-1140x848.png 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>I taka reprezentacja wektorowa nie zawsze musi być w twoim rozwiązaniu. W szczególności w mojej organizacji, takim bardziej produkcyjnym, to ja mam takie podejście, gdzie można robić to inaczej. To nie zawsze eliminuje reprezentację wektorową, ale to co najmniej daje inny też mechanizm wyszukiwania.</p>



<h3 class="wp-block-heading">Znaczenie precyzji w wyszukiwaniu informacji</h3>



<p>I ta informacja, jeżeli chodzi o takie różne techniczne specyfikacje, gdzie tam to jest ważne, ta informacja, żeby wynaleźć, jest krytyczna. Poszukujesz konkretny akronim, dla ciebie jest ważne, żeby te trzy literki zawierały dosłownie te trzy literki, a nie jedna literka tu czy tam. No bo z punktu widzenia reprezentacji wektorowej, ta jedna literka w tym akronimie to jakby szczegół techniczny, jaka jest różnica. Ale z punktu widzenia odbiorcy, to może być bardzo, bardzo krytyczne.</p>



<p>Mam nadzieję, że to wyjaśnia, że reprezentacja wektorowa jest fajna, osobiście ją lubię, ale też trzeba rozumieć, jakie ona ma ograniczenia i też zalety albo możliwości. I w tym przypadku te ograniczenia zwykle cechują się tym, że jak będziesz używać tylko i wyłącznie reprezentacji wektorowej do wyszukiwania odpowiedzi, które będziesz potem podrzucać do modeli, to jest taka szansa, że będziesz wyszukiwać dużo różnego śmiecia, który niekoniecznie może być wartościowy dla tego biznesu. Oczywiście można powiedzieć tak, że możemy najpierw wyszukiwać mnóstwo i potem jakoś tam kalibrować, to czasem działa.</p>



<p>I tutaj zależy bardziej od biznesu, na ile kosztuje ten błąd, który możemy popełnić. Jeżeli to jest minimalny błąd, powiedzmy to jest jakiś post, który maksymalnie ktoś nie polajkuje, okej. Jak to jest już dokumentacja albo tematy prawne, to tutaj ten błąd może być coraz droższy, coraz większy.</p>



<p>Dlatego, trzeba na to uważać.</p>



<p></p>



<h2 class="wp-block-heading">Mit 7: AI zastąpi wszystkich ludzi &#8211; prawda czy mit?</h2>



<p>Temat brzmi kontrowersyjnie: <em>AI</em> zastąpi wszystkich ludzi. W pewnym sensie to mit, a w pewnym to prawda. Warto się nad tym zastanowić.</p>



<p>Dlaczego to prawda? Spójrzmy na to z perspektywy historycznej. Gdybyśmy cofnęli się o 50 czy 100 lat i przeprowadzili ówczesnego człowieka do dzisiejszych czasów, miałby on problem z odnalezieniem się. Można powiedzieć, że w pewnym sensie pozbawiliśmy go pracy. To, co umiał wtedy, teraz już nie jest potrzebne.</p>



<h3 class="wp-block-heading">Ewolucja zawodów i umiejętności</h3>



<p>Przez lata jako ludzie i cywilizacja dostrajaliśmy się do zmian. Robiliśmy swego rodzaju <em>fine-tuning</em> na poziomie naszych umysłów. Obserwowaliśmy, jak zmienia się rynek, czego potrzebuje, i uczyliśmy się nowych rzeczy i umiejętności. Okazuje się, że to, co robimy teraz, jest potrzebne.</p>



<p>Na czym polega więc mit? <em>AI</em> zmienia pewne rzeczy, zachodzą transformacje, ale też pojawiają się nowe obszary, których <em>AI</em> nie będzie w stanie zastąpić.</p>



<p>Kluczowe pytanie brzmi: co się zmieniło w tej zmianie? Ta zmiana już się odbyła. Od setek lat jako cywilizacja ciągle się rozwijamy. Jaka jest różnica między zmianą sprzed 100 lat a tą obecną?</p>



<p>Główna różnica tkwi w prędkości. Kiedyś człowiek miał całe życie na wykonywanie jednego zawodu. Syn czy wnuk robił już coś innego, ale dziadkowie niekoniecznie to rozumieli. Teraz zmiany zachodzą w trakcie życia jednej osoby. Już nie wystarczy tylko obserwować, co robią młodsze pokolenia. Każdy z nas musi zmieniać się w ciągu własnego życia.</p>



<h3 class="wp-block-heading">Wewnętrzna transformacja</h3>



<p>Dla Ciebie oznacza to konieczność wewnętrznej transformacji. Musisz być przygotowany na zachodzące zmiany. Nie ma już opcji, że raz się czegoś nauczysz i koniec nauki. Cokolwiek teraz robisz, Twój obecny zawód ulegnie zmianie. Pytanie tylko, na ile.</p>



<p>Weźmy na przykład tłumaczenie języków. Ten zawód właściwie już prawie zniknął. Nawet <em>Google Translate</em> to już historia. Wystarczy wziąć dobry model <em>LLM</em> i tłumaczy on bardzo dobrze. Można nawet mówić głosem, który jest konwertowany na tekst i z powrotem na mowę. Oczywiście mogą być jeszcze specyficzne przypadki wymagające ludzkiej ręki, ale w masowym rozumieniu zawód tłumacza zanika.</p>



<h3 class="wp-block-heading">Zawody wymagające kreatywności i złożonego myślenia</h3>



<p>Z drugiej strony weźmy zawód prawnika. Tu sprawa jest ciekawsza, bo choć jest dużo treści, które wydają się łatwe do zautomatyzowania, to nie jest takie proste. Prawnicy to w pewnym sensie też &#8222;programy&#8221;, ale operujące językiem ludzkim, nie programowania. Muszą odnajdywać konteksty, wykonywać twórcze prace, łączyć nieoczywiste kropki. Pewne rzeczy w branży prawnej się zmienią, jak np. wyszukiwanie informacji, ale cała reszta to złożony proces myślowy.</p>



<p>Ostatnio podczas konsultacji w banku osoba z audytu wspominała o wyzwaniu śledzenia nowych rozporządzeń i upewniania się, że reklamy banku są z nimi zgodne. To żmudna praca, ale…## Jak zmienia się świat pod wpływem sztucznej inteligencji?</p>



<p>Sztuczna inteligencja, a w szczególności <em>LLM (Large Language Models)</em>, już teraz wywiera znaczący wpływ na naszą rzeczywistość. Wiele rutynowych, żmudnych zadań może zostać zautomatyzowanych, co z jednej strony budzi obawy o miejsca pracy, a z drugiej daje nadzieję na odciążenie ludzi od monotonnych czynności.</p>



<p>Przykładem może być praca w bankowości, gdzie sprawdzanie zgodności reklam z nowymi rozporządzeniami to czasochłonne i mało satysfakcjonujące zajęcie. Jeśli <em>AI</em> przejmie tę część obowiązków, pracownicy będą mogli skupić się na bardziej konceptualnych i kreatywnych zadaniach.</p>



<h3 class="wp-block-heading">Ograniczenia i możliwości <em>LLM</em></h3>



<p>Mimo imponujących osiągnięć, obecne modele językowe mają swoje ograniczenia. Są świetne w rutynowych zadaniach, ale słabiej radzą sobie z planowaniem i rozumowaniem. Można je postrzegać jako zaawansowane &#8222;kalkulatory&#8221;, które potrafią zrobić wrażenie, ale nie są jeszcze gotowe do w pełni samodzielnej pracy w obszarach wymagających nieoczywistych decyzji i brania odpowiedzialności.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="656" src="https://biznesmysli.pl/wp-content/uploads/2024/06/39.can-large-language-models-reason-and-plan-1024x656.png" alt="" class="wp-image-11241" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/39.can-large-language-models-reason-and-plan-1024x656.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/39.can-large-language-models-reason-and-plan-300x192.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/39.can-large-language-models-reason-and-plan-768x492.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/39.can-large-language-models-reason-and-plan-1536x984.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/39.can-large-language-models-reason-and-plan-2048x1311.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/06/39.can-large-language-models-reason-and-plan-1140x730.png 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Oznacza to, że osoby wykonujące bardziej konceptualne zadania, jak prawnicy czy specjaliści od planowania, raczej nie stracą pracy na rzecz <em>AI</em>. Jednak transformacja rynku pracy niewątpliwie przyspiesza i warto być na nią przygotowanym.</p>



<h3 class="wp-block-heading">Jak odnaleźć się w zmieniającym się świecie?</h3>



<p>Kluczem do odnalezienia się w nowej rzeczywistości jest regularne rozwijanie swoich umiejętności i pozbycie się strachu. Panika i obawy nie pomogą, lepiej skupić się na zdobywaniu wiedzy i dostosowywaniu się do zmian.</p>



<p>Warto też spróbować wybiec myślami w przyszłość i zastanowić się, jak będzie wyglądał świat za rok czy dwa. Jeśli uda nam się &#8222;dogonić króliczka&#8221; i zrozumieć nadchodzące zmiany, łatwiej będzie nam płynnie dostosować się do nowej rzeczywistości, bez ciągłego stresu i poczucia, że nie nadążamy.</p>



<h3 class="wp-block-heading">Rozwój <em>AI</em> a liczba deweloperów</h3>



<p>Ciekawym aspektem rozwoju sztucznej inteligencji jest liczba deweloperów korzystających z jej możliwości. Przykładowo, z <em>API ChatGPT</em> korzysta obecnie około 3 miliony deweloperów. Może się to wydawać dużo, ale biorąc pod uwagę, że na świecie jest prawdopodobnie od 50 do 100 milionów programistów, to wciąż stosunkowo niewielki odsetek.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="494" src="https://biznesmysli.pl/wp-content/uploads/2024/06/40.ai_outlook-1024x494.png" alt="" class="wp-image-11240" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/40.ai_outlook-1024x494.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/40.ai_outlook-300x145.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/40.ai_outlook-768x371.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/40.ai_outlook-1140x550.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/40.ai_outlook.png 1498w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Można zatem przypuszczać, że jesteśmy dopiero na początku drogi i w najbliższych latach coraz więcej deweloperów będzie sięgać po narzędzia <em>AI</em> w swojej pracy. To z kolei przyspieszy rozwój i adaptację sztucznej inteligencji w różnych dziedzinach życia.</p>



<p>Sztuczna inteligencja zmienia nasz świat w zawrotnym tempie, ale nie musi to budzić strachu. Kluczem jest otwartość na zmiany, chęć ciągłego rozwoju i próba zrozumienia, co przyniesie przyszłość. Jeśli uda nam się wyprzedzić najbardziej dynamiczne zmiany, łatwiej będzie dostosować się do nowej rzeczywistości i czerpać z niej korzyści. Warto pamiętać, że rozwój <em>AI</em> to nie tylko automatyzacja rutynowych zadań, ale też szansa na bardziej kreatywną i satysfakcjonującą pracę dla ludzi</p>



<h3 class="wp-block-heading">Nie jest za późno na rozwój w świecie sztucznej inteligencji</h3>



<p>Choć <em>AI</em> rozwija się w błyskawicznym tempie, to jednak wciąż jeszcze nie przenikła do masowej świadomości. Nawet najbardziej popularny <em>ChatGPT</em> ma 50 milionów użytkowników na świecie, co w skali globalnej populacji nie jest aż tak imponującą liczbą. Co to oznacza dla Ciebie? Jeśli dotychczas nie interesowałeś się tematem sztucznej inteligencji, to wcale nie jesteś na straconej pozycji. Wciąż masz czas, by nadrobić zaległości i przygotować się na nadchodzące zmiany.</p>



<p>Pamiętaj jednak, że bierność w obliczu tak dynamicznego rozwoju technologii może sprawić, że faktycznie zostaniesz w tyle. Kluczem jest ciągłe doskonalenie swoich umiejętności i poszerzanie wiedzy. To już nie jest opcjonalny wybór, a raczej konieczność, którą warto przekazywać kolejnym pokoleniom. Świat zmienia się na naszych oczach i jedynym sposobem, by za nim nadążyć, jest aktywne uczestnictwo w tej transformacji.</p>



<h3 class="wp-block-heading">Sztuczna inteligencja to szansa na rozwój cywilizacji</h3>



<p>Choć łatwo skupiać się na potencjalnych zagrożeniach związanych z <em>AI</em>, warto dostrzec też pozytywne aspekty tej rewolucji technologicznej. Sztuczna inteligencja daje nam narzędzia do szybszego rozwoju jako cywilizacja. To od nas zależy, czy wykorzystamy tę szansę. Oczywiście, każdy z nas ma inne zdolności i możliwości, ale ostatecznie to nasza decyzja, czy chcemy się rozwijać.</p>



<p>Tempo, w jakim aktualizujemy swoją wiedzę, zależy od indywidualnych predyspozycji. Natomiast sam fakt, czy podejmujemy wysiłek, by poznawać nowe rzeczy, leży wyłącznie w naszych rękach. To właśnie te drobne, codzienne wybory będą kształtować naszą przyszłość w świecie zdominowanym przez <em>AI</em>. Wierzę, że podejmiesz właściwą decyzję i nie będziesz biernie czekać na to, co przyniesie los.</p>



<p></p>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>W ciągu zaledwie kilku minut poruszyliśmy wiele istotnych kwestii związanych ze sztuczną inteligencją. Oto krótkie podsumowanie:</p>



<ol>
<li>Na rynku istnieje wiele różnych modeli <em>AI</em>, nie tylko <em>ChatGPT</em>.</li>



<li><em>LLM</em> i <em>GenAI</em> to część szerszego obszaru uczenia maszynowego (<em>machine learning</em>), a dobre praktyki z <em>ML</em> mają zastosowanie także w kontekście języków naturalnych.</li>



<li>Halucynacje generowane przez <em>AI</em> to nie błąd, a inherentna cecha działania modeli językowych.</li>



<li>Duże okienka kontekstowe brzmią atrakcyjnie, ale wiążą się z szeregiem problemów.</li>



<li>Dostrajanie modeli <em>AI</em> wymaga ostrożności, by naprawiając jeden problem nie stworzyć wielu nowych.</li>



<li>Reprezentacje wektorowe mają swoje zalety, ale też ograniczenia, szczególnie w specjalistycznych dziedzinach.</li>



<li><em>AI</em> nie tylko zwolni niektórych ludzi, ale też stworzy nowe miejsca pracy. Sama w sobie jest jednak naiwna i ślepa, więc potrzebuje ludzkiego nadzoru.</li>
</ol>



<p>Mam nadzieję, że te informacje pomogą Ci lepiej zrozumieć złożoność tematu sztucznej inteligencji. Pamiętaj, że kluczem do sukcesu w nowej rzeczywistości jest ciągła nauka i otwartość na zmiany. Przyszłość należy do tych, którzy potrafią dostosować się do dynamicznie zmieniającego się świata.</p>



<h3 class="wp-block-heading">Doceniajmy nasze możliwości jako ludzie</h3>



<p>Jako ludzie często nie doceniamy tego, kim jesteśmy. Jeśli będziemy konkurować z kalkulatorem, to wiadomo, że on wygra, ale człowiek jest w stanie robić znacznie więcej rzeczy niż tylko liczyć. Nasuwa się tutaj pytanie filozoficzne, czy <em>AI</em>, na przykład ten, który obecnie mamy, ma świadomość. Możemy spekulować na ten temat.</p>



<p>W mojej opinii <em>AI</em>, ten model języka, o którym teraz mówimy, nigdy nie będzie miał świadomości, o której mówimy w kontekście człowieka, bo jest to z definicji ograniczone. To podobnie, jakbyś był na dachu drapacza chmur w dużym mieście i obserwował samochody. Patrząc z góry, masz wrażenie, że samochody poruszają się świadomie, jakby były żywymi organizmami. Ale wiesz, że w środku siedzi kierowca. Teraz możesz powiedzieć, że istnieją autonomiczne samochody, ale nie o to chodzi.</p>



<p>Ta świadomość to jest rzecz bardziej głębsza. I tu na koniec zostawię to pytanie: jak ty definiujesz tę świadomość i skąd wiesz, że u ciebie ona jest? To jest ważne pytanie, bo fajnie się zastanawiać, czy <em>LLM</em> ma świadomość. Ale równie istotne jest zapytanie samego siebie, czy ty jesteś świadomy. To jest kluczowa kwestia, którą chciałem ci zostawić do przemyślenia.</p>



<p></p>



<h2 class="wp-block-heading">Podziel się swoją opinią i zainspiruj innych</h2>



<p>Podziel się proszę w wygodny dla ciebie sposób w komentarzach czy w inny możliwy sposób, jak o tym myślisz. Bardzo jestem ciekaw twojej opinii. Poleć proszę też ten odcinek podcastu w dowolny, wygodny sposób, czy tam na jednej platformie, czy w drugiej, jak tam słuchasz. Poleć przynajmniej jednej osobie.</p>



<p>Będę ci za to bardzo wdzięczny i będę się starać dalej dzielić się z tobą wiedzą w najlepszy możliwy sposób, jak potrafię. To tyle na dzisiaj. Dziękuję ci bardzo za wspólnie spędzony czas. Cześć, na razie!</p>



<p></p>



<p></p>



<p></p>



<p></p>
<p>Artykuł <a href="https://biznesmysli.pl/7-mitow-o-sztucznej-inteligencji/">7 Mitów o sztucznej inteligencji</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://biznesmysli.pl/7-mitow-o-sztucznej-inteligencji/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sztuczna inteligencja zmienia szukanie odpowiedzi</title>
		<link>https://biznesmysli.pl/sztuczna-inteligencja-zmienia-szukanie-odpowiedzi/</link>
					<comments>https://biznesmysli.pl/sztuczna-inteligencja-zmienia-szukanie-odpowiedzi/#respond</comments>
		
		<dc:creator><![CDATA[Vladimir]]></dc:creator>
		<pubDate>Wed, 05 Jun 2024 07:00:00 +0000</pubDate>
				<category><![CDATA[LLM]]></category>
		<category><![CDATA[genai]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[NLP]]></category>
		<category><![CDATA[question-answering]]></category>
		<category><![CDATA[sztuczna intelgencja]]></category>
		<guid isPermaLink="false">https://biznesmysli.pl/?p=11104</guid>

					<description><![CDATA[<p>Wprowadzenie Vladimir: Cześć Piotrek, powiedz trochę więcej o sobie, czym się zajmujesz, gdzie mieszkasz? Piotr: Cześć, ja się nazywam Piotr Rybak, mieszkam w Warszawie i zajmuję się szeroko pojętym rozumieniem języka, tak zwanym Natural Language Processing (NLP). W tym się specjalizuję, ale też zajmuję się przy okazji całym nurtem uczenia maszynowego, trochę wizją komputerową, kiedyś też analizami sygnałów &#8211; bardzo różnymi rzeczami. Co się trafiało, tym też się zajmowałem. Natomiast główny mój fokus to jest właśnie rozumienie języka, przetwarzanie języka, budowanie tak naprawdę produktów, które wykorzystują w jakiś sposób ten komponent uczenia maszynowego, żeby rozumieć język. Ciekawa książka Vladimir: Właśnie, o tym dzisiaj porozmawiamy. Masz bardzo fajne doświadczenie, takie bardzo praktyczne, takie sobie najbardziej lubię. Ale tak na rozgrzewkę, powiedz, jaką fajną książkę ostatnio przeczytałeś i dlaczego warto ją przeczytać? Piotr: To jest bardzo problematyczne pytanie. Szczerze, nie wiem. Chyba od wielu lat nie czytam już książek. Jakoś mam wrażenie, że książki przestały być dobrym medium, jeżeli chodzi o naukę, o przekazywanie wiedzy. Kiedyś rzeczywiście dużo czytałem &#8211; bardzo dużo beletrystyki, potem też jakichś podręczników i tak dalej. Ale w sumie mam wrażenie, że w tej chwili cała branża rozwija się na tyle szybko i to zarówno, jeżeli chodzi o jakieś uczenie maszynowe, ale nie wiem &#8211; budowanie produktów czy cokolwiek innego, startupów &#8211; to się wszystko rozwija na tyle szybko, że najwięcej informacji jest na Twitterze, na Discordach. Gdzieś ludzie napiszą jakiś losowy komentarz i tam jest wiedza. I to trzeba śledzić. Tego na przykład czytam na bieżąco. Polecam przykładowo Hacker News &#8211; Polecam przykładowo Hacker News &#8211; to taka super stronka z newsami startupowymi, która ma niesamowite komentarze. Są tam najbardziej znane osoby na świecie, znani startupowcy. Jeżeli jest pytanie o MongoDB i ktoś narzeka, że coś w MongoDB jest beznadziejne, to nagle komentarz pisze twórca MongoDB i odpisuje merytorycznie, że jednak nie masz racji, bo to jest tak i tak. Mam wrażenie, że tam jest aktualnie najwięcej wiedzy i to należy czytać. Vladimir: Czyli to, co mówisz, to informacja teraz szybko się starzeje, a a propos Hacker News &#8211; to też ciekawostka, że ta stronka wygląda jak coś takiego starszego, ale faktycznie zawiera najbardziej świeże rzeczy, plus ta merytoryczność, o której wspomniałeś, tam jest. Dobrze, słuchaj, to zanurzajmy się w tematy dzisiejszego odcinka. Masz dużo doświadczenia z NLP, w szczególności w tzw. zadaniach zdanie-odpowiedź, czyli question answering. Zwykle jest tak, że ktoś, kto siedzi w tym bardzo długo, zapomina, jak to jest czegoś nie wiedzieć, i mówiąc niby prostymi słowami do kogoś innego, to nie zawsze jest takie oczywiste. I chciałbym, żeby osoba, która w tych tematach nie siedziała, po dzisiejszej naszej rozmowie zrozumiała wiele, a również osoby, które w tym temacie siedzą, też usłyszały przydatne informacje. Piotr: Jest to dość trudne zadanie, ale myślę, że dam radę. Czym jest question answering? Vladimir: Zacznijmy od początku, jeżeli chodzi o właśnie question answering. O co chodzi z tym zagadnieniem, jak możesz to wyjaśnić tak po ludzku, dlaczego to zagadnienie może być pomocne, wartościowe np. dla biznesu? Piotr: Jeżeli chodzi o question answering, to jest to bardzo, bardzo szeroka dziedzina przetwarzania i rozumienia języka naturalnego. I możemy sobie wyobrazić, dlaczego jest szeroka, podam kilka przykładów. Oczywiście możemy się spytać, kiedy była bitwa pod Grunwaldem? Vladimir: To sobie wyobrażamy jako standardowe odpowiadanie na pytanie. Była wtedy i wtedy. Ale ktoś może zadać pytanie, jak będzie po angielsku &#8222;biznes myśli&#8221;? Niby to jest question answering, ale tak naprawdę to jest tłumaczenie maszynowe. Ktoś może zapytać, ile to jest 2+2. Niby to jest question answering, niby ktoś sformułował to jako pytanie, ale tak naprawdę to nie jest pytanie, to jest użycie kalkulatora. I jakby sam question answering zajmuje się właśnie bardzo, bardzo wieloma rzeczami, bardzo wieloma typami. Ja się zajmuję, w szczególności tutaj podczas tej rozmowy, chyba skupiłem się na takim dosyć ograniczonym rozumieniu question answeringu jako wyszukiwaniu odpowiedzi. Question answering jako lepszy search Piotr: Znaczy, założyłbym, że mamy jakąś bazę wiedzy, np. dokumenty w firmie, i teraz mamy użytkownika, który chce się czegoś dowiedzieć, ale zamiast przeszukiwać te dokumenty ręcznie, chciałby zadać pytanie: ile dni urlopu przysługuje pracownikowi, który pracuje tutaj od roku? To jest konkretna informacja, która najprawdopodobniej jest w jakichś dokumentach kadrowych, HR-owych, tylko zamiast szukać tych informacji ręcznie, ja bym chciał tę informację, tę odpowiedź znaleźć. I w tym sensie odpowiadanie na pytania to jest tak naprawdę taki trochę lepszy search, trochę lepsza wyszukiwarka. Bo nie tylko znajdujemy dokumenty, w których ta odpowiedź jest, czy jakiś paragraf, w którym ta odpowiedź się znajduje. To jest pierwszy krok, ale drugi krok to jest jeszcze wyciągnięcie tej odpowiedzi i przedstawienie jej w jakiejś takiej bardziej naturalnej formie, czyli po prostu podanie informacji: 20 dni albo 26 dni, zamiast zdania, że tutaj jest dokument. Przydatność question answeringu Piotr: Czemu to jest przydatne? To jest analogicznie przydatne, jak Google jest przydatny. Mamy mnóstwo informacji, potrzebujemy informacji. W tym samym sensie po prostu każdy biznes żyje na informacjach w dzisiejszym świecie i tych informacji szuka podczas codziennej pracy. Co chwilę tak naprawdę zadajemy sobie jakieś pytania, czy jako programiści &#8211; jakie argumenty ma dana funkcja, czy jak coś zrobić. Wtedy używamy często tego Google&#8217;a, wyszukujemy, znajdujemy taką stronkę Stack Overflow, gdzie ktoś już zadał to pytanie i patrzymy, jaka jest odpowiedź. Ale oczywiście w każdej innej branży jest dokładnie to samo i niektóre te informacje są publicznie dostępne, jak właśnie w Google, a niektóre oczywiście są zamknięte w ramach naszych organizacji, w ramach naszych firm, bo mamy jakieś procedury, standardy i informacje wewnątrzfirmowe. Też musimy dobrze wyszukiwać te informacje i prezentować je, czy to naszym pracownikom, klientom, czy użytkownikom strony internetowej. Stack Overflow a ChatGPT Vladimir: Powiedziałeś, że to jest taka wyszukiwarka, tylko lepsza. Myślę, że Stack Overflow może nam się teraz przydać jako przykład. Wcześniej, jak ktoś potrzebował napisać kod i coś mu nie działało albo chciał coś nowego stworzyć, to wpisywał zapytanie do Google, trafiał zwykle na Stack Overflow, patrzył na rozwiązania, kopiował, wklejał, coś zmieniał i tak to działało. Był nawet taki żart &#8211; Stack Overflow Driven Development. Natomiast kiedy pojawił się ChatGPT, Stack Overflow zaczął być rzadziej używany. Zresztą, jak teraz nagrywamy, to już jest oficjalny news &#8211; ChatGPT, czyli OpenAI, zaczyna formalnie współpracować ze Stack Overflow. Wcześniej były tylko pogłoski, że parsują sobie te dane, a teraz to już formalna współpraca. Pojawiały się nawet śmieszne propozycje nazw, jak GPT Overflow, ale oficjalnie nazywa się to Overflow AI. Idea polega na tym, że teraz już nie musisz najpierw szukać w Google, analizować semantycznie wyników, tylko od razu wpisujesz, co chcesz i dostajesz odpowiedź. Wszystko sprowadza się do tego, że jako ludzie szybciej uzyskujemy potrzebne informacje. Ograniczenia ChatGPT Vladimir: Chociaż trzeba przyznać, że nie zawsze to działa. Wczoraj miałem wyzwanie z Kubernetesem, bo po kolejnej aktualizacji rozsypały mi się rzeczy. Kopiowałem błędy wszędzie &#8211; do Bardy, ChatGPT, Perplexity, Llamy &#8211; coś podpowiadały, ale ostatecznie musiałem sam pogrzebać głębiej w logach i rozwiązać problem. Choć czasem faktycznie pomaga. Podsumowując, teraz mamy mniej kroków i zwykle, choć nie zawsze, dostajemy precyzyjną odpowiedź na swoje pytania, prawda? Piotr: Tak, to jest założenie. Znaczy założenie jest takie, że odpowiedź gdzieś jest, przynajmniej w tym rozumieniu question answeringu, którym ja się zajmuję i który dla mnie jest obecnie najbardziej rozwiązaną częścią tego zagadnienia. Chodzi o to, że gdzieś w bazie dokumentów jest odpowiedź i chcemy ją wyciągnąć w dobrej formie. W przypadku tego błędu z Kubernetesem, być może nikt nigdy nie rozwiązał tego problemu, w sensie nie ma tej informacji w żadnym dokumencie &#8211; nikt nie zadał tego pytania na Stack Overflow, nie ma tego w dokumentacji ani w zgłoszeniach na GitHubie. Więc to jest coś, co jest nierozwiązywalne w takim standardowym question answeringu. Prawdopodobnie obecnie w ogóle nie jest to sensownie rozwiązywalne. Można liczyć, że kolejna wersja ChatGPT przeanalizuje kod źródłowy Kubernetes i wymyśli, z czego może wynikać błąd, ale jeszcze nie jesteśmy na tym etapie. To, co działa dobrze, to znalezienie informacji, która już gdzieś jest i być może przetworzenie jej w bardziej zrozumiały sposób, tak żeby łatwiej nam było to przeczytać. Vladimir: Masz rację, bo to była świeża aktualizacja, więc dopiero te błędy zaczęły się pojawiać i ludzie próbują to rozwiązać i gdzieś zgłosić. Dopiero później informacja będzie gdzieś zarejestrowana. Paradoks odpowiedzialności za rozwiązywanie problemów Vladimir: Tylko problem polega na tym, że ty jako osoba, która jesteś odpowiedzialna za to, musisz to rozwiązać. Więc to jest taki trochę paradoksalny stan, gdzie nadal człowiek nie ma wymówki, że nie ma jeszcze informacji, jak to rozwiązać, tylko musi coś sobie z tym zrobić. Piotr: Jak o tym pomyślimy, to takie sytuacje nie zdarzają się aż tak często. Raczej to, co widzimy, jak mamy kanał supportowy w firmie i komuś nie działa, nie ma dostępu do jakiejś usługi. Rzadko kiedy jest sytuacja, w której on jest akurat tą pierwszą osobą w firmie, która ma ten problem. To raczej jest tak, że już 50 innych osób napisało, że ma z tym problem i tylko człowiek z tego wsparcia IT musi po raz kolejny, 50. raz napisać &#8222;trzeba założyć ticket tutaj i tutaj&#8221;. Tak samo tutaj z tym błędem Kubernetesa, pewnie kolejne 50 osób już nie musi tego rozwiązywać samemu, tylko wystarczy, że znajdzie już to pierwsze rozwiązanie. Rozwiązywanie powtarzających się problemów dzięki technologii Vladimir: Właśnie, teraz dochodzimy do wniosku nr 1. Osoba decyzyjna, osoba, która buduje takie systemy, już wie co najmniej jedną rzecz &#8211; że jeżeli chcemy rozwiązać problem, który regularnie się powtarza, to obecnie technologie pozwalają robić to całkiem dobrze. Za chwilę też o tym porozmawiamy jak, ale mówimy, co jest możliwe. Open domain vs closed domain w question answering Vladimir: I teraz połączmy to z takim stwierdzeniem jak open domain, bo często pojawia się właśnie question answering w kontekście open domain albo closed domain. Gdzie jest ta definicja i jaka jest granica? Czy teraz, mówiąc o takiej wewnętrznej wyszukiwarce w firmie, to jest open domain czy to już nie do końca? Jak to definiujesz dla siebie? Piotr: To jest trudne pytanie. Wydaje mi się, że tak jak wiele prób postawienia granicy, to zależy. Dla mnie to jest raczej kwestia historyczna względem tego, jak kiedyś się rozwiązywało systemy question answering. To było raczej tak, że mamy jakiś dokument i zadajemy do tego dokumentu pytanie. To bym nazwał taki closed domain, to się teraz raczej nazywa reading comprehension, a open domain to jest na zasadzie, że mamy tę bazę wiedzy bardzo, bardzo dużą. Na tyle dużą, że możemy rzucić tam, w cudzysłowie, dowolne dokumenty, dowolnie dużo dokumentów, ale mamy tę bazę wiedzy. Teraz możemy zadawać dowolne pytania o tę bazę wiedzy i w tym sensie jest to open domain. Oczywiście, też założenie jest takie, że to jest rzeczywiście open domain w znaczeniu, że to mogą być dokumenty czy to prawnicze, czy jakieś lekarskie, czy techniczne i tak dalej. I to ma trochę znaczenie, ale raczej powiedziałbym, że rozróżnienie jest takie, czy mamy dużo tych dokumentów, czy to jest jeden dokument. Vladimir: Dobrze. Spróbujmy teraz zrobić taki punkt odniesienia na temat technicznych możliwości, jeżeli chodzi właśnie o &#8222;open&#8222;, &#8222;nie open&#8222;, question answering, czyli pytania, odpowiedzi. Skuteczność systemów AI w zadaniach question answering Vladimir: Czyli nawet uprośćmy sobie zdanie, załóżmy, że mówimy o angielskim, za chwilę też porozmawiamy o języku polskim. Gdzie jesteśmy teraz? Są różne benchmarki, ale chciałbym, żebyśmy to jakoś oszacowali bardziej tak po ludzku. Załóżmy, że jest ocena od 0 do 10 &#8211; 0 totalnie nie umiemy, 10 idealnie trafiamy zawsze w to, co trzeba. Załóżmy, że tych dokumentów jest nieskończenie wiele i znajdujemy dokładnie to, co trzeba, prosto, idealnie. Gdzie jesteśmy teraz? Przynajmniej może subiektywnie, to jest trochę, ale spróbujmy to oszacować, żeby osoba, która nie zna tych benchmarków po nazwach, była w stanie odnieść, co w tej chwili już jest możliwe. Piotr: Ja bym powiedział, że to jest 9, 9,5. Jest to w miarę rozwiązany problem, a przynajmniej rozwiązany w sensie użytkowym. Też pomyślmy o tym, że jeżeli system ma, powiedzmy, skuteczność 90%, czyli odpowiada na 90% pytań, to to wciąż jest bardzo użyteczny system. W sensie bardzo fajnie coś takiego wdrożyć, nie odpowiemy na wszystkie pytania i w każdym systemie, który...</p>
<p>Artykuł <a href="https://biznesmysli.pl/sztuczna-inteligencja-zmienia-szukanie-odpowiedzi/">Sztuczna inteligencja zmienia szukanie odpowiedzi</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-speaker-spotify-Z9bl1u wp-block-lazyblock-speaker-spotify"><div class="wp-block-columns are-vertically-aligned-center">
<div class="wp-block-column is-vertically-aligned-center">
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://api.spreaker.com/v2/episodes/60281713/download.mp3" target="_blank"><img decoding="async" src="https://biznesmysli.pl/wp-content/uploads/2020/02/spreaker.png" alt="" class="wp-image-2150" width="213" height="71"></a></figure></div>
</div>
<div class="wp-block-column is-vertically-aligned-center">
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://open.spotify.com/episode/697ChvNoIs9ouVE2ydzqtL" target="_blank"><img decoding="async" src="https://biznesmysli.pl/wp-content/uploads/2020/02/spotify-badge-button.png" alt="" class="wp-image-2149" width="192" height="93"></a></figure></div>
</div>
</div></div>


<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="&#x1f399;BM121: Sztuczna inteligencja zmienia szukanie odpowiedzi" width="960" height="540" src="https://www.youtube.com/embed/5-AwpwIJR8Q?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Wprowadzenie</h2>



<p><strong>Vladimir:</strong> Cześć Piotrek, powiedz trochę więcej o sobie, czym się zajmujesz, gdzie mieszkasz?</p>



<p><strong>Piotr:</strong> Cześć, ja się nazywam Piotr Rybak, mieszkam w Warszawie i zajmuję się szeroko pojętym rozumieniem języka, tak zwanym <em>Natural Language Processing</em> (NLP). W tym się specjalizuję, ale też zajmuję się przy okazji całym nurtem uczenia maszynowego, trochę wizją komputerową, kiedyś też analizami sygnałów &#8211; bardzo różnymi rzeczami. Co się trafiało, tym też się zajmowałem.</p>



<p>Natomiast główny mój fokus to jest właśnie rozumienie języka, przetwarzanie języka, budowanie tak naprawdę produktów, które wykorzystują w jakiś sposób ten komponent uczenia maszynowego, żeby rozumieć język.</p>



<h2 class="wp-block-heading">Ciekawa książka</h2>



<p><strong>Vladimir:</strong> Właśnie, o tym dzisiaj porozmawiamy. Masz bardzo fajne doświadczenie, takie bardzo praktyczne, takie sobie najbardziej lubię. Ale tak na rozgrzewkę, powiedz, jaką fajną książkę ostatnio przeczytałeś i dlaczego warto ją przeczytać?</p>



<p><strong>Piotr:</strong> To jest bardzo problematyczne pytanie. Szczerze, nie wiem. Chyba od wielu lat nie czytam już książek. Jakoś mam wrażenie, że książki przestały być dobrym medium, jeżeli chodzi o naukę, o przekazywanie wiedzy.</p>



<p>Kiedyś rzeczywiście dużo czytałem &#8211; bardzo dużo beletrystyki, potem też jakichś podręczników i tak dalej. Ale w sumie mam wrażenie, że w tej chwili cała branża rozwija się na tyle szybko i to zarówno, jeżeli chodzi o jakieś uczenie maszynowe, ale nie wiem &#8211; budowanie produktów czy cokolwiek innego, startupów &#8211; to się wszystko rozwija na tyle szybko, że najwięcej informacji jest na Twitterze, na Discordach. Gdzieś ludzie napiszą jakiś losowy komentarz i tam jest wiedza. I to trzeba śledzić. Tego na przykład czytam na bieżąco. Polecam przykładowo <a href="https://news.ycombinator.com/">Hacker News</a> &#8211;</p>



<p>Polecam przykładowo <a href="https://news.ycombinator.com/">Hacker News</a> &#8211; to taka super stronka z newsami startupowymi, która ma niesamowite komentarze. Są tam najbardziej znane osoby na świecie, znani startupowcy. Jeżeli jest pytanie o MongoDB i ktoś narzeka, że coś w MongoDB jest beznadziejne, to nagle komentarz pisze twórca MongoDB i odpisuje merytorycznie, że jednak nie masz racji, bo to jest tak i tak. Mam wrażenie, że tam jest aktualnie najwięcej wiedzy i to należy czytać.</p>



<p><strong>Vladimir:</strong> Czyli to, co mówisz, to informacja teraz szybko się starzeje, a a propos Hacker News &#8211; to też ciekawostka, że ta stronka wygląda jak coś takiego starszego, ale faktycznie zawiera najbardziej świeże rzeczy, plus ta merytoryczność, o której wspomniałeś, tam jest.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="892" src="https://biznesmysli.pl/wp-content/uploads/2024/06/1.hacker_news-1024x892.png" alt="" class="wp-image-11140" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/1.hacker_news-1024x892.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/1.hacker_news-300x261.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/1.hacker_news-768x669.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/1.hacker_news.png 1086w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Dobrze, słuchaj, to zanurzajmy się w tematy dzisiejszego odcinka. Masz dużo doświadczenia z NLP, w szczególności w tzw. zadaniach zdanie-odpowiedź, czyli <em>question answering</em>. Zwykle jest tak, że ktoś, kto siedzi w tym bardzo długo, zapomina, jak to jest czegoś nie wiedzieć, i mówiąc niby prostymi słowami do kogoś innego, to nie zawsze jest takie oczywiste. I chciałbym, żeby osoba, która w tych tematach nie siedziała, po dzisiejszej naszej rozmowie zrozumiała wiele, a również osoby, które w tym temacie siedzą, też usłyszały przydatne informacje.</p>



<p>Piotr: Jest to dość trudne zadanie, ale myślę, że dam radę.</p>



<h2 class="wp-block-heading">Czym jest question answering?</h2>



<p><strong>Vladimir:</strong> Zacznijmy od początku, jeżeli chodzi o właśnie <em>question answering</em>. O co chodzi z tym zagadnieniem, jak możesz to wyjaśnić tak po ludzku, dlaczego to zagadnienie może być pomocne, wartościowe np. dla biznesu?</p>



<p><strong>Piotr:</strong> Jeżeli chodzi o <em>question answering</em>, to jest to bardzo, bardzo szeroka dziedzina przetwarzania i rozumienia języka naturalnego. I możemy sobie wyobrazić, dlaczego jest szeroka, podam kilka przykładów.</p>



<p>Oczywiście możemy się spytać, <strong>kiedy była bitwa pod Grunwaldem?</strong></p>



<p>Vladimir: To sobie wyobrażamy jako standardowe odpowiadanie na pytanie. Była wtedy i wtedy. Ale ktoś może zadać pytanie, jak będzie po angielsku &#8222;biznes myśli&#8221;? Niby to jest <em>question answering</em>, ale tak naprawdę to jest tłumaczenie maszynowe.</p>



<p>Ktoś może zapytać, <strong>ile to jest 2+2</strong>. Niby to jest <em>question answering</em>, niby ktoś sformułował to jako pytanie, ale tak naprawdę to nie jest pytanie, to jest użycie kalkulatora.</p>



<p>I jakby sam <em>question answering</em> zajmuje się właśnie bardzo, bardzo wieloma rzeczami, bardzo wieloma typami. Ja się zajmuję, w szczególności tutaj podczas tej rozmowy, chyba skupiłem się na takim dosyć ograniczonym rozumieniu <em>question answeringu</em> jako wyszukiwaniu odpowiedzi.</p>



<p></p>



<h2 class="wp-block-heading">Question answering jako lepszy search</h2>



<p><strong>Piotr: </strong>Znaczy, założyłbym, że mamy jakąś bazę wiedzy, np. dokumenty w firmie, i teraz mamy użytkownika, który chce się czegoś dowiedzieć, ale zamiast przeszukiwać te dokumenty ręcznie, chciałby zadać pytanie: ile dni urlopu przysługuje pracownikowi, który pracuje tutaj od roku?</p>



<p>To jest konkretna informacja, która najprawdopodobniej jest w jakichś dokumentach kadrowych, HR-owych, tylko zamiast szukać tych informacji ręcznie, ja bym chciał tę informację, tę odpowiedź znaleźć.</p>



<p>I w tym sensie odpowiadanie na pytania to jest tak naprawdę taki trochę lepszy search, trochę lepsza wyszukiwarka. Bo nie tylko znajdujemy dokumenty, w których ta odpowiedź jest, czy jakiś paragraf, w którym ta odpowiedź się znajduje. To jest pierwszy krok, ale drugi krok to jest jeszcze wyciągnięcie tej odpowiedzi i przedstawienie jej w jakiejś takiej bardziej naturalnej formie, czyli po prostu podanie informacji: 20 dni albo 26 dni, zamiast zdania, że tutaj jest dokument.</p>



<p></p>



<h2 class="wp-block-heading">Przydatność question answeringu</h2>



<p>Piotr: Czemu to jest przydatne? To jest analogicznie przydatne, jak Google jest przydatny. Mamy mnóstwo informacji, potrzebujemy informacji. W tym samym sensie po prostu każdy biznes żyje na informacjach w dzisiejszym świecie i tych informacji szuka podczas codziennej pracy.</p>



<p>Co chwilę tak naprawdę zadajemy sobie jakieś pytania, czy jako programiści &#8211; jakie argumenty ma dana funkcja, czy jak coś zrobić. Wtedy używamy często tego Google&#8217;a, wyszukujemy, znajdujemy taką stronkę <a href="https://stackoverflow.com/">Stack Overflow</a>, gdzie ktoś już zadał to pytanie i patrzymy, jaka jest odpowiedź.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="749" src="https://biznesmysli.pl/wp-content/uploads/2024/06/4.stack-overflow-questions-1024x749.png" alt="" class="wp-image-11142" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/4.stack-overflow-questions-1024x749.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/4.stack-overflow-questions-300x219.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/4.stack-overflow-questions-768x562.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/4.stack-overflow-questions-1140x834.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/4.stack-overflow-questions.png 1321w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Ale oczywiście w każdej innej branży jest dokładnie to samo i niektóre te informacje są publicznie dostępne, jak właśnie w Google, a niektóre oczywiście są zamknięte w ramach naszych organizacji, w ramach naszych firm, bo mamy jakieś procedury, standardy i informacje wewnątrzfirmowe. Też musimy dobrze wyszukiwać te informacje i prezentować je, czy to naszym pracownikom, klientom, czy użytkownikom strony internetowej.</p>



<h2 class="wp-block-heading">Stack Overflow a ChatGPT</h2>



<p><strong>Vladimir:</strong> Powiedziałeś, że to jest taka wyszukiwarka, tylko lepsza. Myślę, że <a href="https://stackoverflow.com/">Stack Overflow</a> może nam się teraz przydać jako przykład.</p>



<p>Wcześniej, jak ktoś potrzebował napisać kod i coś mu nie działało albo chciał coś nowego stworzyć, to wpisywał zapytanie do Google, trafiał zwykle na Stack Overflow, patrzył na rozwiązania, kopiował, wklejał, coś zmieniał i tak to działało. Był nawet taki żart &#8211; Stack Overflow Driven Development.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="916" height="376" src="https://biznesmysli.pl/wp-content/uploads/2024/06/5.stackoverflow_dd.jpg" alt="" class="wp-image-11141" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/5.stackoverflow_dd.jpg 916w, https://biznesmysli.pl/wp-content/uploads/2024/06/5.stackoverflow_dd-300x123.jpg 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/5.stackoverflow_dd-768x315.jpg 768w" sizes="(max-width: 916px) 100vw, 916px" /></figure>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="318" height="418" src="https://biznesmysli.pl/wp-content/uploads/2024/06/6.copy_and_paste.jpg" alt="" class="wp-image-11143" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/6.copy_and_paste.jpg 318w, https://biznesmysli.pl/wp-content/uploads/2024/06/6.copy_and_paste-228x300.jpg 228w" sizes="(max-width: 318px) 100vw, 318px" /></figure></div>


<p></p>



<p>Natomiast kiedy pojawił się ChatGPT, Stack Overflow zaczął być rzadziej używany. </p>



<figure class="wp-block-image size-full"><img decoding="async" width="800" height="610" src="https://biznesmysli.pl/wp-content/uploads/2024/06/6.so_chatgpt.jpeg" alt="" class="wp-image-11144" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/6.so_chatgpt.jpeg 800w, https://biznesmysli.pl/wp-content/uploads/2024/06/6.so_chatgpt-300x229.jpeg 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/6.so_chatgpt-768x586.jpeg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p>Zresztą, jak teraz nagrywamy, to już jest oficjalny news &#8211; ChatGPT, czyli OpenAI, zaczyna formalnie współpracować ze Stack Overflow. Wcześniej były tylko pogłoski, że parsują sobie te dane, a teraz to już formalna współpraca. Pojawiały się nawet śmieszne propozycje nazw, jak GPT Overflow, ale oficjalnie nazywa się to Overflow AI.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="813" src="https://biznesmysli.pl/wp-content/uploads/2024/06/8.so_open-1024x813.png" alt="" class="wp-image-11148" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/8.so_open-1024x813.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/8.so_open-300x238.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/8.so_open-768x610.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/8.so_open-1536x1219.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/8.so_open-2048x1626.png 2048w, https://biznesmysli.pl/wp-content/uploads/2024/06/8.so_open-1140x905.png 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Idea polega na tym, że teraz już nie musisz najpierw szukać w Google, analizować semantycznie wyników, tylko od razu wpisujesz, co chcesz i dostajesz odpowiedź. Wszystko sprowadza się do tego, że jako ludzie szybciej uzyskujemy potrzebne informacje.</p>



<h2 class="wp-block-heading">Ograniczenia ChatGPT</h2>



<p><strong>Vladimir:</strong> Chociaż trzeba przyznać, że nie zawsze to działa. Wczoraj miałem wyzwanie z Kubernetesem, bo po kolejnej aktualizacji rozsypały mi się rzeczy. Kopiowałem błędy wszędzie &#8211; do Bardy, ChatGPT, Perplexity, Llamy &#8211; coś podpowiadały, ale ostatecznie musiałem sam pogrzebać głębiej w logach i rozwiązać problem. Choć czasem faktycznie pomaga.</p>



<p>Podsumowując, teraz mamy mniej kroków i zwykle, choć nie zawsze, dostajemy precyzyjną odpowiedź na swoje pytania, prawda?</p>



<p><strong>Piotr:</strong> Tak, to jest założenie. Znaczy założenie jest takie, że odpowiedź gdzieś jest, przynajmniej w tym rozumieniu <em>question answeringu</em>, którym ja się zajmuję i który dla mnie jest obecnie najbardziej rozwiązaną częścią tego zagadnienia.</p>



<p>Chodzi o to, że gdzieś w bazie dokumentów jest odpowiedź i chcemy ją wyciągnąć w dobrej formie. W przypadku tego błędu z Kubernetesem, być może nikt nigdy nie rozwiązał tego problemu, w sensie nie ma tej informacji w żadnym dokumencie &#8211; nikt nie zadał tego pytania na Stack Overflow, nie ma tego w dokumentacji ani w zgłoszeniach na GitHubie. Więc to jest coś, co jest nierozwiązywalne w takim standardowym <em>question answeringu</em>.</p>



<p>Prawdopodobnie obecnie w ogóle nie jest to sensownie rozwiązywalne. Można liczyć, że kolejna wersja ChatGPT przeanalizuje kod źródłowy Kubernetes i wymyśli, z czego może wynikać błąd, ale jeszcze nie jesteśmy na tym etapie.</p>



<p>To, co działa dobrze, to znalezienie informacji, która już gdzieś jest i być może przetworzenie jej w bardziej zrozumiały sposób, tak żeby łatwiej nam było to przeczytać.</p>



<p><strong>Vladimir:</strong> Masz rację, bo to była świeża aktualizacja, więc dopiero te błędy zaczęły się pojawiać i ludzie próbują to rozwiązać i gdzieś zgłosić. Dopiero później informacja będzie gdzieś zarejestrowana.</p>



<h2 class="wp-block-heading">Paradoks odpowiedzialności za rozwiązywanie problemów</h2>



<p><strong>Vladimir:</strong> Tylko problem polega na tym, że ty jako osoba, która jesteś odpowiedzialna za to, musisz to rozwiązać. Więc to jest taki trochę paradoksalny stan, gdzie nadal człowiek nie ma wymówki, że nie ma jeszcze informacji, jak to rozwiązać, tylko musi coś sobie z tym zrobić.</p>



<p><strong>Piotr: </strong>Jak o tym pomyślimy, to takie sytuacje nie zdarzają się aż tak często. Raczej to, co widzimy, jak mamy kanał supportowy w firmie i komuś nie działa, nie ma dostępu do jakiejś usługi. Rzadko kiedy jest sytuacja, w której on jest akurat tą pierwszą osobą w firmie, która ma ten problem.</p>



<p>To raczej jest tak, że już 50 innych osób napisało, że ma z tym problem i tylko człowiek z tego wsparcia IT musi po raz kolejny, 50. raz napisać &#8222;trzeba założyć ticket tutaj i tutaj&#8221;. Tak samo tutaj z tym błędem Kubernetesa, pewnie kolejne 50 osób już nie musi tego rozwiązywać samemu, tylko wystarczy, że znajdzie już to pierwsze rozwiązanie.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="761" src="https://biznesmysli.pl/wp-content/uploads/2024/06/13.perplexity-1024x761.png" alt="" class="wp-image-11149" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/13.perplexity-1024x761.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/13.perplexity-300x223.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/13.perplexity-768x571.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/13.perplexity-1536x1142.png 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/13.perplexity-1140x847.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/13.perplexity.png 2002w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Rozwiązywanie powtarzających się problemów dzięki technologii</h2>



<p><strong>Vladimir:</strong> Właśnie, teraz dochodzimy do wniosku nr 1. </p>



<blockquote class="wp-block-quote">
<p></p>
<cite>Osoba decyzyjna, osoba, która buduje takie systemy, już wie co najmniej jedną rzecz &#8211; że jeżeli chcemy rozwiązać problem, który regularnie się powtarza, to obecnie technologie pozwalają robić to całkiem dobrze. </cite></blockquote>



<p>Za chwilę też o tym porozmawiamy jak, ale mówimy, co jest możliwe.</p>



<h2 class="wp-block-heading">Open domain vs closed domain w question answering</h2>



<p><strong>Vladimir:</strong> I teraz połączmy to z takim stwierdzeniem jak <em>open domain</em>, bo często pojawia się właśnie <em>question answering</em> w kontekście <em>open domain</em> albo <em>closed domain</em>. Gdzie jest ta definicja i jaka jest granica? Czy teraz, mówiąc o takiej wewnętrznej wyszukiwarce w firmie, to jest <em>open domain</em> czy to już nie do końca? Jak to definiujesz dla siebie?</p>



<p><strong>Piotr:</strong> To jest trudne pytanie. Wydaje mi się, że tak jak wiele prób postawienia granicy, to zależy. Dla mnie to jest raczej kwestia historyczna względem tego, jak kiedyś się rozwiązywało systemy <em>question answering</em>.</p>



<p>To było raczej tak, że mamy jakiś dokument i zadajemy do tego dokumentu pytanie. To bym nazwał taki <em>closed domain</em>, to się teraz raczej nazywa <em>reading comprehension</em>, a <em>open domain</em> to jest na zasadzie, że mamy tę bazę wiedzy bardzo, bardzo dużą. Na tyle dużą, że możemy rzucić tam, w cudzysłowie, dowolne dokumenty, dowolnie dużo dokumentów, ale mamy tę bazę wiedzy.</p>



<p>Teraz możemy zadawać dowolne pytania o tę bazę wiedzy i w tym sensie jest to <em>open domain</em>. Oczywiście, też założenie jest takie, że to jest rzeczywiście <em>open domain</em> w znaczeniu, że to mogą być dokumenty czy to prawnicze, czy jakieś lekarskie, czy techniczne i tak dalej.</p>



<p>I to ma trochę znaczenie, ale raczej powiedziałbym, że rozróżnienie jest takie, czy mamy dużo tych dokumentów, czy to jest jeden dokument.</p>



<p><strong>Vladimir:</strong> Dobrze. Spróbujmy teraz zrobić taki punkt odniesienia na temat technicznych możliwości, jeżeli chodzi właśnie o &#8222;<em>open</em>&#8222;, &#8222;<em>nie open</em>&#8222;, <em>question answering</em>, czyli pytania, odpowiedzi.</p>



<h2 class="wp-block-heading">Skuteczność systemów AI w zadaniach question answering</h2>



<p><strong>Vladimir:</strong> Czyli nawet uprośćmy sobie zdanie, załóżmy, że mówimy o angielskim, za chwilę też porozmawiamy o języku polskim. Gdzie jesteśmy teraz? Są różne benchmarki, ale chciałbym, żebyśmy to jakoś oszacowali bardziej tak po ludzku. Załóżmy, że jest ocena od 0 do 10 &#8211; 0 totalnie nie umiemy, 10 idealnie trafiamy zawsze w to, co trzeba. Załóżmy, że tych dokumentów jest nieskończenie wiele i znajdujemy dokładnie to, co trzeba, prosto, idealnie. Gdzie jesteśmy teraz? Przynajmniej może subiektywnie, to jest trochę, ale spróbujmy to oszacować, żeby osoba, która nie zna tych benchmarków po nazwach, była w stanie odnieść, co w tej chwili już jest możliwe.</p>



<p><strong>Piotr:</strong> Ja bym powiedział, że to jest 9, 9,5. Jest to w miarę rozwiązany problem, a przynajmniej rozwiązany w sensie użytkowym. Też pomyślmy o tym, że jeżeli system ma, powiedzmy, skuteczność 90%, czyli odpowiada na 90% pytań, to to wciąż jest bardzo użyteczny system. W sensie bardzo fajnie coś takiego wdrożyć, nie odpowiemy na wszystkie pytania i w każdym systemie, który jest oparty o uczenie maszynowe, nigdy nie będziemy mieli 100% skuteczności, ale powyżej jakiejś skuteczności ten system już jest użyteczny.</p>



<p>Oczywiście ta proporcja jest różna w zależności od tego, co robimy. Jeżeli gramy w ruletkę i chcemy przewidywać, czy będzie czerwone czy czarne, to nawet jak mamy 55% skuteczności, to już możemy się wzbogacić i wygrywać miliony w kasynie. Ale jakby to było 55% skuteczności w wyszukiwaniu jakiejś informacji, to pewnie nie byłoby to bardzo wysokim wynikiem.</p>



<p>Ja bym powiedział, że to w tej chwili raczej są rzędu właśnie 80-90-90 parę procent. Trochę zależy od tego, jak skomplikowane są te pytania. Trochę zależy, jak bardzo różne są pytania od dokumentów. Znaczy, jeżeli pytanie jest bardzo skomplikowane i ma bardzo dużo szumów i śmieciowych informacji, które nie są istotne, a dokumenty wyglądają zupełnie inaczej, no to wtedy wiadomo, że ten model, jakiś model, system będzie miał trudność, żeby znaleźć dobre dokumenty, żeby generować dobrą odpowiedź. Im prostsze, czystsze, takie sensowniejsze są pytania i im lepszej jakości są dokumenty, to czasami to działa praktycznie zawsze i zawsze dostajemy dobrą odpowiedź.</p>



<h2 class="wp-block-heading">Użyteczność systemów AI vs ludzie</h2>



<p><strong>Vladimir:</strong> A fajnie to rozdzieliłeś, bo ja cię zapytałem właśnie o ocenę i to jest blisko idealne, czyli bardzo blisko dziesiątki jesteśmy, ale też fajnie to rozdzieliłeś, że jest jeszcze druga miara – użyteczność. I właściwie, jeżeli chodzi o użyteczność, to jak nie mamy takiej wyszukiwarki wewnętrznej, powiedzmy w większym atelier, no to mamy ludzi. I taka Zuzia albo Jacek to też nie zawsze odpowiada na wszystkie pytania, ale nadal zwykle pytamy kogoś, więc pod tym względem i tak ten problem istnieje, czyli nie mając tych narzędzi też nie mamy zwykle, jeżeli to jest w miarę większa firma, jakieś skomplikowane procedury, rzeczy itd., to zwykle też nie ma pojedynczej osoby, która wie wszystko.</p>



<p><strong>Piotr:</strong> Co ciekawe, też istnieje takie routery, że jest ta osoba, która wie, kto może wiedzieć i to też jest taka ciekawa rzecz, którą można stosować technologicznie, że masz takie routery i przekierowujesz się do pojedynczych takich modeli, agentów, jakkolwiek tam je nazwać, a oni się skupiają na którejś tam działce, na przykład ten na HR, ten na marketingu, ten tam jeszcze na urlopach itd.</p>



<p>Udało mi się tak w jednej firmie wpaść w cykl, że spytałem osoby A, jak coś zrobić, zostałem przekierowany do osoby B, osoba B przekierowała mnie do osoby C, osoba C do osoby A i tak naprawdę już ciężko było powiedzieć, co z tym zrobić.</p>



<p>Natomiast co do tej skuteczności ludzi, to też jest coś, co jest w pewnym sensie niesamowite. Czy nie wiem, na ile się zmieniła percepcja ostatnio, ale jeszcze parę lat temu było oczekiwanie takie, że ludzie są bezbłędni, a to uczenie maszynowe czy ta AI, sztuczna inteligencja, no to ona popełnia błędy, ona się myli, ona jest głupia i jest generalnie gorsza od ludzi.</p>



<p>I to naprawdę powodowało duże problemy w rozmowie z klientami, bo robiliśmy badania na zasadzie, trzeba było, nie wiem, klasyfikować teksty, powiedzmy, czy tekst jest z jakiejś tematyki. I wcześniej to robili ludzie, a teraz my to automatyzowaliśmy, robiąc model uczenia maszynowego. I ten model miał skuteczność 80%. No i wtedy klienci mówili: &#8222;Nie, no tragedia, 80%, o Panie, to w ogóle nas nie satysfakcjonuje, my nie jesteśmy w stanie przeżyć 20% błędów&#8221;. Tak, no tak, ale my daliśmy te same przypadki testowe wam, w sensie waszym pracownikom i oni mieli skuteczność 75%. &#8222;Nie, ale to co innego, nie, nie, nie, my nie możemy przeżyć 20% błędów&#8221;.</p>



<h2 class="wp-block-heading">Błędy ludzi vs błędy maszyn</h2>



<p><strong>Piotr:</strong> Coś w tym jest. Nie wiem, w sensie to nie jest bardzo głupie podejście, bo rzeczywiście ludzie mylą się inaczej niż maszyny. Maszyny często się mylą w dużo głupszy sposób, więc te błędy są inne i być może te błędy są jakby bardziej problematyczne. Natomiast wciąż jest takie przekonanie, że człowiek jest stuprocentowo skuteczny i maszyna też musi być stuprocentowo skuteczna, w szczególności żeby była użyteczna.</p>



<p>A to zupełnie nie jest prawda. Jeżeli nawet mamy taki system do odpowiadania na pytania, który odpowiada tylko w połowie przypadków poprawnie, to to też jest super. Jeżeli wcześniej zajmowało nam na przykład godzinę, żeby znaleźć jakiś akt prawny, który opisuje jakąś sytuację prawną, no i teraz w połowie przypadków ten czas z godziny spada do 5 sekund, to wciąż oszczędzamy mnóstwo czasu. Może tylko w połowie przypadków, ale wciąż oszczędzamy mnóstwo czasu, bo każda ta rozwiązana sprawa to jest godzina do przodu.</p>



<p><strong>Vladimir:</strong> Chciałem rzec coś innego, ale jak powiedziałeś, że maszyny się mylą w bardziej głupi sposób, aż się prosi, żeby jakiś <em>leaderboard</em> stworzyć i porównać, kto potrafi się mylić bardziej głupio &#8211; maszyny czy ludzie, bo ludzie też czasem robią różne głupie rzeczy.</p>



<p><strong>Piotr:</strong> Ludzie, na przykład, jak się mylą, to często się mylą dlatego, że są rozkojarzeni. W sensie raczej nie popełniają głupich pomyłek tak po prostu, w jakiś taki jeden konkretny sposób, tylko na przykład nie chce im się, to klikną coś losowo i też tego typu błędy bardzo łatwo wychwycić.</p>



<p>A jak model się myli, to często się myli w głupi, ale nieoczywisty sposób, taki, że nie jesteśmy w stanie tego łatwo wykryć.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="602" height="593" src="https://biznesmysli.pl/wp-content/uploads/2024/06/14.ai-cow-1.jpeg" alt="" class="wp-image-11151" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/14.ai-cow-1.jpeg 602w, https://biznesmysli.pl/wp-content/uploads/2024/06/14.ai-cow-1-300x296.jpeg 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/14.ai-cow-1-75x75.jpeg 75w" sizes="(max-width: 602px) 100vw, 602px" /></figure></div>


<p>Jak posadzimy dwóch ludzi i każemy im anotować czy patrzeć na ten sam przykład, to nawet jeżeli jedna z tych osób się pomyli, to bardzo łatwo jest wykryć, że się pomyliła. Jak wytrenujemy dwa modele, to już nie jest aż takie oczywiste, że modele będą zazwyczaj w ten sam sposób skrzywione, przynajmniej w podobny sposób skrzywione, i to już wtedy nie jest oczywiste, żeby to naprawić.</p>



<p><strong>Vladimir:</strong> O anotacjach gdzieś jeszcze porozmawiamy, temat pewnie rzeka, ale w tym przypadku na pewno Cię podpytam. Ale żeby skończyć tę myśl, którą zacząłem &#8211; powiedziałem tak: jaka jest ocena obecnych rozwiązań?</p>



<p>Powiedziałeś, że blisko dziesiątki. A teraz cofniemy się w czasie, powiedzmy 10 lat temu, może 15. I to samo pytanie, czyli jaka była wtedy dostępność rozwiązań, jeśli chodzi o ten problem <em>question answering</em>, od 0 do 10? Jak to oceniałbyś teraz?</p>



<p><strong>Piotr:</strong> Powiedziałbym, że było dużo gorzej. Znaczy, trochę rewolucyjnych rzeczy się zmieniło i to jakby w dwóch krokach. Może delikatnie rozbiję, w jaki sposób się w ogóle tego typu systemy buduje.</p>



<h2 class="wp-block-heading">Dwa kroki w budowaniu systemów question answering</h2>



<p>Zazwyczaj składa się to z dwóch kroków. Pierwsza to jest wyszukiwarka, czyli mamy dużo dokumentów, mamy pytanie i chcemy znaleźć dokumenty, które odpowiadają na to pytanie. To jest pierwszy krok &#8211; wyszukiwanie dokumentów.</p>



<p>A drugie to, jak już mamy ten dokument, to jak znaleźć odpowiedź w tym dokumencie. I w obu częściach zdarzyła się tak naprawdę rewolucja, przy czym, powiedziałbym, większa rewolucja jest w tej drugiej części, w wyciąganiu informacji z dokumentu.</p>



<p>Tutaj w szczególności modele generatywne, takie jak <em>large language models</em>, czyli LLM, na przykład GPT itd., to jest coś, co zdecydowanie podniosło skuteczność tego typu systemów.</p>



<p>Ale w wyszukiwarkach też się trochę rzeczy zadziało. W szczególności przeszliśmy z używania takich klasycznych wyszukiwarek opartych o słowa kluczowe do wyszukiwarek właśnie opartych o sieci neuronowe. I to było, jest dla mnie cały czas zaskakujące, bo to się wydarzyło dopiero niedawno. To są ostatnie, nie wiem, 2-3 lata.</p>



<p>Mimo że ludzie próbowali już od dawna używać sieci neuronowych do tego, żeby wyszukiwać, to okazuje się, że te wyszukiwarki oparte o słowa kluczowe są po prostu bardzo, bardzo dobre. I one bardzo dobrze działają. Jeżeli dodamy jeszcze jakieś triki na zasadzie lematyzacji tych słów &#8211; w języku polskim jest to istotne.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="206" src="https://biznesmysli.pl/wp-content/uploads/2024/06/lematyzacja-1024x206.jpg" alt="" class="wp-image-11153" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/lematyzacja-1024x206.jpg 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/lematyzacja-300x60.jpg 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/lematyzacja-768x154.jpg 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/lematyzacja-1536x308.jpg 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/lematyzacja-1140x229.jpg 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/lematyzacja.jpg 1664w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Lematyzacja, czyli sprowadzenie do takiej formy podstawowej, do bezokolicznika czy do mianownika w przypadku rzeczowników. W przypadku języka polskiego jest to problematyczne, dla angielskiego nie ma to dużego znaczenia, bo tam nie ma aż takiej deklinacji.</p>



<p>Tak, jeżeli dodamy jakieś, nie wiem, predefiniowane listy synonimów, to tak naprawdę taka wyszukiwarka oparta o słowa kluczowe działa bardzo dobrze. I w tym sensie te systemy nadal były użyteczne już te 5, 10, 15 lat temu. Google powstał ile, 20 lat temu</p>



<h2 class="wp-block-heading">Czym jest LLM?</h2>



<p><strong>Vladimir:</strong> Dobra, i teraz ta druga część, jeżeli chodzi o poprawę, to między innymi tam pojawi się LLM, tak zwany <em>large language model</em>. Nie będziemy za bardzo się skupiać na definicji, co to jest, ale chciałbym też podpytać, czym dla Ciebie jest LLM i kiedy to jest duży.</p>



<p><strong>Piotr:</strong> To może dwa słowa powiem, czym jest LLM, żeby uprościć dyskusję. LLM, czyli <em>large language model</em>, składa się z dwóch części. <em>Language model</em> to jest takie bardzo proste zadanie uczenia maszynowego, gdzie mamy jakiś tekst i chcemy przewidzieć, jakie będzie kolejne słowo w tym tekście. I to jest super zadanie, bo z jednej strony mamy bardzo dużo danych do uczenia. Wystarczy ściągnąć cały internet, wziąć wszystkie możliwe książki na świecie i mamy przygotowane dane, żeby trenować taki model. Po prostu czytamy sobie i przewidujemy kolejne słowo.</p>



<p>A z drugiej strony jest to fajne zadanie, bo to jest takie zadanie, trochę jak właśnie <em>question answering</em>, które enkapsuluje wszystkie inne zadania. Jeżeli mamy zadanie klasyfikacji wydźwięku tweetów, czy tweet jest pozytywny, czy negatywny, to możemy dać tę treść tweeta, a potem napisać &#8222;ten tweet jest&#8221; i liczymy, że <em>language model</em> nam powie: pozytywny, negatywny, bo musi przewidzieć kolejne słowo. Jakie będzie najbardziej prawdopodobne kolejne słowo? Albo pozytywny, negatywny i która z tych słów raczej ta prawidłowa. Czy <em>question answering</em> też możemy rozwiązać za pomocą <em>language modelingu</em>.</p>



<h2 class="wp-block-heading">Kiedy model językowy staje się &#8222;duży&#8221;?</h2>



<p><strong>Piotr:</strong> Ludzie to robili od lat i zajmowali się tym od lat, i to zawsze było w jakiś tam sposób użyteczne. Natomiast faktycznie zaczęło być super użyteczne od kiedy dodaliśmy to pierwsze &#8222;L&#8221;, czyli <em>large</em>. To znaczy, ludzie zauważyli, głównie tak naprawdę <a href="https://openai.com/" class="broken_link">OpenAI</a> zauważyło, że jeżeli będziemy skalować te modele językowe, czyli te sieci neuronowe, które właśnie przewidują to kolejne słowo, jeżeli będziemy je robić coraz większe i coraz większe, i coraz większe, to te modele będą działać coraz lepiej, coraz lepiej i coraz lepiej.</p>



<p>I to się wydaje banalny wniosek. No wiadomo, jak będzie większe, to będzie lepsze, ale to nie jest oczywisty wniosek. Znaczy, raczej zazwyczaj było tak, że jeżeli mieliśmy więcej danych, no to wiadomo, że model był lepszy, ale w którymś momencie ta skuteczność się wypłaszczała, już nie warto było mieć więcej danych. Albo jeżeli zwiększaliśmy model, to ok, no było lepiej, ale do pewnego momentu, potem już nie było</p>



<h2 class="wp-block-heading">Skalowanie modeli językowych i ilości danych</h2>



<p><strong>Vladimir</strong>: Okazało się, że jeśli będziemy skalować obie te rzeczy na raz, czyli wielkość modelu i ilość danych, a obie rzeczy możemy skalować &#8211; wielkość modelu, po prostu musimy mieć więcej kart graficznych, więcej GPU, na których trenujemy ten model, no i danych też mamy bardzo dużo, bo możemy brać po prostu strony internetowe, książki itd. I w pewnym sensie mamy tych danych nieograniczenie wiele, chociaż okazuje się, że już dochodzimy do tej granicy.</p>



<p>To okazuje się, że jeżeli będziemy to tak skalować, to się nie wypłaszcza. Znaczy wiadomo, że za każdym razem musimy dawać na przykład 10 razy więcej danych i 10 razy większy model, ale wtedy mamy zawsze stały przyrost skuteczności. No i od pewnego momentu te modele po prostu zaczęły działać bardzo, bardzo dobrze i rzeczywiście zaczęły działać w ten sposób, w jaki zawsze ludzie teoretycznie myśleli, że by było fajnie, gdyby te modele językowe działały.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="567" src="https://biznesmysli.pl/wp-content/uploads/2024/06/18.scaling_law-1024x567.png" alt="" class="wp-image-11152" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/18.scaling_law-1024x567.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/18.scaling_law-300x166.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/18.scaling_law-768x425.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/18.scaling_law-1140x631.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/18.scaling_law.png 1381w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Piotr</strong>: Czyli właśnie ten przykład z tweetami, że po prostu dajemy tweet i się pytamy, jaki jest sens tego tweeta. No i to było takie machanie rękami, że to powinno działać, ale od pewnego momentu okazało się, że to faktycznie działa. No i to było w jakimś sensie niesamowite, znaczy mnie to osobiście zaskoczyło, że to faktycznie może tak działać.</p>



<h2 class="wp-block-heading">Prompt engineering</h2>



<p>No i wtedy też pojawił się cały ten nurt <em>promptingu</em>, tak, <em>prompt engineeringu</em>, no bo skoro to w ten sposób działa, no to teraz może ma znaczenie, jaką napiszemy tę początkową sekwencję i włożymy do modelu językowego. Czy najpierw damy treść tweeta, a potem napiszemy: sklasyfikuj ten tweet to&#8230;, czy najpierw napiszemy: sklasyfikuj tweet i coś dalej, i tak dalej.</p>



<p>I okazało się, że w tych początkowych modelach językowych ma to bardzo duże znaczenie, bo on jedyne, czego się uczył, to właśnie przewidywać kolejne słowo.</p>



<p>Taki znany przykład jest na przykład ze streszczeniem. Jak się czyta dużo <a href="https://www.reddit.com/" class="broken_link">Reddita</a> na przykład, to często posty są pisane w ten sposób, że jest napisany post, a potem <em>tl;dr</em>, czyli &#8222;too long; didn&#8217;t read&#8221;. Ludzie pisali kilkuzdaniowe streszczenie, o co chodzi w tym poście.</p>



<p>I okazało się, że skoro model przeczytał bardzo dużo tego typu tekstów, no to wiedział, że po słówku <em>tl;dr</em> ma napisać streszczenie. Więc jak wzięliśmy taki początkowy language model, GPT-2 czy GPT-3, i daliśmy mu jakiś tekst, a potem daliśmy <em>tl;dr</em>, to on fenomenalnie potrafił generować streszczenie.</p>



<p>No i teraz to jest przydatne, bo te modele są po prostu bardzo zdolne, mają bardzo dużo umiejętności, bardzo dobrze rozumieją tekst i w szczególności nie wymagają bardzo dużo danych treningowych.</p>



<p>Często nie potrzebują w ogóle danych treningowych, tylko wymagają dobrze napisanego promptu, żeby już rozwiązywać jakieś konkretne zadania. Jednym, oczywiście bardzo specyficznym zadaniem, jest właśnie wyciąganie odpowiedzi z dokumentów czy synteza informacji z dokumentów, żeby odpowiedzieć na pytanie.</p>



<p><strong>Vladimir</strong>: Bardzo mi się podoba, jeżeli chodzi o ten duży model, że zwrócono uwagę, iż nie chodzi tylko o rozmiar architektury czy liczbę parametrów. Zwykle osoby, które są poza tematem, mierzą się, kto ma tych 13 miliardów parametrów, kto 7 itd. Ale ważne jest też to, że dotyczy to danych. W obecnych czasach, jak już udało się znaleźć pewien poziom, to teraz jest taka walka &#8211; co jeżeli zmniejszamy rozmiar modelu, a bardziej pracujemy na jakości i ilości danych, próbując osiągnąć tę samą rzecz.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="942" height="990" src="https://biznesmysli.pl/wp-content/uploads/2024/06/19.size_llm.png" alt="" class="wp-image-11154" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/19.size_llm.png 942w, https://biznesmysli.pl/wp-content/uploads/2024/06/19.size_llm-285x300.png 285w, https://biznesmysli.pl/wp-content/uploads/2024/06/19.size_llm-768x807.png 768w" sizes="(max-width: 942px) 100vw, 942px" /></figure>



<p>Widać, że dane w tej chwili odgrywają ważną rolę. Był taki moment, pewna iluzja, że wystarczy wrzucić cokolwiek, bo mamy duży model i on sobie jakoś tam poradzi. Jednak po raz kolejny odbiło się to o tę iluzję i znów wraca się do tego, że jakość danych ma sens. Ilość i jakość w tym przypadku odgrywają ważną rolę.</p>



<h2 class="wp-block-heading">Znaczenie danych w trenowaniu modeli</h2>



<p><strong>Piotr</strong>: To znaczy, koniec końców, to czego się ten model uczy, to po prostu tych danych. Im więcej tych danych damy, tym więcej informacji się nauczy. Nawet niekoniecznie lepszej jakości, bo bardzo ciężko zdefiniować, co znaczy lepszej jakości dane, ale takich danych, których chcemy, żeby model się nauczył.</p>



<p>Tego się nauczy. Jeżeli damy mu teksty, które są pełne teorii spiskowych i nieprawdziwych faktów, jakichś <em>fake newsów</em>, to model się fenomenalnie tego nauczy, tylko to będzie dla nas mało użyteczne, jeżeli chcemy, żeby odpowiadał prawdziwie na pytania. Ale nie jest powiedziane, że to są wysokiej jakości dane, jeżeli zawierają prawdziwe informacje.</p>



<p>Jeżeli chcemy pisać <em>fake newsy</em>, powiedzmy, że jesteśmy jakąś agencją propagandową i chcemy pisać fałszywe informacje, to akurat tego typu danych chcemy. Chcemy mieć dane z <em>fake newsami</em> i chcemy, żeby on generował nieprawdziwe informacje. Wtedy dla nas wysokiej jakości dane to są te dane, które właśnie zawierają fałszywe informacje.</p>



<p><strong>Vladimir:</strong> A w tym przypadku bardziej poszedłeś w kierunku biasu, że może być w ten sposób pisane albo w inny, a ja też, mówiąc o jakości, myślę przede wszystkim, że te dane w ogóle mają sens jako takie.</p>



<p>To znaczy, możesz sobie pozbierać jakieś paskudztwa w internetach, różne rzeczy i tam jest mnóstwo śmieci, które &#8211; nawet nie chodzi o to, że to jest prawda czy nieprawda &#8211; tylko po prostu to są totalne śmiecie. I trenowanie na takich śmieciach nie daje dużych wartości, bo tam nawet nie ma dobrych zdań, po prostu jakiś spam, niespam, nie wiadomo co.</p>



<h2 class="wp-block-heading">Problem generowanych tekstów w internecie</h2>



<p><strong>Piotr:</strong> To w ogóle jest problem, że dużo tekstów w internecie jest generowanych przez jakieś proste modele, w szczególności teraz przy powszechności modeli językowych. Ale też historycznie ludzie tak pisali na potrzeby SEO, czyli optymalizacji wyszukiwarek internetowych, optymalizacji Google&#8217;a.</p>



<p>Pisali jakieś fejkowe, automatyczne artykuły na blogach, byle tylko miały odpowiednie słowa kluczowe, żeby Google ich indeksował. Teraz, jeżeli weźmiemy w tym przypadku słabej jakości teksty i nauczymy model, żeby tak generował tekst, to tak będzie generował tekst. Czy to będzie dla nas użyteczne? Zazwyczaj nie, bo chcę mieć taki czysty, ładny, powiedzmy wysokiej jakości, w znaczeniu poprawny gramatycznie.</p>



<h2 class="wp-block-heading">Reprezentacja dokumentów w wyszukiwarce</h2>



<p><strong>Vladimir:</strong> Słuchaj, Piotrek, bardzo lubisz klocki LEGO, o tym też dzisiaj porozmawiamy, bo to jest wprost przełożenie, ale teraz chciałem zostać nadal w NLP, ale chciałem, żeby właśnie u słuchaczy była taka fajna analogia, że jak próbujemy rozwiązać konkretny problem, a teraz chciałbym, żebyśmy to zrobili, żeby było zrozumiałe, że ten system, który powstanie, to de facto są klocki LEGO, czyli pewne rzeczy, pewne warstwy, je można wymieniać na różne.</p>



<p><br />I też te decyzje są o coś, czyli jak zmieniamy A na B, to jest coś lepsze albo coś gorsze i musimy sobie wybrać. I chciałbym, żeby to wybrzmiało, że ten system jako tako to nie jest taka jedna duża bryła, tylko to są pewne warstwy i te warstwy można sobie tak konfigurować na różne sposoby. I też tam język może być inny, też jakby dany wycinek mógł być różny, więc próbujemy zdefiniować zadanie w taki sposób. </p>



<p>Załóżmy, że mamy firmę. Ta firma jest powiedzmy troszkę większa, tysiąc pracowników plus więcej, więc różne materiały tam gdzieś się nagromadziły, i PDF-y, i prezentacje, jakieś tam wewnętrzne serwisy o urlopach i innych i chcielibyśmy zbudować wyszukiwarkę, o której rozmawialiśmy, żeby ten przykład już sobie pociągnąć dalej. I teraz oczekiwanie mnie jako użytkownika jest następujące, że ja mam jakąś stronkę, wchodzę tam, jakiś URL i pytam sobie właśnie takie rzeczy, jak sobie zgłosić urlop, albo ile dni urlopu mi przysługuje. </p>



<p>Jak pracowałem w korporacji to dla mnie było dużym wyzwaniem znaleźć system aby zgłosić np. adres do bazy danych (lub odczytać go stamtąd). Bo właściwe były rzeczy takie prawdziwe do rozwiązania, na których warto było skupiać się  i biurokratyczne. I dla mnie faktycznie znalezienie procedury, w jaki sposób ja mogę zgłosić jakiś tam dostęp do bazy danych, albo uzyskać ten dostęp do bazy danych, było super skomplikowane.<br /></p>



<p>I osobiście byłbym mega zadowolony, żeby zapytać powiedzmy: &#8222;Proszę, jaki jest adres do bazy + i tam jakiś kontekst&#8221;, i on mi od razu zwracał, to ja byłbym bardzo szczęśliwy. Więc takie mam zadanie, ja teraz chciałbym, abyśmy przeszli krok po kroku i rozdzielili to na pierwsze takie warstwy poszczególne i też było zrozumiałe, jakie decyzje powinniśmy podjąć w poszczególnych warstwach. Co myślisz o tym? </p>



<p></p>



<p><strong>Piotr:</strong> Teraz skupię się na klockach, ale dam <em>disclaimer</em> na początek, że pierwszą rzeczą, którą w ogóle absolutnie w każdym projekcie, a w szczególności w takim projekcie uczenia maszynowego, to chcemy zdefiniować, co właściwie chcemy zrobić i określić sobie cel. Ten cel powinien być jakoś mierzalny.</p>



<p>Takie wiadomo, że tutaj na potrzeby dyskusji pomachamy rękami, powiemy, że chcemy odpowiadać na takie pytania, tak jak powiedziałeś. Natomiast koniec końców zazwyczaj chcemy zacząć od analizy biznesowej &#8211; jakiego typu pytania chcemy odpowiadać, jaki zakres, jakie skomplikowanie, kto ma na nie odpowiadać, znaczy kto ma zadawać te pytania.</p>



<p>Często przygotowanie jakiegoś zbioru testowego, który idealnie, jeżeli reprezentuje dobrze te docelowe pytania i tak dalej, to jest absolutny must have na samym początku. O tym możemy jeszcze potem porozmawiać dalej w kontekście jak się buduje dobre zbiory testowe, jak się anotuje dane itd. Ale załóżmy, że to mamy i teraz już faktycznie budujemy konkretne rozwiązanie.</p>



<p>Ja bym powiedział, że kroków jest kilka i rzeczywiście są to takie klocki, które w miarę łatwo jesteśmy w stanie składać i wymieniać. Pierwszym takim dużym klockiem jest po prostu <strong>wyszukiwarka</strong>.</p>



<h2 class="wp-block-heading">Wybór dokumentów do bazy wiedzy</h2>



<p>Wyszukiwarka składa się z kilku elementów. Najpierw musimy podjąć decyzję jakie dokumenty w ogóle chcemy wciągać do naszej bazy wiedzy. To już jest taka decyzja mocno biznesowa, na jakie pytania chcemy odpowiadać, w związku z tym wciągamy jakieś konkretne dokumenty.</p>



<p>Często te dokumenty są bardzo różne, to mogą być albo jakieś wewnętrzne strony internetowe, może to być jakaś dokumentacja w Confluence czy czymś innym, mogą to być dokumenty takie wordowe czy w Google Docs czy coś takiego.</p>



<p>Tutaj raczej musimy po prostu zdefiniować, na podstawie czego chcemy odpowiadać i jak. Tu też jest trochę trikowych decyzji, na przykład mogą być problemy z uprawnieniami, z dostępem do informacji. Niektórzy pracownicy powinni mieć dostęp do jakiejś informacji, a niektórzy nie.</p>



<p>Jeżeli na przykład mamy dokumenty w Google Docs, to w oczywisty sposób nie możemy wziąć po prostu wszystkich dokumentów w Google Docs całej naszej korporacji, bo tam będą jakieś mniej lub bardziej tajne rzeczy, gdzie konkretne zespoły nie powinny mieć do tego dostępu. Więc jak w ogóle filtrować te dokumenty, skąd brać te dokumenty itd.</p>



<p>To jest taki może mały klocek, ale część polegająca na tym, że musimy te dokumenty, to źródło danych, wybrać.</p>



<h2 class="wp-block-heading">Reprezentacja dokumentów</h2>



<p>Jak mamy już te dokumenty, to pierwszy taki realny klocek to jest to, jak chcemy te dokumenty reprezentować.</p>



<p>Możemy albo je reprezentować i używać wyszukiwarki właśnie takiej klasycznej, opartej o słowa kluczowe. Wtedy jest to względnie proste &#8211; bierzemy dokument i wrzucamy cały, reprezentujemy jako słowa kluczowe, czyli dzielimy po prostu na słowa. Być może musimy podjąć tę decyzję, czy chcemy lematyzować te dokumenty, czy nie, ale w końcu jest to względnie proste, gdzie nie ma tutaj dużo decyzji.</p>



<p>Większy problem jest, kiedy chcemy używać tych bardziej współczesnych metod wyszukiwania, czyli tzw. embeddingów albo <em>semantic search</em>, albo ma wiele różnych nazw, ale chodzi o to, żeby reprezentować dokumenty jako jakiś wektor i generujemy ten wektor za pomocą sieci neuronowej, czyli modelu uczenia maszynowego.</p>



<p>Tutaj okazuje się, że ma bardzo duże znaczenie, jak ten dokument podzielimy na kawałki. Możemy oczywiście wziąć cały dokument i wrzucić do takiej sieci neuronowej, i dostać jakiś wektor, ale możemy też ten dokument podzielić na paragrafy i każdy paragraf wrzucić. Możemy też podzielić na zdania i wrzucić każde zdanie, i mieć tak tysiąc wektorów z jednego dokumentu.</p>



<p>Możemy zrobić bardziej trikowe rzeczy, np. użyć LLM-a, żeby napisał nam streszczenie tego dokumentu, czyli co w tym dokumencie jest, i zareprezentować, zaembedować tylko to streszczenie i wrzucić do bazy danych.</p>



<h2 class="wp-block-heading">Podział dokumentów na fragmenty</h2>



<p><strong>Vladimir:</strong> Tutaj to są decyzje, które nie powodują dodatkowych problemów technicznych. Często są po prostu gotowe biblioteki, które to robią i każda z tych metod jest równie prosta, i każdą możemy bezpośrednio użyć. Natomiast jest to decyzja trudna produktowo, bo nie jest oczywiste, która z nich jest najlepsza i która w której sytuacji się sprawdzi.</p>



<p>Może podam dwa przykłady na to. Jeden przykład &#8211; załóżmy, że mamy system do odpowiadania na pytania o grach planszowych. Czyli chcemy zadać pytanie, nie wiem, czy mogę się ruszyć tym pionkiem tutaj albo o co chodzi w tej karcie, gram w jakąś grę karcianą.</p>



<p>I to jest sytuacja, w której tak naprawdę nie musimy robić wyszukiwania, bo jeżeli jesteśmy w kontekście danej gry planszowej, to źródłem prawdy do tej gry planszowej jest instrukcja tej gry. Instrukcja do gry planszowej zazwyczaj ma najwyżej kilka stron i to jest dostatecznie mało, żeby kolejny krok, jakiś LLM, był w stanie przeczytać całą instrukcję na raz. Więc tak naprawdę nie musimy robić wyszukiwania.</p>



<p>Ale możemy mieć skrajnie inny przykład &#8211; projekt, nad którym pracowałem, gdzie trzeba było odpowiadać na pytania dotyczące hoteli, a dla hoteli mieliśmy opinie. Dla danego hotelu mieliśmy tysiące opinii i tam ludzie pytali, czy woda w basenie jest ciepła.</p>



<h2 class="wp-block-heading">Reprezentacja dokumentów w bazie danych</h2>



<p>No i teraz, jak sobie o tym pomyślimy, to w jaki sposób możemy reprezentować te nasze dokumenty? W znaczeniu &#8211; każdy dokument to jest opinia.</p>



<p>Tak możemy całą opinię traktować jako taki jeden tzw. <em>chunk</em> i coś takiego wrzucać do bazy danych, ale w przypadku takich pytań o fakty, o jakieś cechy produktu, usługi, czegokolwiek, przez to jest za dużo.</p>



<p>W tej opinii ludzie wymienią 20 różnych cech. No, że woda była ciepła, ale szkoda, że ta plaża była daleko, a drinki to w ogóle były beznadziejne, ale przynajmniej było czysto w hotelu i tak dalej, i tak dalej.</p>



<p>Nie potrzebujemy kontekstu całej opinii, żeby zrozumieć, że woda była ciepła. Wystarczy, że podzielimy sobie tę całą opinię na takie króciutkie frazy rzeczownikowe &#8211; po prostu &#8222;woda była ciepła&#8221;, na pojedyncze zdania czy nawet mniej i coś takiego będziemy enkodować i wrzucać do bazy danych.</p>



<p>Generalnie, im &#8211; nazwijmy to &#8211; czystsze, czyli im mniej informacji będzie w tych pojedynczych <em>chunkach</em>, tym lepiej, tym łatwiej będzie je wyszukać. No bo jeżeli widzimy całą opinię, to będziemy mieli tak z 20 różnych informacji.</p>



<p>Trudniej jest wyszukać coś, co ma 20 informacji, versus coś, co ma jedną informację, takie <em>to the point</em>. Więc w zależności od problemu &#8211; czasami musimy robić wyszukiwanie, czasem to wyszukiwanie jest proste, właśnie po jakichś metadanych, jaka to jest gra planszowa i tyle, a czasami możemy sobie dzielić bardzo drobno, czasami nie możemy dzielić bardzo drobno.</p>



<p>Tak, jeżeli mamy jakiś akt prawny i chcemy wyszukać akt prawny, no to raczej jeżeli wyszukamy po jakimś drobnym detalu, po jakimś pojedynczym zdaniu, to zgubimy cały kontekst dokumentu i to nic nam nie będzie mówić. Więc w zależności od problemu jakoś musimy dzielić te dokumenty na kawałki.</p>



<h2 class="wp-block-heading">Jak podzielić dokumenty na fragmenty?</h2>



<p><strong>Vladimir:</strong> Czekaj, ja cię troszkę przepytam, bo tutaj też chciałem podpytać &#8211; powiedziałeś, że &#8222;woda ciepła&#8221;, a potem ta cała reszta &#8211; plaża i tak dalej &#8211; będzie niepotrzebna w tym kontekście. Super, brzmi fajnie, tylko jak to podzielić? Bo to nie jest podział per kropka, per spacja, tylko taki bardziej semantyczny sposób, żeby to podzielić. I tutaj na pewno trzeba coś zatrudnić bardziej mądrego niż tylko takie <em>regexpy</em>. I jak to zrobić?</p>



<p><strong>Piotr:</strong> Znaczy, te pomysły są dwa albo trzy. Znaczy, ja szczerze mówiąc po prostu dzieliłem, w cudzysłowie, &#8222;po kropce&#8221;, w sensie dzieliłem po pełnych zdaniach i to było dostatecznie dobre przybliżenie.</p>



<p>Można używać czegoś, co się nazywa parsowanie zależnościowe, to jest taki lingwistyczny termin. Znaczy, można &#8211; nie wiem, czy pamiętasz &#8211; w podstawówce rysowało się drzewka gramatyczne zdań.</p>



<p>No i coś takiego też można robić automatycznie za pomocą uczenia maszynowego. To było popularne 15-20 lat temu w przetwarzaniu języka naturalnego, ale nadal się to czasami wykorzystuje właśnie po to, żeby automatycznie podzielić to zdanie, że tu są frazy rzeczownikowe i te frazy rzeczownikowe są osobne, a pomiędzy nimi jest koordynacja, czyli a, b i c.</p>



<p>To są trzy osobne komponenty i okazuje się, że względnie łatwo jesteśmy w stanie automatycznie to podzielić na kawałki, więc jakby to jest drugi pomysł, jak można do tego podejść.</p>



<p>A trzeci pomysł to po prostu użycie LLMów znowu, właśnie na etapie takiego preprocesingu, na zasadzie: &#8222;Tak, wylistuj mi wszystkie cechy tego hotelu&#8221;.</p>



<p>No i on wypisze, jeżeli napiszemy dobry <em>prompt</em>, no to wypisze, że woda jest ciepła, pokój jest czysty i tak dalej. To notabene, to może już uprzedzając i wyprzedzając, w przypadku tego projektu o hotelach to może mieć fundamentalne znaczenie, jeżeli o tym pomyślimy.</p>



<h2 class="wp-block-heading">Problem z wyszukiwaniem fragmentów</h2>



<p>Jeżeli mamy 1000 opinii i 900 osób napisało, że woda jest ciepła, a 100 osób napisało, że woda jest zimna, to chcielibyśmy wiedzieć, że faktycznie 90% osób napisało, że woda jest ciepła.</p>



<p>Ale jeżeli wyszukamy sobie kilka tak najbardziej podobnych zdań w tym przypadku, które opisują ciepłotę wody, no to w szczególności jak ktoś zapyta, czy woda jest ciepła, to semantycznie bardziej podobne będą zdania &#8222;woda jest ciepła&#8221; niż że &#8222;woda jest zimna&#8221;.</p>



<p>Jak ktoś zapyta, czy woda jest zimna, to bardziej podobne będą te zdania &#8222;woda jest zimna&#8221;. No i teraz będzie bardzo duży problem, jeżeli ktoś zapyta, czy woda jest ciepła, znajdziemy powiedzmy 10 zdań, gdzie ludzie piszą, że woda jest ciepła i damy odpowiedź: &#8222;Tak, woda jest ciepła&#8221;.</p>



<p>Jak ktoś zapyta, czy woda jest zimna, znajdziemy 10 zdań, gdzie ktoś napisał, że woda jest zimna i odpowiemy: &#8222;Tak, woda jest zimna&#8221;. Widzisz, to jest absurdalne, bo model nam odpowie w zupełnie inny sposób, zależnie od tego, jak zadamy pytanie.</p>



<h2 class="wp-block-heading">Wybór modelu do tworzenia embeddingów</h2>



<p><strong>Piotr:</strong> Kolejna ważna decyzja to czym tworzymy te embeddingi. To nie jest oczywisty wybór. Mogliśmy w ogóle ominąć ten krok i używać słów kluczowych, ale zazwyczaj w dzisiejszych czasach chcemy używać metod semantycznych, czyli sieci neuronowych, które przetwarzają teksty w konkretne wektory.</p>



<p>Wybór modelu jest bardzo istotny, bo te modele różnią się jakością. Często ludzie sięgają po popularne rozwiązania, jak np. embeddingi od OpenAI. Ich nowsza, trzecia wersja jest już w porządku, ale poprzednia była po prostu tragiczna, szczególnie dla języka polskiego. Trzecia też nie jest najlepsza, ale wystarczająco dobra.</p>



<p>To było coś prostego w użyciu, ale bardzo słabego. Wyszukiwaliśmy w jakimś sensie podobne teksty do naszego pytania, podobne dokumenty czy chunki, ale one były podobne tylko według OpenAI, a nie według tego, jak my na to patrzymy. Widzieliśmy, że to jest totalnie od czapy.</p>



<p>Wybór modelu wpływa na to, czy rozwiązanie będzie działać, czy nie. Wracając do twojego pytania, co się zmieniło w ciągu ostatnich 10 lat &#8211; to zmieniło się bardzo mocno. Jeszcze 5 lat temu, jeśli mieliśmy model do wyszukiwania informacji, potrafił on działać sensownie tylko w jednej domenie.</p>



<p>Jeśli mieliśmy problem wyszukiwania opinii o hotelach i model wytrenowany pod kątem opinii hotelowych, to użycie go dla danych prawniczych skończyłoby się totalną porażką. W danych hotelowych działałby może trochę lepiej niż wyszukiwanie po słowach kluczowych, ale po przejściu do innej domeny, innego typu tekstu, działałby już praktycznie losowo.</p>



<h2 class="wp-block-heading">Postęp w dziedzinie modeli językowych</h2>



<p><strong>Piotr:</strong> Tak, bo to, teraz kolejna decyzja to jest, ale właściwie czym embedujemy, tak, czym tworzymy te embeddingi. I to też nie jest oczywista decyzja, tak, w sensie mogliśmy w ogóle ominąć ten krok i używać słów kluczowych, ale zazwyczaj w dzisiejszych czasach chcemy używać takich metod, tak zwanych semantycznych, czyli właśnie sieci neuronowych, które przetwarzają te teksty w konkretne wektory.</p>



<p>No i to jest bardzo nieoczywista decyzja, którego modelu użyjemy. I to jest bardzo ważna decyzja, bo te modele są lepsze albo gorsze. Często ludzie używają jakichś popularnych modeli, na przykład tak, postulant embeddingów od <a href="https://openai.com/" class="broken_link">OpenAI</a> i ta nowsza wersja, wersja trzecia, już jest okej, ale ta poprzednia wersja była po prostu tragiczna, przynajmniej dla języka polskiego. Ta trzecia też nie najlepsza, ale <em>good enough</em> może.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="533" src="https://biznesmysli.pl/wp-content/uploads/2024/06/23.openai-mteb-1024x533.png" alt="" class="wp-image-11155" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/23.openai-mteb-1024x533.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/23.openai-mteb-300x156.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/23.openai-mteb-768x400.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/23.openai-mteb-1140x594.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/23.openai-mteb.png 1260w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>To było coś, co jest bardzo proste do użycia, ale ono było bardzo słabe i okej, wyszukiwaliśmy w jakimś sensie podobne teksty do tego naszego pytania, podobne dokumenty, podobne te chunki, ale one były tylko podobne według OpenAI, a nie według nas, jak na to patrzymy, bo widzimy, że to jest totalnie od czapy.</p>



<p>No i tutaj to, jak wybierzemy ten model, właśnie wpływa na to, czy to będzie działać, czy nie. I trochę wracając do tego pytania twojego, co się zmieniło w ciągu ostatnich 10 lat, to to się bardzo mocno zmieniło, w sensie jeszcze 5 lat temu nawet, jeżeli mieliśmy taki model do wyszukiwania informacji, to on potrafił działać tylko i wyłącznie w jednej domenie sensownie, znaczy jak mieliśmy ten problem, powiedzmy, wyszukiwania opinii o hotelach i mieliśmy wytrenowany model pod opinie dla hoteli i byśmy użyli go dla danych prawniczych, to on totalnie by nie działał.</p>



<p>W sensie w tych danych hotelowych on pewnie działałby trochę lepiej niż wyszukiwanie po słowach kluczowych, ale jak byśmy musieli przejść do innej domeny, do innego typu tekstu, to on by już działał praktycznie losowo.</p>



<h2 class="wp-block-heading">Generowanie syntetycznych danych treningowych</h2>



<p><strong>PIotr</strong>: I okazało się, że to było bardzo trudne, żeby przeskoczyć to i żeby mieć model, który faktycznie daje uniwersalnie dobre <em>embeddingi</em>. To się udało dosłownie 2-3 lata temu, głównie w ten sposób, że po prostu wzięliśmy bardzo, bardzo dużo danych i wytrenowaliśmy model na wszystkich domenach naraz. W jaki sposób jest to oszustwo? Nadal nie potrafimy generalizować, czyli dobrze działać na nieznanych domenach.</p>



<p>Tak poradziliśmy sobie z tym w ten sposób, że wytrenowaliśmy model na wszystkich możliwych domenach, co jest w pewnym sensie oszustwem, ale dopóki działa praktycznie, to w sumie czemu nie. I rzeczywiście są takie modele, które teraz działają sensownie dla wielu różnych domen, i to dla angielskiego, i też dla polskiego takie modele się pojawiają.</p>



<p>Natomiast wciąż te modele nie są zazwyczaj idealne. One są generyczne, uniwersalne i działają ok, ale jeżeli chcemy mieć naprawdę super dobrą skuteczność, to wciąż bardzo wartościowe jest, żeby wytrenować ten model specjalnie dla siebie, w twojej konkretnej niszy. To daje bardzo duże zyski.</p>



<h2 class="wp-block-heading">Trenowanie własnego modelu</h2>



<p><strong>Piotr</strong>: Więc ja zazwyczaj to, co rekomenduję, to w pierwszym kroku użyć takiego modelu uniwersalnego i sprawdzić, jak on będzie działać, sprawdzić na naszym zbiorze testowym, czy on faktycznie zwraca dobre dokumenty, dobre w znaczeniu zawierające odpowiedź. Często zwraca dostatecznie dobre.</p>



<p>Powiedzmy, że zwraca dobry dokument w 90% przypadków i to jest użyteczne, ale czasami dla nas ma znaczenie, czy to będzie 90 czy 95%, czy tak może się zdarzyć, że to jest 60 vs 90%. I wtedy jest inny klocek, kolejny klocek na zasadzie &#8211; wytrenujmy swój własny model do tego celu.</p>



<p>I to też jest coś, co się radykalnie zmieniło w ciągu tych ostatnich paru lat, bo kiedyś, żeby wytrenować taki model, trzeba było mieć dane, no ale żeby mieć dane, to trzeba zatrudnić ludzi, którzy będą anotować dane. To było zaskakująco trudne w znaczeniu, że tych danych, żeby wytrenować taki model do <em>embeddingu</em>, potrzebujemy dosyć dużo, w sensie to są raczej dziesiątki tysięcy takich par &#8211; pytanie, dokument.</p>



<p>W związku z tym trzeba jakoś te pary napisać, trzeba albo mieć pytania skądś, na przykład historyczne pytania od użytkowników i dla tych pytań znaleźć dokumenty w naszej bazie danych, albo nie mamy historycznych pytań od użytkowników, więc trzeba sobie jakoś radzić i albo wymyślać te pytania, i potem znajdować dokumenty, albo brać te dokumenty i do nich pisać pytania. No ale dość, że to było bardzo czasochłonne i jakby koniec końców kosztowało dużo pieniędzy i nie zawsze warto było to robić.</p>



<p>To, co się stało niesamowitego w ostatnich czasach przez LLM-y, to że możemy użyć po prostu LLM-ów, żeby te pytania wygenerować automatycznie. Czyli bierzemy sobie nasze dokumenty, które mamy w bazie danych, i pytamy tak ChatGPT: &#8222;Wygeneruj mi pięć pytań do tego dokumentu&#8221;. I on generuje pytania, a te pytania są zaskakująco sensowne.</p>



<p>Czasem warto coś tam pofiltrować, poczyścić te rzeczy, ale możemy to robić automatycznie. I teraz nagle wygenerowanie dziesięciu tysięcy pytań czy pięćdziesięciu tysięcy pytań to koszt pięćdziesięciu dolarów &#8211; absolutnie zerowy w skali jakiejś korporacji.</p>



<p>I mając te pięćdziesiąt tysięcy pytań, jesteśmy w stanie już dotrenować jakiś taki uniwersalny model do <em>embeddingów</em> pod nasze potrzeby, ponieważ jest to dotrenowanie. Dotrenowanie zazwyczaj jest jakby mało zasobochłonne, często zajmuje po prostu godzinę czasu na jednej karcie graficznej i już wtedy ten model jest dużo, dużo lepszy.</p>



<p>Więc też właśnie to, co się zmieniło, to możliwość szybkiego dostosowania tych modeli dzięki temu, że możemy łatwo wygenerować sobie syntetyczne dane treningowe.</p>



<p>Wiadomo, że te dane treningowe nie są super jakości, one będą miały błędy, nie mają tych wszystkich subtelności, które powinny tam być, ale jesteśmy w stanie szybko dojść do sensownego poziomu. A potem, jeżeli nadal chcemy mieć lepszą skuteczność, to już nie uciekniemy od tego, że ktoś musi usiąść, zanotować te dane i stworzyć dane wysokiej jakości.</p>



<p></p>



<h2 class="wp-block-heading">Embeddingi &#8211; konwertowanie tekstu na reprezentację numeryczną</h2>



<p><strong>Vladimir</strong>: To teraz ja już spróbuję tak podsumować to, co wybrzmiało i idziemy dalej.</p>



<p>Czyli kiedy jesteśmy na etapie embeddingu, czyli chcemy skonwertować nasz tekst w reprezentację numeryczną, to pierwsza rzecz: nie chcemy używać jakiejś znanej nazwy jak OpenAI ot tak domyślnie bez rozważenia, bo zwykle to nie działało w tej poprzedniej wersji. I mimo że GPT jest super, to nie znaczy, że embeddingi też będą super, tym bardziej dla nas, więc to jest do rozważenia.</p>



<p>Druga rzecz to trzeba rozważyć, jak nie to, to co wtedy. I to jest super, że w ogóle te pytania się pojawiają, bo można zacząć wybierać. Warto podpowiedzieć, że są na przykład takie leaderboardy <a href="https://paperswithcode.com/dataset/mteb">MTEB</a> albo jakieś tam inne, gdzie można sobie wybrać takich fajnych kandydatów, których można byłoby rozważyć.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="664" src="https://biznesmysli.pl/wp-content/uploads/2024/06/24.leaderboard_mteb-1024x664.png" alt="" class="wp-image-11156" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/24.leaderboard_mteb-1024x664.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/24.leaderboard_mteb-300x195.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/24.leaderboard_mteb-768x498.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/24.leaderboard_mteb-1140x739.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/24.leaderboard_mteb.png 1474w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>I też, co fajnie powiedziałaś, że owszem, teraz są bardziej takie ogólne rozwiązania, ale też może tak się zdarzyć, że mamy jakąś bardziej konkretną potrzebę i wtedy może być lepiej, żebyśmy my dotrenowali to do siebie, ale też żeby to było obiektywne, to weźmiemy coś bardziej ogólnego.</p>



<p>Mamy wynik, potem bierzemy coś bardziej konkretnego pod nas, czyli dotrenujemy pod naszą domenę. Też na przykład język polski już sam w sobie jest domeną, bo też te wyrazy itd. już też to komplikują. I wtedy dostajemy rozwiązanie, które będzie de facto lepiej reprezentować te semantyczne zależności, jeżeli chodzi o dane na wejściu, czyli dane w postaci tekstu, i na wyjściu to będą wartości numeryczne.</p>



<p>Dobra, mamy to. Idziemy dalej, co tam dalej nas czeka?</p>



<h2 class="wp-block-heading">Reranking &#8211; ulepszanie wyników wyszukiwania</h2>



<p><strong>Piotr:</strong> Mamy to. Dobra, to teraz ostatni krok wyszukiwania, bo jak robimy to wyszukiwanie, zazwyczaj znajdujemy dla danego pytania 10, 20 albo 100 najbardziej podobnych dokumentów. Te dokumenty będą rzeczywiście podobne, ale nie będą łapać tych wszystkich subtelności, bo one będą podobne, ale niekoniecznie będą odpowiadały na pytanie.</p>



<p>To z różnych względów technicznych jest trudne do uzyskania, żeby te zwrócone dokumenty były faktycznie świetnej jakości. I teraz dochodzi nam kolejny klocek, czyli tzw. <em>reranking</em>. Znaczy, jak mamy te 100 zwróconych dokumentów, to czy możemy bardziej złożonym, bardziej skomplikowanym, lepszym modelem maszynowym przesortować te dokumenty tak, że jeżeli ten poprawny dokument był na 90. pozycji, to żeby wynieść go na pierwszą pozycję.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="488" src="https://biznesmysli.pl/wp-content/uploads/2024/06/25.reranker-1024x488.jpeg" alt="" class="wp-image-11157" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/25.reranker-1024x488.jpeg 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/25.reranker-300x143.jpeg 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/25.reranker-768x366.jpeg 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/25.reranker-1536x732.jpeg 1536w, https://biznesmysli.pl/wp-content/uploads/2024/06/25.reranker-2048x976.jpeg 2048w, https://biznesmysli.pl/wp-content/uploads/2024/06/25.reranker-1140x543.jpeg 1140w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Tutaj oczywiście też jest dużo podejść, możemy używać LLMów do tego, zrobić zapytanie do OpenAI, czy ten dokument odpowiada na to pytanie &#8211; tak, nie.</p>



<h2 class="wp-block-heading">Generowanie odpowiedzi</h2>



<p><strong>Piotr:</strong> Możemy użyć opensource&#8217;owych modeli, możemy też trenować swoje modele do tego zadania i to często też pomaga, żeby jeszcze bardziej poprawić te wyniki wyszukiwania. Oczywiście wiąże się to z kosztem finansowym, bo musimy zrobić np. odpytania do OpenAI, ale też kosztem jeżeli chodzi o czas odpowiedzi, bo wkładamy kolejny klocek i on zajmuje jakiś czas. To czasami jest potrzebne, czasami nie. Tak naprawdę znowu, to jest zależne od konkretnego wdrożenia, od konkretnego produktu.</p>



<p>Czasami te wyniki z tego pierwszego wyszukiwania są na tyle dobre, że nie musimy tego poprawiać. A czasami niestety tak nie jest i musimy dołożyć kolejny klocek.</p>



<p><strong>Vladimir:</strong> Ja chciałem tylko tak dopowiedzieć, że  na początek mamy powiedzmy 100 tysięcy albo 10 tysięcy dokumentów, więc &#8222;pierwsze wyszukiwanie&#8221; robi takie szybsze, ale mniej precyzyjne wyszukiwanie i z tych 100 tysięcy dostarczy nam np. 100 dokumentów.</p>



<p>Ale żeby faktycznie znaleźć najbardziej trafny dokument, to czasem może nam się opłacać zatrudnić troszkę bardziej skomplikowany mechanizm, co zwykle nam powiększa czas, bo nic nie ma za darmo, no i też jakieś pieniądze prawdopodobnie będą za tym. Ale dzięki temu możemy liczyć na to, że znajdziemy faktycznie bardziej konkretniejsze, też możemy się mylić, ale tak z punktu widzenia tego mechanizmu, bardziej trafny dokument i mamy w ten sposób wybrany ten dokument numer jeden.</p>



<p><strong>Piotr:</strong> Dokładnie tak. Zazwyczaj nie dokument numer jeden, tylko wciąż kilka dokumentów, pięć najlepszych dokumentów, kilka najlepszych dokumentów.</p>



<p>Tak i to zakończyliśmy ten etap wyszukiwania i teraz zazwyczaj jest ten etap generowania odpowiedzi i on często, przynajmniej w takim najprostszym wariancie, jest w sumie prosty. Znaczy bierzemy to pytanie, bierzemy te pięć dokumentów i współcześnie po prostu wysyłamy to do OpenAI, do ChatGPT i prosimy o odpowiedź na pytanie. I ChatGPT odpowiada na to bardzo dobrze zazwyczaj. To jest też fajne, bo on wtedy raczej nie halucynuje, co się zdarza później wiadomo, ale raczej korzysta z tych informacji, które były w znalezionych dokumentach, żeby odpowiedzieć na pytanie.</p>



<h2 class="wp-block-heading">Trenowanie własnych modeli</h2>



<p><strong>Piotr:</strong> Oczywiście to jest coś, co się tak pojawiło te dwa lata temu razem z popularyzacją ChatGPT. Wcześniej trenowaliśmy też specyficzne modele, które właśnie te informacje, te odpowiedzi wyciągały.</p>



<p>I to albo na takiej zasadzie, jakby początkowo to było, żeby zaznaczyć fragment dokumentu, który zawiera odpowiedź. Czyli jak powiedzmy to pytanie o urlop, ile mam dni urlopu, to gdzieś tam pewnie była rozpiska, że w zależności od stażu to ma się tyle i tyle dni urlopu i wtedy byśmy dostali odpowiedź jako zaznaczony fragment tego oryginalnego dokumentu.</p>



<p>No ale to jest mega ograniczone podejście. Jeżeli sobie pomyślimy o pytaniach typu &#8222;tak, nie&#8221;, no to nie możemy w dokumencie zaznaczyć &#8222;tak, nie&#8221;, czyli &#8222;czy mam 26 dni urlopu&#8221; i możemy zaznaczyć tylko &#8222;26 dni urlopu przysługuje osobie, która coś tam coś tam&#8221;. Tak, ale nie dostaniemy odpowiedzi &#8222;tak&#8221;, bo tego &#8222;tak&#8221; nie ma w dokumencie.</p>



<p>Potem pojawiły się modele właśnie takie generatywne, które były specjalnie trenowane do tego, żeby wziąć pytanie, wziąć te dokumenty i wygenerować faktyczną odpowiedź. Do tego często potrzebowaliśmy przygotować sobie jakieś dane treningowe, zazwyczaj parę, paręnaście, parędziesiąt tysięcy takich przykładów, wytrenować model i mogliśmy go użyć, żeby odpowiadać na pytania. Natomiast te <em>LLM-y</em> obecnie używane są super dlatego, że nie musimy mieć danych treningowych i one działają dostatecznie dobrze.</p>



<p>Oczywiście, jeżeli zależy nam na tym, żeby model odpowiadał w jakimś konkretnym stylu albo żeby po prostu odpowiadał lepiej, to wciąż możemy ten model dotrenować. To też może nie wszyscy wiedzą, ale modele od OpenAI, w sensie Chata GPT, też można w ich interfejsie sobie dotrenować, jeżeli mamy jakieś dane i tak dostosować do naszych potrzeb.</p>



<p>To jest powiedziałbym dziedzinowo proste, wystarczy dać takie pary: pytanie, dokumenty i oczekiwana odpowiedź. Nawet jak przygotujemy 100 takich przykładów, to już ten model będzie działał dużo, dużo lepiej. Wtedy odpytywanie Chata GPT będzie trochę droższe, ale często jakość będzie istotnie lepsza i te odpowiedzi będą bardziej dostosowane do tego, czego oczekujemy.</p>



<p>Natomiast zazwyczaj po prostu korzystamy z Chata GPT, <a href="https://www.anthropic.com/">Anthropic</a> czy z jakichś oczywiście innych konkurencyjnych rozwiązań &#8211; <a href="https://www.gemini.ai/" class="broken_link">Gemini</a>, <a href="https://www.anthropic.com/product">Claude</a> i tak dalej. One wszystkie działają bardzo fajnie.</p>



<h2 class="wp-block-heading">Wielkość kontekstu w modelach językowych</h2>



<p><strong>Vladimir:</strong> Jaka jest obecnie typowa wielkość dokumentu, który można przesłać do modelu językowego w jednym zapytaniu? Fajnie byłoby to przedstawić w liczbie stron, aby ludzie mogli to sobie lepiej wyobrazić. I druga kwestia &#8211; jakie są dobre praktyki w tym zakresie? Bo nie wszystko co się da, warto robić, prawda?</p>



<p><strong>Piotr:</strong> To ważna kwestia, którą poruszyłeś. W standardowym, najprostszym setupie, o którym mówiłem, nawet nie wyciągamy całych dokumentów, tylko tzw. chunki, czyli fragmenty. Zazwyczaj będzie to jedno zdanie, maksymalnie parę zdań. Więc nawet jak wyciągniemy pięć takich chunków, to nie będzie tego dużo &#8211; maksymalnie jedna strona tekstu. To jest coś, co bez problemu każdy model językowy przetworzy.</p>



<p>Natomiast rzeczywiście, w zależności od problemu, taki chunk może nie zawierać wszystkich potrzebnych informacji. Czasem potrzebujemy szerszego kontekstu, na przykład całego dokumentu. Tutaj jest kilka różnych trików, które można zastosować.</p>



<p>Jeden standardowy trik polega na tym, że skoro mamy jakiś chunk, ale chcemy mieć większy kontekst, to bierzemy jeszcze dwa chunki poprzedzające ten główny i dwa następujące po nim. Wtedy takie pięć chunków wrzucamy. To daje nam dwadzieścia pięć bazowych chunków, czyli już około pięć stron tekstu. Ale czasami nawet to może być za mało i musimy znać cały dokument.</p>



<p>Sposobów radzenia sobie z dużymi dokumentami jest wiele. Na szczęście w dzisiejszych czasach okno kontekstowe (<em>context window</em>) różnych modeli językowych jest na tyle duże, że nie musimy się tym aż tak bardzo przejmować. To są raczej dziesiątki tysięcy tokenów, a nawet setki tysięcy. <a href="https://ai.googleblog.com/2023/05/gemini-generative-model-for-open-ended.html" class="broken_link">Gemini od Google</a> obsługuje nawet milion tokenów. Więc to są absurdalne ilości, których nigdy nie wykorzystamy w takim setupie odpowiadania na pytania. W innych zastosowaniach oczywiście możemy je wykorzystać.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1000" height="562" src="https://biznesmysli.pl/wp-content/uploads/2024/06/27.gemin1_.5_2m.jpg" alt="" class="wp-image-11158" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/27.gemin1_.5_2m.jpg 1000w, https://biznesmysli.pl/wp-content/uploads/2024/06/27.gemin1_.5_2m-300x169.jpg 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/27.gemin1_.5_2m-768x432.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<p>Jednym z rozwiązań jest takie, że jak mieliśmy tych pięć oryginalnych chunków, to tak naprawdę robimy pięć odpytań do modelu językowego. Pytanie plus pierwszy chunk &#8211; chcemy dostać odpowiedź, pytanie plus drugi chunk &#8211; chcemy dostać odpowiedź, i tak dalej. Wysyłamy więc pięć różnych zapytań i dostajemy pięć różnych odpowiedzi.</p>



<p>Możemy też zrobić dodatkowy krok, że nie tyle generujemy odpowiedź, co wyciągamy istotne informacje. Czyli bierzemy pytanie, pierwszy cały dokument i prosimy model o wyciągnięcie kluczowych informacji z tego dokumentu.</p>



<h2 class="wp-block-heading">Wyciąganie kluczowych informacji z dokumentów</h2>



<p>Zazwyczaj tych kluczowych informacji nie będzie aż tak dużo, żeby odpowiedzieć na pytanie. One będą po prostu rozsiane w różnych miejscach po tym dokumencie. Powtarzamy to pięć razy dla każdego z tych pięciu dokumentów, więc zbieramy koniec końców dosyć małą ilość danych i wrzucamy do finalnego <em>promptu</em> do LLM-a. Wygeneruje on odpowiedź na podstawie tych wyciągniętych cytatów i dzięki temu możemy sobie radzić z tym ograniczonym kontekstem.</p>



<p>To też ma znaczenie o tyle, że jeżeli zrobimy pięć takich odpytań równolegle w tym samym czasie, to będzie to szybsze niż jedno odpytanie z bardzo długim dokumentem.</p>



<p><strong>Vladimir: </strong>Wydaje mi się, że w miarę pokryliśmy temat, przynajmniej tak <em>high level</em>, żeby mniej więcej było zrozumiałe, jakie są warstwy i jakie decyzje należy podejmować. Temat rzeka. Ja też nie stawiałem aż tak ambitnego celu, żeby omówić wszystkie szczegóły, bo tego jest wiele.</p>



<h2 class="wp-block-heading">Triki i detale w budowaniu chatbotów</h2>



<p><strong>Piotr</strong>: Tak, tego jest bardzo, bardzo dużo i generalnie takich trików &#8211; ludzie wymyślają bardzo dużo tych trików i to na każdym z tych etapów. Ja też przedstawiłem taką ścieżkę dosyć podstawową. Mimo że już wchodziliśmy w jakieś detale, to tych detali może być bardzo, bardzo dużo.</p>



<p>Problem jest taki, że wybór tych detali bardzo mocno zależy od konkretnego projektu i nie jest tak, że któreś z tych rozwiązań są dobre. One bywają dobre, ale często bywają złe. Często też na przykład ta sama konstrukcja naszego chatbota czy systemu odpowiadania na pytania wymaga czegoś więcej, jakichś dodatkowych funkcjonalności.</p>



<p>Na przykład, jeżeli mamy asystenta prawniczego i chcemy odpowiadać na pytania prawnicze, to nie jest tak, że jedyne kryterium to czy ten dokument będzie pasujący do pytania, ale też czy będzie aktualny. Tak więc możemy na przykład sortować jeszcze te dokumenty po tym, jak one są aktualne, z którego są roku. Możliwe, że powinniśmy filtrować po jakichś metadanych i tak dalej. Więc tych detali jest jeszcze bardzo, bardzo dużo, ale to jest taki najprostszy możliwy przepływ.</p>



<h2 class="wp-block-heading">Rozwiązania szyte na miarę</h2>



<p><strong>Vladimir</strong>: Fajnie, że to wybrzmiało, bo mimo tego, że istnieje ta cała magia, jeżeli chodzi o LLM, który faktycznie zaskoczył wszystkich osób technicznych możliwością porozmawiania i tak dalej, to nadal rozwiązanie jako takie musi być szyte na miarę. Tutaj właśnie zdefiniowanie, co potrzebuje biznes, jaka jest metryka sukcesu, jakie błędy są dopuszczalne, jakie są niedopuszczalne, jaki jest koszt takich błędów. W zależności od tych wszystkich wytycznych pojawia się to finalne rozwiązanie i stąd właśnie musi być ono szyte na miarę, a te warstwy są dość elastyczne w zależności od potrzeb. Bywa różnie.</p>



<h2 class="wp-block-heading">Kluczowe kompetencje w budowaniu projektów ML</h2>



<p><strong>Piotr</strong>: Wracając jeszcze raz do tego pytania, co się zmieniło w przeciągu ostatnich 10 lat. W tym sensie nic się w świecie nie zmieniło. Dostaliśmy nowe zabawki, nowe narzędzia, one działają dużo lepiej niż działały kiedyś, ale te kluczowe kompetencje &#8211; kiedyś to byli statystycy, potem <em>data scientiści</em>, potem ML inżynierowie, teraz AI inżynierowie &#8211; te nazwy stanowisk, nazwa dziedziny się co chwilę zmienia, narzędzia się zmieniają.</p>



<p>Ale te kluczowe kompetencje są dokładnie takie same cały czas i te problemy są też dokładnie takie same. Chcemy wiedzieć, co musimy budować, jak dobrać odpowiednie klocki, żeby zrealizować cele biznesowe, gdzie popełniamy błędy, jaki jest kompromis między skutecznością a kosztami itd.</p>



<p>I jasne, że mamy zupełnie inne klocki do dyspozycji dzisiaj niż 10 lat temu, ale sam proces budowania projektu <em>machine learningowego</em> tak naprawdę nie zmienił się &#8211; powiedziałbym, że prawie w ogóle. Może trochę, rzadko już teraz pisze się sieci neuronowe np. od zera w PyTorchu, raczej się wykorzystuje jakieś gotowe klocki, ale nigdy to pisanie sieci neuronowych w PyTorchu, czy wcześniej w TensorFlow, czy w Theano, to nigdy nie było clou problemu.</p>



<h2 class="wp-block-heading">Narzędzia do adnotacji danych</h2>



<p><strong>Vladimir:</strong> Powiedz kilka rzeczy na temat narzędzi, których używasz w kontekście tekstu, obrazków. Jakie rzeczy są dla ciebie przydatne? Chcielibyśmy, żeby inni też to usłyszeli. No i jak sobie to układasz mentalnie, motywacyjnie, że chce ci się to robić?</p>



<p><strong>Piotr:</strong> Jeśli chodzi o narzędzia do adnotacji danych, to jest bardzo trudne pytanie, bo różnie. W swoim życiu napisałem pewnie z 10 różnych narzędzi do adnotacji danych, tak po prostu dla siebie, w zależności od projektu. Często to jest najlepsze rozwiązanie, bo te adnotacje danych bywają na tyle specyficzne, że warto napisać coś swojego.</p>



<p>Mogą to być bardzo proste rzeczy, na przykład Google Sheets, gdzie po prostu robimy sobie arkusz, w jaki sposób go filtrujemy, sortujemy i tam piszemy adnotacje. Klocki Lego anotuję głównie w Jupyter Notebooku. Mam po prostu taką prostą aplikację w Jupyter Notebooku napisaną do adnotacji danych, bo tam robię bardzo dużo filtrowania tego, jakie dokładnie dane chcę zaadnotować. To filtrowanie tak po prostu robię w Pythonie.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="276" src="https://biznesmysli.pl/wp-content/uploads/2024/06/31.jupyter-1024x276.png" alt="" class="wp-image-11159" srcset="https://biznesmysli.pl/wp-content/uploads/2024/06/31.jupyter-1024x276.png 1024w, https://biznesmysli.pl/wp-content/uploads/2024/06/31.jupyter-300x81.png 300w, https://biznesmysli.pl/wp-content/uploads/2024/06/31.jupyter-768x207.png 768w, https://biznesmysli.pl/wp-content/uploads/2024/06/31.jupyter-1140x308.png 1140w, https://biznesmysli.pl/wp-content/uploads/2024/06/31.jupyter.png 1400w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Motywacja do żmudnej pracy</h2>



<p><strong>Piotr:</strong> Mnie zawsze najbardziej napędza zrobienie projektu. Najważniejsze dla mnie jest to, że chcę po prostu zbudować jakiś model, produkt, coś stworzyć. Tak naprawdę, co dokładnie robię, nie ma aż tak dużego znaczenia.</p>



<p>Może adnotacja danych jest nudna, powtarzalna i człowiekowi się nie chce tego robić. Ja też nie jestem w stanie wytrzymać dłużej niż pół godziny czy godzinę, siedząc i adnotując te dane. Po prostu wiem, że jest to konieczne, potrzebne i wartościowe, więc samo to mnie motywuje.</p>



<p>Pisanie kodu też nie zawsze jest super miłe i przyjemne, jest męczące, uciążliwe, trzeba myśleć i też się nie chce. Wyskakują jakieś błędy. W pewnym sensie wolę adnotować dane, bo tam przynajmniej klikam ten klocek, ten klocek, ten klocek i jest to przynajmniej bezstresowe. Więc motywuje mnie efekt końcowy, tak w skrócie.</p>



<p>Natomiast rzeczywiście dzielę sobie też często tę adnotację tak, żeby po prostu robić po trochu. Staram się mieć zawsze gotową jakąś adnotację danych, w sensie jakoś ustawiony proces adnotacji danych. Także jak mam przerwę pomiędzy spotkaniami 15 minut, to mogę sobie otworzyć to narzędzie do adnotacji danych i trochę poklikać. Albo jem obiad i nic mi się innego nie chce robić, to sobie poklikam. Czy jest wieczór i już jestem zmęczony, i nie chce mi się pracować, a trochę sobie poklikam.</p>



<p>Tak jak powiedziałeś, że robię to bardzo regularnie, to też nie do końca prawda. Są takie miesiące dwa, trzy, że na przykład anotuję codziennie dane, a potem mam już tak bardzo dosyć, że przez kolejne dwa miesiące w ogóle na to nie mogę patrzeć.</p>



<p><strong>Vladimir:</strong> Trochę mnie uspokajasz, bo to brzmi jak szaleniec już wreszcie.</p>



<p><strong>Piotr:</strong> Nie, nie, nie, to znaczy jestem szalony, ale nie aż tak szalony.</p>



<h2 class="wp-block-heading">Narzędzia do anotacji danych</h2>



<p><strong>Piotr:</strong> Nie byłbym w stanie tego robić sensownie w jakimś gotowym narzędziu, w szczególności, że to często jest mniej lub bardziej dynamiczne, więc nie mogę wrzucać jakichś batchy. Wygodnie jest mi to anotować w Jupyter Notebooku.</p>



<p>Natomiast z takich narzędzi, z których faktycznie korzystam regularnie, to jest na pewno <a href="https://labelstud.io/">Label Studio</a>. To jest takie narzędzie open source&#8217;owe, bardzo elastyczne, można odpalić lokalnie lub na serwerze w chmurze. Jest to narzędzie w miarę uniwersalne &#8211; i do tekstu, i do obrazków, i do bardzo wielu różnych typów danych.</p>





<p>Oni mają w miarę elastyczny system definiowania interfejsu, czyli co chcemy wyświetlać i w jaki sposób. To działa ok. Na pewno nie jest to świetne narzędzie, ale działa dostatecznie dobrze, więc jak jest coś bardziej standardowego, to po prostu używam tego.</p>



<p>Albo jeżeli jest coś, co jest trudne do zaimplementowania samemu, np. rysowanie <em>bounding boxów</em> czy prostokątów, żeby zaznaczyć gdzie klocek Lego znajduje się na zdjęciu, to napisanie czegoś takiego byłoby odrobinę bardziej skomplikowane. Więc warto użyć czegoś gotowego, jak Label Studio.</p>



<p>Jest trochę komercyjnych rozwiązań, które też są spoko, ale one w dużej mierze wszystkie są w miarę podobne, więc czego nie użyjemy, to będzie ok.</p>



<h2 class="wp-block-heading">UX narzędzia do anotacji</h2>



<p><strong>Piotr:</strong> Dla mnie ważne jest to, żeby UX rozwiązania był dobry. To narzędzie powinno nam pomagać anotować dane, a nie przeszkadzać. Nie powinniśmy robić 10 kliknięć, żeby zrobić jedną anotację, tylko jedno kliknięcie i już.</p>



<p>Istotniejsze od tego, jakiego używamy narzędzia, jest to, w jaki sposób w ogóle przedstawimy problem anotacji danych. Przykładowo klocki Lego. Jest 80 tysięcy klocków Lego i mam jakieś zdjęcia od użytkowników, które muszę przypisać, jaki klocek jest na danym zdjęciu.</p>



<p>Oczywiście mógłbym to robić naiwnie, na zasadzie mieć zdjęcie i 80 tysięcy klas, i teraz przeglądać te klasy. Ale to byłoby nierealne, bo nie przeskrolowałbym tych 80 tysięcy klas, plus nie znam wszystkich tych klas. Więc wiadomo, że tutaj anotacja musi działać w taki sposób, że mam oryginalne zdjęcie i np. 5 predykcji modelu, co to jest za klocek.</p>



<p>Wtedy wybieram najbardziej prawdopodobny klocek. Muszę mieć też np. link do jakiejś &#8222;Wikipedii klockowej&#8221; dla każdego z tych polecanych klocków, żebym mógł wejść i poczytać, czy to jest na pewno ten klocek, zobaczyć więcej zdjęć.</p>



<p>Więc to za-setupowanie sobie, jak dokładnie anotujemy dane, wpływa na to, czy robimy to szybko czy wolno i czy robimy to poprawnie czy nie.</p>



<h2 class="wp-block-heading">Eksperyment z klasyfikacją tekstu</h2>



<p><strong>Piotr:</strong> Pamiętam, jak jeszcze pracowałem w Allegro, robiliśmy taki eksperyment. Robiliśmy klasyfikację tekstu i albo klasyfikowaliśmy tekst na zasadzie: tu jest tekst i mamy 100 labelek, i wybierz poprawną labelkę, albo: tu jest tekst i wydaje nam się, że to jest ta labelka, i potwierdź albo nie. Powiedz, czy to jest poprawna labelka, czy nie.</p>



<p>Okazało się, że w takim set-upie binarnym, gdzie tylko potwierdzasz tak/nie, uzyskaliśmy dużo szybsze anotacje. Człowiek był w stanie zaanotować dużo więcej danych i te dane były dużo lepszej jakości. Bo człowiek nie musiał w głowie trzymać tych 100 labelek i zastanawiać się, która z nich będzie poprawna.</p>



<p>Tylko widział wiadomość, widział labelkę, widział klasę, mówił: &#8222;A, no tak, to pasuje&#8221; i ok, i lecimy dalej. I to ma naprawdę bardzo duże znaczenie.</p>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p><strong>Vladimir:</strong> Chciałem podsumować to, co usłyszałem. Czyli tak naprawdę anotacja sama w sobie to też wymaga podejścia produktowego. Nie wystarczy tylko pobrać któreś, nawet modne czy płatne, narzędzie, bo to jest jeden z możliwych klocków, który ma tam powstać. Liczy się to, co pojawia się jako wynik, też jaki czas potrzeba spędzić, aby ten wynik osiągnąć.</p>



<p>Ta łatwość musi być jak największa i często może być taka sytuacja, że proste narzędzia, jak arkusz czy coś takiego, nadal wchodzą w grę. Bo czemu nie? Spełniają podstawowe warunki i pomagają dostarczyć to, co jest potrzebne na koniec.</p>



<p><strong>Piotr:</strong> Jasne, taki arkusz, jak w Google Docs, jest super do anotacji tekstu. Mamy jakąś wiadomość i chcemy sprawdzić, w jaki sposób anotowałem poprzednie tego typu wiadomości.</p>



<p>Mogę zrobić Ctrl+F i szybko mam znalezione inne podobne wiadomości, i widzę: &#8222;A, dobra, anotowałem to w taki sposób&#8221;. Jakbym miał jakieś zewnętrzne narzędzie, to pewnie mógłbym się cofnąć z widoku anotacji, przejść do widoku wszystkich tekstów, potem mieć jakieś wyszukiwanie, coś wyszukać, wejść w te wiadomości i zajęłoby mi to dużo więcej czasu.</p>



<p>Czasami nie warto, czasami takie proste narzędzia są po prostu dużo lepsze, dużo szybsze. Na przykład takim innym trikiem, którego często używam do klasyfikacji obrazów, i to w ogóle jest taki absurdalny trik.</p>



<p>Jeżeli mamy klasyfikację obrazków i mamy, nie wiem, kilka klas generalnie, pięć, dziesięć, to jak ja anotuję te dane, to otwieram sobie te wszystkie zdjęcia, wrzucam do jednego katalogu i robię sobie miniaturki tych obrazków. I teraz przelatuję i po prostu z Commandem zaznaczam obrazki jednej klasy, i jak zaznaczę sobie z 50 takich, to po prostu przenoszę do katalogu &#8222;klasa pierwsza&#8221; i zaczynam od początku tego katalogu.</p>



<p>Zaznaczam tę klasę, tę samą klasę, pewnie jakąś inną, generalnie tę klasę, którą widzę, że jest najpopularniejsza aktualnie, i po prostu klikam, zaznaczam z 50 przypadków i przenoszę do innego katalogu.</p>



<p>I skupiam się mocno na <em>precision</em>, a nie na <em>recall</em>, czyli nie zależy mi, żeby znaleźć wszystkie zdjęcia tej klasy, którą akurat mam w głowie, bo to nie ma znaczenia. Po prostu robię bardzo wiele takich przejść, bardzo dużo takich baczy i to działa niesamowicie szybko.</p>
<p>Artykuł <a href="https://biznesmysli.pl/sztuczna-inteligencja-zmienia-szukanie-odpowiedzi/">Sztuczna inteligencja zmienia szukanie odpowiedzi</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://biznesmysli.pl/sztuczna-inteligencja-zmienia-szukanie-odpowiedzi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sztuczna inteligencja pod własnym dachem</title>
		<link>https://biznesmysli.pl/sztuczna-inteligencja-pod-wlasnym-dachem/</link>
					<comments>https://biznesmysli.pl/sztuczna-inteligencja-pod-wlasnym-dachem/#respond</comments>
		
		<dc:creator><![CDATA[Vladimir]]></dc:creator>
		<pubDate>Wed, 22 May 2024 07:00:00 +0000</pubDate>
				<category><![CDATA[Natural Language Processing]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[NLP]]></category>
		<category><![CDATA[OPI]]></category>
		<category><![CDATA[uczenie maszynowe]]></category>
		<guid isPermaLink="false">https://biznesmysli.pl/?p=11074</guid>

					<description><![CDATA[<p>To już 120 odcinek, a dzisiejszym tematem jest &#8222;sztuczna inteligencja pod własnym dachem&#8221;, czyli trenowanie własnych modeli LLM (takich jak &#8222;ChatGPT&#8221;) tylko na własną rękę. Brzmi ciekawie? W mojej opinii, LLM to nowoczesna waluta. Tak, aż tak! Posiadanie własnego modelu LLM (przynajmniej na poziomie kraju) daje przewagę konkurencyjną i wpływa na rozwój gospodarki oraz innowacyjności. W tym odcinku rozmawiam z Markiem Kozłowskim, ekspertem od NLP (pracy z tekstem) i ogólnie machine learning. Marek pracuje w AI Labie w OPI (Ośrodku Przetwarzania Informacji – Państwowym Instytucie Badawczym). Poruszamy wiele tematów, a główną myślą jest&#160;trenowanie własnych modeli LLM pod własnym dachem. O czym rozmawiamy? Dlaczego warto trenować własne modele LLM? Dodatkowo dowiesz się o projektach realizowanych w AI Labie w OPI, w tym o systemie antyplagiatowym JSA oraz modelach Qra i MMLW. Poruszamy też kwestię otwartości modeli LLM i podkreślamy, że tworzenie modeli dostępnych dla wszystkich jest kluczowe. Zapraszam Cię do wysłuchania tego inspirującego odcinka i podzielenia się swoją opinią. Będzie mi również bardzo miło, jeśli polecisz nasz podcast co najmniej jednej osobie – im więcej osób się dowie, tym lepiej! Spis treści odcinka: Chcesz dowiedzieć się więcej? Posłuchaj całego odcinka i daj mi znać, co o nim myślisz! Koniecznie poleć odcinek co najmniej jedne osobie.&#160; Podcast Biznes Myśli znajdziesz na wszystkich platformach podcastowych (Apple, Google, Spotify i innych). Wystarczy wpisać &#8222;Biznes Myśli&#8221;. Możesz także obejrzeć nas na YouTube, gdzie oprócz głosu nagrywamy również wideo. Czekam na Twoją opinię, czy dodatkowy format na YouTube Ci bardziej odpowiada.</p>
<p>Artykuł <a href="https://biznesmysli.pl/sztuczna-inteligencja-pod-wlasnym-dachem/">Sztuczna inteligencja pod własnym dachem</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-speaker-spotify-Z1mgMKp wp-block-lazyblock-speaker-spotify"><div class="wp-block-columns are-vertically-aligned-center">
<div class="wp-block-column is-vertically-aligned-center">
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://www.spreaker.com/episode/bm120-sztuczna-inteligencja-pod-wlasnym-dachem-rozmowa-z-kierownikiem-ai-lab-z-opi--60120504" target="_blank"><img decoding="async" src="https://biznesmysli.pl/wp-content/uploads/2020/02/spreaker.png" alt="" class="wp-image-2150" width="213" height="71"></a></figure></div>
</div>
<div class="wp-block-column is-vertically-aligned-center">
<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><a href="https://open.spotify.com/episode/14OqyIh2iPuZzBaCNbrBsC" target="_blank"><img decoding="async" src="https://biznesmysli.pl/wp-content/uploads/2020/02/spotify-badge-button.png" alt="" class="wp-image-2149" width="192" height="93"></a></figure></div>
</div>
</div></div>


<p></p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="BM120 - Sztuczna inteligencja pod własnym dachem" width="960" height="540" src="https://www.youtube.com/embed/iyki7AjAtfU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div><figcaption class="wp-element-caption">Oglądaj video</figcaption></figure>



<p></p>



<p>To już 120 odcinek, a dzisiejszym tematem jest &#8222;sztuczna inteligencja pod własnym dachem&#8221;, czyli trenowanie własnych modeli LLM (takich jak &#8222;ChatGPT&#8221;) tylko na własną rękę. Brzmi ciekawie? W mojej opinii, LLM to nowoczesna waluta. Tak, aż tak! Posiadanie własnego modelu LLM (przynajmniej na poziomie kraju) daje przewagę konkurencyjną i wpływa na rozwój gospodarki oraz innowacyjności.</p>



<p>W tym odcinku rozmawiam z Markiem Kozłowskim, ekspertem od NLP (pracy z tekstem) i ogólnie machine learning. Marek pracuje w AI Labie w OPI (Ośrodku Przetwarzania Informacji – Państwowym Instytucie Badawczym). Poruszamy wiele tematów, a główną myślą jest&nbsp;<strong>trenowanie własnych modeli LLM pod własnym dachem</strong>.</p>



<p>O czym rozmawiamy?</p>



<ul>
<li>Dlaczego trenowanie własnych modeli LLM jest kluczowe na poziomie kraju (w tym także w Polsce)?</li>



<li>Jak wygląda proces trenowania modeli LLM? Od pre-trainingu, przez fine-tuning, aż po ewaluację i walidację.</li>



<li>Wyzwania i możliwości budowy ekosystemu LLM w Polsce.&nbsp;</li>



<li>Inicjatywy takie jak konsorcjum PLLuM oraz potencjał rozwoju modeli LLM w Polsce.</li>



<li>Marek dzieli się swoimi przemyśleniami na temat otwartości modeli, w tym Mistrala i jego zmieniających się warunków dostępności.</li>



<li>Znaczenie danych kulturowo-historycznych w modelach oraz ich niedobór w dostępnych modelach, takich jak LLama 3 i innych.</li>
</ul>



<span id="more-11074"></span>



<p>Dlaczego warto trenować własne modele LLM?</p>



<ul>
<li>Własne modele to coś więcej niż technologia &#8211; to element narodowego ekosystemu AI.</li>



<li>Dają przewagę konkurencyjną i wpływają na rozwój gospodarki.</li>



<li>Pozwala na tworzenie rozwiązań dopasowanych do specyficznych potrzeb.</li>



<li>Zapewnia większą kontrolę nad danymi i prywatnością.</li>



<li>I coś więcej (warto posłuchać <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>



<p>Dodatkowo dowiesz się o projektach realizowanych w AI Labie w OPI, w tym o systemie antyplagiatowym JSA oraz modelach Qra i MMLW. Poruszamy też kwestię otwartości modeli LLM i podkreślamy, że tworzenie modeli dostępnych dla wszystkich jest kluczowe.</p>



<p>Zapraszam Cię do wysłuchania tego inspirującego odcinka i podzielenia się swoją opinią. Będzie mi również bardzo miło, jeśli polecisz nasz podcast co najmniej jednej osobie – im więcej osób się dowie, tym lepiej!</p>



<p>Spis treści odcinka:</p>



<ul>
<li>00:00:00 &#8211; Wprowadzenie</li>



<li>00:01:35 &#8211; Kim jest Marek Kozłowski?</li>



<li>00:03:35 &#8211; OPI i AI Lab &#8211; co to jest i czym się zajmuje?</li>



<li>00:10:40 &#8211; Historia deep learningu i NLP w Polsce</li>



<li>00:12:40 &#8211; Jakie książki Marek ostatnio czytał?</li>



<li>00:16:10 &#8211; OPI &#8211; software house i laboratoria</li>



<li>00:20:00 &#8211; Projekty zrealizowane przez AI Lab w OPI</li>



<li>00:25:00 &#8211; Dane i ich znaczenie dla budowy modeli LLM</li>



<li>00:30:10 &#8211; Definicja modeli LLM</li>



<li>00:33:00 &#8211; Reprezentacyjne i generatywne modele LLM</li>



<li>00:37:00 &#8211; OpenAI i Google &#8211; historia sukcesu i porażki</li>



<li>00:40:00 &#8211; Dane jako klucz do sukcesu</li>



<li>00:41:35 &#8211; Etapy uczenia modeli LLM</li>



<li>00:53:00 &#8211; Dlaczego warto budować modele LLM pod własnym dachem?</li>



<li>00:56:00 &#8211; Konsorcjum PLLuM</li>



<li>01:06:00 &#8211; Ekosystem usług oparty o AI</li>



<li>01:14:00 &#8211; Racją stanu i przyszłość AI w Polsce</li>



<li>01:17:40 &#8211; Podsumowanie&nbsp;</li>
</ul>



<p></p>



<p>Chcesz dowiedzieć się więcej? Posłuchaj całego odcinka i daj mi znać, co o nim myślisz! Koniecznie poleć odcinek co najmniej jedne osobie.&nbsp;</p>



<p></p>



<p></p>



<p><em>Podcast Biznes Myśli znajdziesz na wszystkich platformach podcastowych (Apple, Google, Spotify i innych). Wystarczy wpisać &#8222;Biznes Myśli&#8221;. Możesz także obejrzeć nas na YouTube, gdzie oprócz głosu nagrywamy również wideo. Czekam na Twoją opinię, czy dodatkowy format na YouTube Ci bardziej odpowiada.</em></p>



<p></p>



<p></p>



<p></p>



<p></p>
<p>Artykuł <a href="https://biznesmysli.pl/sztuczna-inteligencja-pod-wlasnym-dachem/">Sztuczna inteligencja pod własnym dachem</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://biznesmysli.pl/sztuczna-inteligencja-pod-wlasnym-dachem/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
