<?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>machine learning &#8211; Biznes Myśli</title>
	<atom:link href="https://biznesmysli.pl/tag/machine-learning/feed/" rel="self" type="application/rss+xml" />
	<link>https://biznesmysli.pl/tag/machine-learning/</link>
	<description>by Vladimir, sztuczna inteligencja w biznesie</description>
	<lastBuildDate>Wed, 19 Jun 2024 13:19:37 +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>machine learning &#8211; Biznes Myśli</title>
	<link>https://biznesmysli.pl/tag/machine-learning/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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" fetchpriority="high" 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 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>
		<item>
		<title>Czy developer potrzebuje Machine Learning?</title>
		<link>https://biznesmysli.pl/czy-developer-potrzebuje-machine-learning/</link>
					<comments>https://biznesmysli.pl/czy-developer-potrzebuje-machine-learning/#respond</comments>
		
		<dc:creator><![CDATA[Vladimir]]></dc:creator>
		<pubDate>Mon, 09 Aug 2021 05:59:11 +0000</pubDate>
				<category><![CDATA[Edukacja]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[ML.NET]]></category>
		<category><![CDATA[nauka]]></category>
		<guid isPermaLink="false">https://biznesmysli.pl/?p=5991</guid>

					<description><![CDATA[<p>Tym razem mam dla Ciebie nieco inny wpis niż zazwyczaj. Jest to pewien eksperyment. Polega on na tym, że Kajetan Duszyński zaprosił mnie do swojego podcastu, a ja pomyślałem, że warto również opublikować to u mnie.  Dotychczas miałem dwie możliwości: albo głównie ja zadaje pytania, albo prowadzę monolog. Pomyślałem, że fajnie byłoby, żeby ktoś, kto ma trochę inne doświadczenie (programisty), wyciągnął tym razem ze mnie może nieco mniej oczywiste tematy i opinie. Człowiek jest bardzo subiektywny. Dzięki takim eksperymentom będę w stanie wyciągnąć więcej ukrytych warstw. Ciekawy jestem, jak ocenisz tę rozmowę. Koniecznie daj mi znać, jak Ci się podobało. Ten wpis będzie bardzo przydatny przede wszystkim dla programistów. W szczególności jeżeli mówimy o programistach .NET, C#, bo Kajetan właśnie w tym się specjalizuje.  Kajetan prowadzi podcast Backend na froncie &#8211; polecam zajrzeć, a także odwiedzić jego kanał na YouTube. Kajetan: Cześć Vladimir. Niezwykle mi miło, że udało nam się spotkać. Pierwszy raz pojawia się pewnego rodzaju współpraca, tzn. Backend na froncie łączy się w pewien sposób (chociaż na jeden odcinek) z Twoim podcastem Biznes Myśli. Mam nadzieję, że wyjdzie z tego bardzo ciekawa rozmowa. Na sam początek bardzo bym Cię poprosił o krótkie przedstawienie się, kim jesteś, skąd pochodzisz i dlaczego się tutaj spotykamy. Vladimir: Cześć Kajetan. Bardzo mi miło, że mnie zaprosiłeś. Cofnę się trochę w czasie, jeżeli chodzi o przemyślenia związane z C#. Za chwilę wyjaśnię, co mam na myśli.  Kim jestem? Zajmuję się wieloma rzeczami, więc ciężko jednoznacznie odpowiedzieć na to pytanie, ale myślę, że najlepiej w tej chwili będzie określić to w ten sposób &#8211; przedsiębiorca, inżynier uczenia maszynowego, programista. Nadal programista mimo tego, że dużo moich obecnych projektów jest związana ze strategią, planowaniem, tematami biznesowymi. Jestem prezesem spółki DataWorkshop i sporo rzeczy nowych się pojawiło, ale programowanie dla mnie jest w pewnym sensie medytacją. Nawet wtedy kiedy nie muszę rozwiązywać konkretnego problemu pisząc kod, ale mam jakiś stres albo coś mi nie wychodzi, to i tak siadam, bo kilka godzin programowania jest super sprawą, żeby trochę odpocząć, odnieść swoje pierwsze sukcesy danego dnia, bo to jest też ważne, żeby mieć ustalony plan dnia. Osoba, która robi rzeczy bardziej abstrakcyjne, dość często ma ten problem, że pewne rzeczy się rozpływają, czyli musisz mieć więcej czasu, żeby to wszystko zrealizować. Dlatego proste czynności, mini programy, które od dawna chciałem zrobić, po prostu są mega fajną rzeczą. Prowadzę spółkę DataWorkshop, która zajmuje się uczeniem maszynowym, ale na różne sposoby. Z jednej strony wdrażamy uczenie maszynowe, pomagamy, wspieramy inne firmy. Na ten moment udało się wdrożyć już ponad 500 modeli, czyli tyle modeli się kręci na produkcji i zarabia na siebie. Ile ich było trenowanych, to już ciężko byłoby zliczyć. Liczy się przede wszystkim wejście na produkcję, bo zwykle do produkcji nie dochodzi, więc tutaj jestem dumny, że udało się aż tyle.  Druga odnogą jest warstwa edukacyjna. Zrozumiałem w pewnym momencie, że temat uczenia maszynowego sam w sobie jest dość skomplikowany, ale z drugiej strony jak rozumiesz go i chcesz przekazać w inny sposób, to da się to zrobić. Zacząłem to robić najpierw hobbistycznie, tak bardziej dla siebie, miałem taką wewnętrzną potrzebę i okazało się, że to działa i ludzie są zainteresowani. Robiłem to sobotami, pół roku eksperymentowałem, a potem uznałem, że warto pójść krok dalej i tak uruchomiłem kursy online. W tej chwili już ponad 10 000 osób przeszło przez różne moje inicjatywy. Przy okazji polecam zasubskrybować kanał DataWorkshop. Trzecia odnoga spółki to lab, eksperymenty wewnętrzne, gdzie robimy fajne rzeczy związane z ML, AI. Teraz robimy kilka, o których za bardzo nikt nie wie, bo to jest eksperyment. Zobaczymy, może kiedyś opowiem o tym więcej.  Prowadzę także podcast Biznes Myśli.  K: No właśnie. Ja byłem pierwszy raz bardzo zestresowany i zdenerwowany przed rozmową z Tobą. Przyznam się szczerze, że w poprzednich rozmowach, które prowadziłem, mniej więcej się jakoś tam orientowałem w samym temacie. Natomiast o ML naprawdę nie wiem zbyt dużo. Ostatni raz z jakimkolwiek ML, z jakąkolwiek siecią neuronową czy czymkolwiek tego typu miałem kontakt wiele lat temu na studiach i też szczerze mówiąc, specjalnie się tym nie przejmowałem, tylko starałem się jak najszybciej zaliczyć przedmiot. Ale sprzedam od razu, że wczoraj przez chwilę rozmawialiśmy przez telefon i mam wrażenie, że już wczoraj gdybyśmy po prostu nagrali naszą rozmowę przez telefon, to już by nam pół podcastu wyszło. To już mnie mocno uspokoiło.  Dobra, ale w takim razie, żeby cały stres zszedł, żeby dobrze wejść w całą rozmowę, takie szybkie pytanie rozgrzewkowe: powiedz mi jaką ostatnio książkę przeczytałeś albo jaki serial, albo film obejrzałeś? Co mógłbyś polecić? V: Oglądam zwykle dość mało, ale książki czytam regularnie i aktywnie. Myślę, że w tej chwili nie tyle jakąś techniczną polecę, bo to może nie każdemu się spodoba. Czytałem taką książkę bardziej koncepcyjno-rozwojową. Ona się nazywa po polsku prawdopodobnie coś w rodzaju “Samuraj bez miecza” czyli taki Samuraj, japoński wojownik, który zwykle ma miecz, a tam właśnie był taki człowiek, który mieszkał w latach tysiąc pięćsetnych w Japonii, który złączył Japonię, a przy tym wszystkim w ogóle nie był wojownikiem w rozumieniu normalnym. Jego mieczem był jego mózg, intelekt. To była taka bardzo ciekawa historia, chociaż ta ma dwa końce i skończyła się nie tak fajnie. Japonię faktycznie połączył, ale później jego ego zaczęło dawać o sobie znać i on jako zwykły chłopak z małej wsi, stał się prawie cesarzem (formalnie nie mógł nim zostać) i miał całą władzę w Japonii. Trochę mu w głowie się namieszało i zaczął robić różne dziwne rzeczy. To ciekawe, na ile człowiek może się zmieniać w zależności od swojego otoczenia. Jego ścieżka, jak on to wszystko robił, łączył, jak potrafił zjednać ludzi, łagodzić konflikty itd. to jest bardzo fascynujące. Myślę, że w naszych czasach jest to przydatna lektura.  K: Szczególnie używanie naszego mózgu, bo z tym różnie bywa, ale zostawmy to.  Czym jest uczenie maszynowe? Skoro ludzie czasem mają problem z uczeniem się i z myśleniem to w jakim sensie rozumiemy, czym jest uczenie maszynowe? W jaki sposób możemy uczyć maszyny? V: Jest taki mem, gdzie stoją komputery na ławkach, na ścianie jest tablica, stoi nauczyciel i uczy. W pewnym sensie to jest prawda, zaraz wyjaśnię dlaczego. Czym jest uczenie maszynowe? W sumie jest wiele różnych definicji i myślę, że dla programisty najlepiej byłoby zdefiniować w taki sposób: jak działa programista, jak myśli programista i w jaki sposób w ogóle powstaje rozwiązanie? Żeby programista stworzył rozwiązanie, potrzebuje specyfikacji, czyli prawdopodobnie jakiś biznes analityk przygotowuje pewną specyfikację co trzeba zrobić i krok po kroku jest opisane samo rozwiązanie. De facto człowiek manualnie może to wykonywać, tylko zwykle ręcznie to długo trwa, więc próbujemy to przenieść na poziom kodu. Ale samo rozwiązanie jest wiadome, dla programisty to jest dziwne, jak można byłoby zrobić coś, czego nie wiesz. Programista zawsze wie, jak wygląda rozwiązanie. Jedyne co robi, to przenosi, jest w pewnym sensie tłumaczem, który tłumaczy język ludzki na język komputerowy, używając np. C# albo innego języka do programowania. Jak działa uczenie maszynowe? Uczenie maszynowe działa nieco inaczej. W naszym przypadku mamy dane, które są na wejściu i na wyjściu. Jako przykład załóżmy, że chcemy napisać algorytm scoringu, który przewiduje, czy ktoś może dostać kredyt. Akurat jak pracowałem z C# to wtedy w firmie, w której pracowałem, takie rozwiązania były tworzone. To działa w taki sposób, że od banku dostawaliśmy specyfikację i tam było dużo if dość skomplikowanych i trzeba było to wszystko manualnie napisać. W uczeniu maszynowym to byłoby tak, że my dostajemy dane, to taka zwykła tabelka, mamy kolumny i wiersze. W wierszach jest poszczególny klient, a w kolumnach są opisy klientów, np. płeć, wiek, pensja, kraj, dzielnica. Takich opisów może być np. 50-100 albo nawet tysiące &#8211; w uczeniu maszynowym to się nazywa cechami. Jest odpowiedź, np. taka, że ten człowiek kredyt spłacił. To, co my robimy, to przekazujemy do naszego modelu takie informacje czyli dane wejściowe. Potem mówimy, że to jest odpowiedź: ten człowiek spłacił, a ten nie, więc modelu zrób coś z tymi danymi, czyli zbuduj algorytm na podstawie tych danych, których ci dostarczyliśmy, samodzielnie znajdź takie korelacje, które powodują, że my jesteśmy w stanie później w przyszłości odróżnić klienta, który nam spłaci kredyt od tego, który tego nie zrobi. Różnica główna polega na tym, że ten algorytm powstaje automatycznie. To uczenie maszynowe go wymyśla, a nie człowiek go narzuca z góry.  To ma swoje wady i zalety, ale taka największa zaleta ML to wykrywanie nieoczywistych zależności. Człowiek ma bardzo ograniczone zasoby, jeżeli chodzi o połączenie różnych faktów. Owszem, może brać pod uwagę jednocześnie 5, 7, czasem ktoś mówi, że więcej, ale zwykle mniej. A świat, który nas otacza, jest bardzo skomplikowany, więc my potrzebujemy pewnych narzędzi (podobnie jak mikroskop albo teleskop, gdy badamy kosmos), które potrafią wykonywać pewne czynności szybciej niż człowiek. Komputer szybciej liczy &#8211; nawet nie ma co dyskutować. Tu jest podobnie. Jak zbadamy różne kombinacje o różnych zależnościach, to komputer szybciej znajdzie te zależności, bo po prostu szybciej może przemnażać macierze albo znajdować jakieś tam warunki.  Podsumowując, uczenie maszynowe to jest sposób znalezienia rozwiązania w automatyczny sposób, wykorzystując dane historyczne, które mają pewien opis plus odpowiedź na pytanie, co wydarzyło się na końcu. Później ten akord możemy zastosować, żeby prognozować coś w przyszłości, ale nie tylko, ponieważ jest jeszcze kilka różnych zastosowań.  Czy modele ML krzywdzą? K: Czy w takim modelu w trakcie projektowania to Ty wskazujesz, jaka cecha ma jaką wagę? Na przykład to, że wiek osoby jest ważniejszy w dawaniu pozytywnej opinii dla kredytu niż to, gdzie mieszka? Zacząłem się właśnie zastanawiać, że jeżeli nagle wyjdzie tak, że ktoś mieszkający w szemranej dzielnicy chciałby dostać kredyt i pomimo tego, że ma pieniądze, stabilną sytuację ale po prostu mieszka w takiej dzielnicy, bo w niej się wychował, to nagle może to się wydać lekko niesprawiedliwe. Oczywiście domyślam się, że przy tych wszystkich historycznych wpisach, będziemy mieli niewielki odsetek, ale czy gdzieś jesteśmy w stanie nad tym zapanować, jak ten model mimo wszystko działa i lekko go korygować? V: Poruszasz niezwykle ważny temat, bardzo wrażliwy w uczeniu maszynowym. Zwykle to polega na tym, że to się dzieje automatycznie. To dobrze i źle. Dobrze, bo to się dzieje automatycznie, więc tak naprawdę przekazujemy całą moc modelowi, dzięki temu jesteśmy w stanie wykrywać znacznie więcej, bo nie ograniczamy go i to jest dobre. Ale źle, ponieważ pojawiają się różne problemy etyczne, o których wspomniałeś. To jest problem, który jest bolączką w tej chwili. Faktycznie może być tak, że jest dzielnica, płeć albo inne rzeczy, które mogą być krzywdzące i to faktycznie tak jest. To jest taki temat, który próbujemy rozwiązać na różne sposoby.  W ogóle wykrywanie, że takie coś jest, też nie jest takie łatwe, bo te bardzo złożone modele są tzw. modelami blackbox. To oznacza, że one działają dobrze albo bardzo dobrze, ale my nie wiemy, jak one działają. To, co teraz przez ostatnie kilka lat stało się bardzo popularnym trendem, to badanie i odkrywanie, podejrzenie, co tam się dzieje w środku tego blackboxa, zrobienie chociaż grey boxa. Kiedy przynajmniej widzimy, że np. dana cecha wpływa na to i na to, a inna wpływa na jeszcze coś. Jeżeli któraś cecha jest bardziej krzywdząca, to tę cechę się usuwa i to jest najbardziej bezpieczne, co można zrobić.  K: Ok, właśnie mam wrażenie, że dla takiego typowego programisty, taki machine learning może być nieco trudny do zaakceptowania, bo programiści jednak mimo wszystko lubią mieć panowanie nad wszystkim, lubią wiedzieć, że są bogami tych aplikacji i dokładnie wiedzą, co się dzieje w każdym momencie. Jeśli zaś nie wiedzą, to znaczy, że napisali za mało testów i powinni coś zmienić, zrefaktoryzować. Proces Machine Learning Ty z kolei mówisz właśnie, że przy ML właściwie tworzysz coś i potem sam do końca nie wiesz, jak to działa. W związku z tym, jak w ogóle wygląda proces ML&#8217;owy, od czego się zaczyna, przez jakie kroki przechodzimy, żeby cały proces zbudować? V: Zaraz wyjaśnię proces, ale skomentuję jedną rzecz a propos trzymania kontroli. Tutaj jest trzymanie kontroli na innym poziomie. Są takie działki, gdzie jest z jednej strony wyzwanie, z drugiej strony obszar, w którym trzeba uważnie dobierać chociażby cechy, które przekazujemy albo sprawdzać, czy model...</p>
<p>Artykuł <a href="https://biznesmysli.pl/czy-developer-potrzebuje-machine-learning/">Czy developer potrzebuje Machine Learning?</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-speaker-spotify-9x2TB 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/user/9664330/bm-106" 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/6544QxFpPkzKBxc6k5AYtI" 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><br /><br /></p>



<p><strong>Tym razem mam dla Ciebie nieco inny wpis niż zazwyczaj. Jest to pewien eksperyment. Polega on na tym, że <a href="https://www.linkedin.com/in/kduszynski/" target="_blank" rel="noreferrer noopener nofollow">Kajetan Duszyński</a> zaprosił mnie do swojego podcastu, a ja pomyślałem, że warto również opublikować to u mnie. </strong></p>



<p><br /><br /></p>



<p><strong>Dotychczas miałem dwie możliwości: albo głównie ja zadaje pytania, albo prowadzę monolog. Pomyślałem, że fajnie byłoby, żeby ktoś, kto ma trochę inne doświadczenie (programisty), wyciągnął tym razem ze mnie może nieco mniej oczywiste tematy i opinie. Człowiek jest bardzo subiektywny. Dzięki takim eksperymentom będę w stanie wyciągnąć więcej ukrytych warstw. Ciekawy jestem, jak ocenisz tę rozmowę. Koniecznie daj mi znać, jak Ci się podobało.</strong></p>



<p><br /><br /><br /></p>



<p><strong>Ten wpis będzie bardzo przydatny przede wszystkim dla programistów. W szczególności jeżeli mówimy o programistach .NET, C#, bo Kajetan właśnie w tym się specjalizuje. </strong></p>



<p><br /><br /><br /></p>



<p><strong>Kajetan prowadzi podcast <a href="https://backendnafroncie.podbean.com/" target="_blank" rel="noreferrer noopener">Backend na froncie </a>&#8211; polecam zajrzeć, a także odwiedzić jego kanał na YouTube.</strong></p>



<p><br /><br /></p>



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



<p><strong>Kajetan: Cześć Vladimir. Niezwykle mi miło, że udało nam się spotkać. Pierwszy raz pojawia się pewnego rodzaju współpraca, tzn. <em>Backend na froncie</em> łączy się w pewien sposób (chociaż na jeden odcinek) z Twoim podcastem <em>Biznes Myśli</em>. Mam nadzieję, że wyjdzie z tego bardzo ciekawa rozmowa. Na sam początek bardzo bym Cię poprosił o krótkie przedstawienie się, kim jesteś, skąd pochodzisz i dlaczego się tutaj spotykamy.</strong></p>



<p><br /><br /><br /></p>



<p>Vladimir: Cześć Kajetan. Bardzo mi miło, że mnie zaprosiłeś. Cofnę się trochę w czasie, jeżeli chodzi o przemyślenia związane z C#. Za chwilę wyjaśnię, co mam na myśli. </p>



<p><br /><br /><br /></p>



<p>Kim jestem? Zajmuję się wieloma rzeczami, więc ciężko jednoznacznie odpowiedzieć na to pytanie, ale myślę, że najlepiej w tej chwili będzie określić to w ten sposób &#8211; przedsiębiorca, inżynier uczenia maszynowego, programista. Nadal programista mimo tego, że dużo moich obecnych projektów jest związana ze strategią, planowaniem, tematami biznesowymi. Jestem prezesem spółki DataWorkshop i sporo rzeczy nowych się pojawiło, ale programowanie dla mnie jest w pewnym sensie medytacją. </p>



<p><br /><br /><br />Nawet wtedy kiedy nie muszę rozwiązywać konkretnego problemu pisząc kod, ale mam jakiś stres albo coś mi nie wychodzi, to i tak siadam, bo kilka godzin programowania jest super sprawą, żeby trochę odpocząć, odnieść swoje pierwsze sukcesy danego dnia, bo to jest też ważne, żeby mieć ustalony plan dnia. Osoba, która robi rzeczy bardziej abstrakcyjne, dość często ma ten problem, że pewne rzeczy się rozpływają, czyli musisz mieć więcej czasu, żeby to wszystko zrealizować. Dlatego proste czynności, mini programy, które od dawna chciałem zrobić, po prostu są mega fajną rzeczą.</p>



<p><br /><br /><br /></p>



<p>Prowadzę spółkę DataWorkshop, która zajmuje się uczeniem maszynowym, ale na różne sposoby. Z jednej strony wdrażamy uczenie maszynowe, pomagamy, wspieramy inne firmy. Na ten moment udało się wdrożyć już ponad 500 modeli, czyli tyle modeli się kręci na produkcji i zarabia na siebie. Ile ich było trenowanych, to już ciężko byłoby zliczyć. Liczy się przede wszystkim wejście na produkcję, bo zwykle do produkcji nie dochodzi, więc tutaj jestem dumny, że udało się aż tyle. </p>



<p><br /><br /></p>



<p>Druga odnogą jest <strong>warstwa edukacyjna</strong>. Zrozumiałem w pewnym momencie, że temat uczenia maszynowego sam w sobie jest dość skomplikowany, ale z drugiej strony jak rozumiesz go i chcesz przekazać w inny sposób, to da się to zrobić. Zacząłem to robić najpierw hobbistycznie, tak bardziej dla siebie, miałem taką wewnętrzną potrzebę i okazało się, że to działa i ludzie są zainteresowani. </p>



<p><br /><br /><br />Robiłem to sobotami, pół roku eksperymentowałem, a potem uznałem, że warto pójść krok dalej i tak uruchomiłem <a href="https://dataworkshop.eu/pl/ml-for-you" target="_blank" rel="noreferrer noopener">kursy online</a>. W tej chwili już ponad <strong>10 000</strong> osób przeszło przez różne moje inicjatywy. Przy okazji polecam zasubskrybować kanał DataWorkshop.</p>



<p><br /><br /><br /></p>



<p>Trzecia odnoga spółki to lab, <strong>eksperymenty wewnętrzne</strong>, gdzie robimy fajne rzeczy związane z ML, AI. Teraz robimy kilka, o których za bardzo nikt nie wie, bo to jest eksperyment. Zobaczymy, może kiedyś opowiem o tym więcej. </p>



<p><br /><br /><br /></p>



<p>Prowadzę także podcast <em>Biznes Myśli</em>. </p>



<p><br /><br /></p>



<p><strong>K: No właśnie. Ja byłem pierwszy raz bardzo zestresowany i zdenerwowany przed rozmową z Tobą. Przyznam się szczerze, że w poprzednich rozmowach, które prowadziłem, mniej więcej się jakoś tam orientowałem w samym temacie. Natomiast o ML naprawdę nie wiem zbyt dużo. </strong></p>



<p><br /><br /><br /><br /><strong>Ostatni raz z jakimkolwiek ML, z jakąkolwiek siecią neuronową czy czymkolwiek tego typu miałem kontakt wiele lat temu na studiach i też szczerze mówiąc, specjalnie się tym nie przejmowałem, tylko starałem się jak najszybciej zaliczyć przedmiot. Ale sprzedam od razu, że wczoraj przez chwilę rozmawialiśmy przez telefon i mam wrażenie, że już wczoraj gdybyśmy po prostu nagrali naszą rozmowę przez telefon, to już by nam pół podcastu wyszło. To już mnie mocno uspokoiło. </strong></p>



<p><br /><br /><br /></p>



<p><strong>Dobra, ale w takim razie, żeby cały stres zszedł, żeby dobrze wejść w całą rozmowę, takie szybkie pytanie rozgrzewkowe: powiedz mi jaką ostatnio książkę przeczytałeś albo jaki serial, albo film obejrzałeś? Co mógłbyś polecić?</strong></p>



<p><br /><br /><br /></p>



<p>V: Oglądam zwykle dość mało, ale książki czytam regularnie i aktywnie. Myślę, że w tej chwili nie tyle jakąś techniczną polecę, bo to może nie każdemu się spodoba. Czytałem taką książkę bardziej koncepcyjno-rozwojową. </p>



<p><br /><br /><br />Ona się nazywa po polsku prawdopodobnie coś w rodzaju “Samuraj bez miecza” czyli taki Samuraj, japoński wojownik, który zwykle ma miecz, a tam właśnie był taki człowiek, który mieszkał w latach tysiąc pięćsetnych w Japonii, który złączył Japonię, a przy tym wszystkim w ogóle nie był wojownikiem w rozumieniu normalnym. </p>



<p><br /><br /><br /><br />Jego mieczem był jego mózg, intelekt. To była taka bardzo ciekawa historia, chociaż ta ma dwa końce i skończyła się nie tak fajnie. Japonię faktycznie połączył, ale później jego ego zaczęło dawać o sobie znać i on jako zwykły chłopak z małej wsi, stał się prawie cesarzem (formalnie nie mógł nim zostać) i miał całą władzę w Japonii. </p>



<p><br /><br /><br />Trochę mu w głowie się namieszało i zaczął robić różne dziwne rzeczy. To ciekawe, na ile człowiek może się zmieniać w zależności od swojego otoczenia. Jego ścieżka, jak on to wszystko robił, łączył, jak potrafił zjednać ludzi, łagodzić konflikty itd. to jest bardzo fascynujące. Myślę, że w naszych czasach jest to przydatna lektura. </p>



<p><br /><br /></p>



<p><strong>K: Szczególnie używanie naszego mózgu, bo z tym różnie bywa, ale zostawmy to. </strong></p>



<p><br /><br /></p>



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



<p></p>



<p><br /><strong>Skoro ludzie czasem mają problem z uczeniem się i z myśleniem to w jakim sensie rozumiemy, czym jest uczenie maszynowe? W jaki sposób możemy uczyć maszyny?</strong></p>



<p><br /><br /><br /></p>



<p>V: Jest taki mem, gdzie stoją komputery na ławkach, na ścianie jest tablica, stoi nauczyciel i uczy. W pewnym sensie to jest prawda, zaraz wyjaśnię dlaczego. Czym jest uczenie maszynowe? W sumie jest wiele różnych definicji i myślę, że dla programisty najlepiej byłoby zdefiniować w taki sposób: jak działa programista, jak myśli programista i w jaki sposób w ogóle powstaje rozwiązanie? </p>



<p><br /><br /><br /><br />Żeby programista stworzył rozwiązanie, potrzebuje specyfikacji, czyli prawdopodobnie jakiś biznes analityk przygotowuje pewną specyfikację co trzeba zrobić i krok po kroku jest opisane samo rozwiązanie. De facto człowiek manualnie może to wykonywać, tylko zwykle ręcznie to długo trwa, więc próbujemy to przenieść na poziom kodu. Ale samo rozwiązanie jest wiadome, dla programisty to jest dziwne, jak można byłoby zrobić coś, czego nie wiesz. Programista zawsze wie, jak wygląda rozwiązanie. Jedyne co robi, to przenosi, jest w pewnym sensie tłumaczem, który tłumaczy język ludzki na język komputerowy, używając np. C# albo innego języka do programowania.</p>



<p><br /><br /><br /><br /></p>



<p>Jak działa uczenie maszynowe?</p>



<p><br /><br /></p>



<p>Uczenie maszynowe działa nieco inaczej. W naszym przypadku mamy dane, które są na wejściu i na wyjściu. Jako przykład załóżmy, że chcemy napisać algorytm scoringu, który przewiduje, czy ktoś może dostać kredyt. Akurat jak pracowałem z C# to wtedy w firmie, w której pracowałem, takie rozwiązania były tworzone. To działa w taki sposób, że od banku dostawaliśmy specyfikację i tam było dużo <em>if </em>dość skomplikowanych i trzeba było to wszystko manualnie napisać. W uczeniu maszynowym to byłoby tak, że my dostajemy dane, to taka zwykła tabelka, mamy kolumny i wiersze. </p>



<p><br /><br /><br />W wierszach jest poszczególny klient, a w kolumnach są opisy klientów, np. płeć, wiek, pensja, kraj, dzielnica. Takich opisów może być np. 50-100 albo nawet tysiące &#8211; w uczeniu maszynowym to się nazywa cechami. Jest odpowiedź, np. taka, że ten człowiek kredyt spłacił. To, co my robimy, to przekazujemy do naszego modelu takie informacje czyli dane wejściowe. </p>



<p><br /><br /><br />Potem mówimy, że to jest odpowiedź: ten człowiek spłacił, a ten nie, więc modelu zrób coś z tymi danymi, czyli zbuduj algorytm na podstawie tych danych, których ci dostarczyliśmy, samodzielnie znajdź takie korelacje, które powodują, że my jesteśmy w stanie później w przyszłości odróżnić klienta, który nam spłaci kredyt od tego, który tego nie zrobi. Różnica główna polega na tym, że ten algorytm powstaje automatycznie. To uczenie maszynowe go wymyśla, a nie człowiek go narzuca z góry. </p>



<p><br /><br /><br /></p>



<p>To ma swoje wady i zalety, ale taka największa zaleta ML to wykrywanie nieoczywistych zależności. Człowiek ma bardzo ograniczone zasoby, jeżeli chodzi o połączenie różnych faktów. Owszem, może brać pod uwagę jednocześnie 5, 7, czasem ktoś mówi, że więcej, ale zwykle mniej. A świat, który nas otacza, jest bardzo skomplikowany, więc my potrzebujemy pewnych narzędzi (podobnie jak mikroskop albo teleskop, gdy badamy kosmos), które potrafią wykonywać pewne czynności szybciej niż człowiek. </p>



<p><br /><br /><br /><br />Komputer szybciej liczy &#8211; nawet nie ma co dyskutować. Tu jest podobnie. Jak zbadamy różne kombinacje o różnych zależnościach, to komputer szybciej znajdzie te zależności, bo po prostu szybciej może przemnażać macierze albo znajdować jakieś tam warunki. </p>



<p><br /><br /><br /></p>



<p>Podsumowując, uczenie maszynowe to jest sposób znalezienia rozwiązania w automatyczny sposób, wykorzystując dane historyczne, które mają pewien opis plus odpowiedź na pytanie, co wydarzyło się na końcu. Później ten akord możemy zastosować, żeby prognozować coś w przyszłości, ale nie tylko, ponieważ jest jeszcze kilka różnych zastosowań. </p>



<p><br /><br /><br /></p>



<h3 class="wp-block-heading">Czy modele ML krzywdzą? <br /><br /></h3>



<p><strong>K: Czy w takim modelu w trakcie projektowania to Ty wskazujesz, jaka cecha ma jaką wagę? Na przykład to, że wiek osoby jest ważniejszy w dawaniu pozytywnej opinii dla kredytu niż to, gdzie mieszka? Zacząłem się właśnie zastanawiać, że jeżeli nagle wyjdzie tak, że ktoś mieszkający w szemranej dzielnicy chciałby dostać kredyt i pomimo tego, że ma pieniądze, stabilną sytuację ale po prostu mieszka w takiej dzielnicy, bo w niej się wychował, to nagle może to się wydać lekko niesprawiedliwe. </strong></p>



<p><br /><br /><br /><br /><strong>Oczywiście domyślam się, że przy tych wszystkich historycznych wpisach, będziemy mieli niewielki odsetek, ale czy gdzieś jesteśmy w stanie nad tym zapanować, jak ten model mimo wszystko działa i lekko go korygować?</strong></p>



<p><br /><br /><br /></p>



<p>V: Poruszasz niezwykle ważny temat, bardzo wrażliwy w uczeniu maszynowym. Zwykle to polega na tym, że to się dzieje automatycznie. To dobrze i źle. Dobrze, bo to się dzieje automatycznie, więc tak naprawdę przekazujemy całą moc modelowi, dzięki temu jesteśmy w stanie wykrywać znacznie więcej, bo nie ograniczamy go i to jest dobre. Ale źle, ponieważ pojawiają się różne problemy etyczne, o których wspomniałeś. </p>



<p><br /><br /><br />To jest problem, który jest bolączką w tej chwili. Faktycznie może być tak, że jest dzielnica, płeć albo inne rzeczy, które mogą być krzywdzące i to faktycznie tak jest. To jest taki temat, który próbujemy rozwiązać na różne sposoby. </p>



<p><br /><br /><br /></p>



<p>W ogóle wykrywanie, że takie coś jest, też nie jest takie łatwe, bo te bardzo złożone modele są tzw. modelami blackbox. To oznacza, że one działają dobrze albo bardzo dobrze, ale my nie wiemy, jak one działają. To, co teraz przez ostatnie kilka lat stało się bardzo popularnym trendem, to badanie i odkrywanie, podejrzenie, co tam się dzieje w środku tego blackboxa, zrobienie chociaż grey boxa.</p>



<p><br /><br /><br /> Kiedy przynajmniej widzimy, że np. dana cecha wpływa na to i na to, a inna wpływa na jeszcze coś. Jeżeli któraś cecha jest bardziej krzywdząca, to tę cechę się usuwa i to jest najbardziej bezpieczne, co można zrobić. </p>



<p><br /><br /><br /></p>



<p><strong>K: Ok, właśnie mam wrażenie, że dla takiego typowego programisty, taki machine learning może być nieco trudny do zaakceptowania, bo programiści jednak mimo wszystko lubią mieć panowanie nad wszystkim, lubią wiedzieć, że są bogami tych aplikacji i dokładnie wiedzą, co się dzieje w każdym momencie. Jeśli zaś nie wiedzą, to znaczy, że napisali za mało testów i powinni coś zmienić, zrefaktoryzować. </strong><br /><br /><br /><br /></p>



<h2 class="wp-block-heading">Proces Machine Learning </h2>



<p><br /><br /><strong>Ty z kolei mówisz właśnie, że przy ML właściwie tworzysz coś i potem sam do końca nie wiesz, jak to działa. W związku z tym, jak w ogóle wygląda proces ML&#8217;owy, od czego się zaczyna, przez jakie kroki przechodzimy, żeby cały proces zbudować?</strong></p>



<p><br /><br /><br /></p>



<p>V: Zaraz wyjaśnię proces, ale skomentuję jedną rzecz a propos trzymania kontroli. Tutaj jest trzymanie kontroli na innym poziomie. Są takie działki, gdzie jest z jednej strony wyzwanie, z drugiej strony obszar, w którym trzeba uważnie dobierać chociażby cechy, które przekazujemy albo sprawdzać, czy model się nie przeuczył. </p>



<p><br /><br /><br /></p>



<p>Jak wygląda proces ogólnie? Na początek musimy zrozumieć (podobnie jak w programowaniu) problem biznesowy. To jest chyba jedyna, wspólna część na początek. Drugi krok to zrozumienie danych, bo w tych prawdziwych danych jest dużo śmieci. Jak to zwykle bywa, pewnie każdy programista, który pracował z bazą danych, wie, co tam jest w środku. </p>



<p><br /><br /><br />Zwykle to nie jest tak, że firma powstała w jeden dzień, tylko jeden człowiek przyszedł, drugi odszedł, jedna tabelka gdzieś tam dodana, druga usunięta, trzecia na pół usunięta, potem ktoś zrobił duplikaty i potem te same dane są trzymane w trzech różnych miejscach, ale każdy się boi to usunąć, bo nie wiadomo, co się stanie itd. W tym wszystkim trzeba się połapać.</p>



<p><br /><br /><br /><br /></p>



<p>Jeżeli tam jest gdzieś takie miejsce, gdzie ludzie wpisują dane z palca, to jest bardzo niebezpieczne miejsce, bo na pewno tam będzie dużo błędów. Jeżeli mamy importy, Excele czy różne inne rzeczy (w większych firmach mają różne, jeszcze śmieszniejsze formaty), to zawsze mogą być różne kłopoty i problemy. </p>



<p><br /><br /><br /><br />Duplikaty może i są najmniejszym problemem, ale różne anomalia mogą się pojawiać. Trzeba by więc było zbadać te dane i stwierdzić, czy po pierwsze rozumiemy te dane, potrafimy je połączyć, a po drugie czy jakość tych danych jest wystarczająco dobra, bo jeżeli dane są złe, to cała reszta już nie ma sensu. </p>



<p><br /><br /><br /></p>



<p>Jest takie powiedzenie: &#8217;<em>garbage in, garbage out</em>&#8217;, czyli jak wrzucimy śmieci na wejściu, to ML jakikolwiek by on tam zbyt skomplikowany nie był, to nie będzie w stanie wyczarować mądrych rzeczy opierając się na śmieciach.</p>



<p><br /><br /><br /></p>



<p>Przygotowanie danych zajmuje sporo czasu. Umiejętności programowania są tutaj bardzo przydatne, bo trzeba trochę się nagimnastykować, żeby te dane wyciągnąć, połączyć, pogrupować. Jest nawet taki żart, że 60-70% czasu data scientist spędza na czyszczeniu danych, a resztę czasu na narzekaniu, że tyle czasu nad tym spędził. Tak wygląda życie data scientista. </p>



<p><br /><br /><br /><br /></p>



<p>W teorii tam jeszcze jest kilka innych kroków. Jak już mamy przygotowane dane, to możemy zacząć już trenować model. Jeżeli chodzi o model i algorytm, tu jest mnóstwo różnych koncepcji. Spróbujmy wyjaśnić przynajmniej jedną z wersji, żeby to było bardziej zrozumiałe. </p>



<p><br /><br /><br /><br /></p>



<p>Algorytm jest jak suchy przepis, czyli poszczególne kroki, które trzeba wykonywać. A model to jest coś, co już wykonaliśmy na podstawie tego algorytmu i mamy pewien stan w pamięci albo na dysku zapisany. Jako przykład: algorytm może być taki, że mamy napisane jakieś dokumentacje listy <em>if&#8217;ów</em>, które mamy wykonać. Model to jest kawałek kodu, który wykonał te <em>if&#8217;y, </em>przepuścił przez siebie dane i zatrzymał ten stan w pamięci na dysku czy pamięci RAM. </p>



<p><br /><br /><br /><br /></p>



<p>Algorytmy są różne. Zaczynając od takich bardzo prostych algorytmów: liniowe, drzewa decyzyjne, gradient boostingi albo sieci neuronowe. Proces dobierania algorytmów też w tej chwili już nie jest taki skomplikowany, ale też zajmuje trochę czasu i zazwyczaj jest to zwykła <em>pętla for</em> czyli po prostu iterujesz sobie różne modele i dobierasz taki, który działa najlepiej. </p>



<p><br /><br /><br />To akurat nie jest duże wyzwanie. Większym jest dobór cech, bo tak jak rozmawialiśmy na początku, jeżeli chodzi o ten przykład ze scoringiem, to jest tak, że możemy wybrać różne cechy (wiek, płeć itd.) i są takie cechy podstawowe, które są dostępne od razu. </p>



<p><br /><br /><br /><br /></p>



<p>Ale też jest proces <em>feature engineering</em>, który polega na tym, że na podstawie obecnych cech, próbujemy znaleźć nowe. To brzmi nieco zagadkowo. Co to znaczy w praktyce? Mamy pewne dane, ale ten algorytm jest w stanie tylko dosłownie wyłapać to, co jest w tych danych. On nie jest w stanie się domyślić. Na przykład, jeśli prognozujemy ceny nieruchomości i mamy zamiast powierzchni, szerokość i wysokość tego mieszkania/domu. </p>



<p><br /><br /><br />Teraz algorytm nie będzie w stanie pomnożyć tych dwóch liczb, ale to jest ważne, bo powierzchnia jest jednym z kluczowych parametrów, jeżeli chodzi o prognozowanie. W tym przypadku ML engineer będzie kombinować z tymi cechami w taki sposób, aby stworzyć coś nowego. Tutaj zwykle pojawiają się pytania: czy to w ogóle ma jakikolwiek sens? Bo skoro ta informacja już była w danych, to czy to daje jakąkolwiek wartość dodaną? Jak najbardziej daje i to wynika z ograniczoności algorytmów. One nie potrafią rozumować takim rozumieniem człowieka jako taka prawdziwa inteligencja naturalna. One są dość ograniczone. Większość z nich, np. takie popularne algorytmy drzewa decyzyjne to są takie algorytmy zachłanne. </p>



<p><br /><br /><br />One próbują wykonywać jeden krok do przodu, najlepszy w tym momencie. Ale jak popatrzysz na całą ścieżkę, to nie jest optymalna ścieżka. Przez to, że ta złożoność jest tam zbyt duża, wykonuje się w taki sposób. Zresztą <em>feature engineering</em> to jest ta najciekawsza, w pewnym sensie też najtrudniejsza część związana z uczeniem maszynowym (przynajmniej klasycznym).</p>



<p><br /><br /></p>



<p>Jak już mamy cechy i model, to jest taka trochę pętla. Jak tworzymy nowe cechy, trenujemy model, potem kolejne cechy, trenujemy model i tak sobie kręcimy. Później jeszcze jest jeden wymiar: dobór parametrów. Model sam w sobie ma pewne zewnętrzne parametry. Załóżmy takie drzewo decyzyjne ma pewną głębokość i parametr podaje się z zewnątrz  &#8211; 5 pytań głąb albo 10 pytań w głąb itd. Czym więcej pytań, tym bardziej szczegółowo wchodzimy w detale. To ma swoje wady i zalety, ale na moment to zostawmy.</p>



<p><br /><br /></p>



<p>Już wybraliśmy cechy, wytrenowaliśmy model, dobraliśmy parametry i w tym momencie oczywiście warto też patrzeć na metrykę sukcesu. To jest właśnie kryterium jakości, np. mamy model A i model B. Każdy z tych modeli ma jakiś wynik. Który model jest lepszy? Możemy subiektywnie podchodzić do tego tematu, ale to jest trochę bez sensu. Są formalne metryki, które po prostu porównują wiersz po wierszu, gdzie błąd jest mniejszy. Ten błąd definiujemy na różne sposoby. Błąd może być taki, jeżeli mówimy np. o scoringu, tam załóżmy, że od 0 do 100. Prawidłowa odpowiedź to 100, a nasz model powiedział 90, czyli pomyliliśmy się o 10 w tym przypadku. </p>



<p><br /><br /><br />W pierwszym wierszu o 10, w drugim wierszu o 20, w trzecim o 5,i znajdujemy wartość średnią i wychodzi nam jakaś pojedyncza liczba określająca błąd w tym modelu. Potem bierzemy drugi model i liczymy w podobny sposób. Metryki są różne, ta liczba też jest różna. Warto też zrozumieć, że metrykę trzeba umieć dobierać. Teraz nie chcę wchodzić w szczegóły, ale idea polega na tym, że kompresujemy wiedzę. Powiedzmy, że mieliśmy milion wierszy, więc mamy milion prognozowań i w tym przypadku to wszystko spłaszczamy do jednej, pojedynczej liczby, która mówi, na ile dobrze ten model działa. Już ten krok podpowiada intuicyjnie, że gdzieś tu tracimy informacje. Mieliśmy tak dużo wierszy, a opisujemy przy pomocy jednej liczby.</p>



<p><br /><br /><br /></p>



<p>W sumie na tym się kończy prototypowanie, ale to niestety jest problem, bo przez dłuższy czas było tak, że (teraz to już trochę się zmienia) powstawały różne prototypy i na tym to się kończyło. Dlaczego to jest dopiero początek? Bo ten model trzeba wdrożyć gdzieś. Po co model, który coś robi, ale nie daje żadnego zysku? To wdrażanie już bardziej przypomina programowanie, bo jest jakiś serwer, gdzieś wrzucamy nasz kawałek logiki, jakoś to się kręci. </p>



<p><br /><br /><br /></p>



<p>Przy czym jeżeli chodzi o wdrażanie, są różne sposoby. Jednym ze sposobów są mikroserwisy. W szczególności jak to jest napisane w Pythonie, to wtedy ten mikroserwis sobie gada przez REST API, każdy może się z tym zintegrować. </p>



<p><br /><br /><br /></p>



<p>Drugi sposób to np. przez bazę danych, bo wtedy mamy tak, że raz w nocy odpalamy na wszystkich danych, trenujemy nasz model, potem prognozujemy, a wynik zapisujemy po prostu od razu do bazy. Potem każdy, kto chce, może z tej bazy skorzystać.</p>



<p><br /><br /><br /><br /></p>



<p>Są jeszcze inne rozwiązania, jeżeli chodzi o C#, dzisiaj też trochę o tym porozmawiamy, bo jest całkiem ciekawa biblioteczka do tego. </p>



<p><br /><br /><br /><br /></p>



<p><strong>K: No właśnie, ale zanim do tego przejdziemy, zanim przejdziemy już do konkretnych rozwiązań&#8230; Widzę już w rozmowie, że mocno oddzielasz programistę od data scientista. Zacznijmy od tego, czy w ogóle taki developer np. C#, potrzebuje machine learningu, potrzebuje wiedzy z tego zakresu? </strong></p>



<p><br /><br /><br /><br /></p>



<p>V: Krótka odpowiedź &#8211; TAK. Dlaczego on tego potrzebuje? Chociaż to, że ja oddzielam, to też nie przypadek. To jest tak, że w sumie ja się wyprowadzam ze środowiska programistycznego i są zalety, dlaczego akurat programistom warto pójść w tym kierunku jako data scientist, bo na koniec dnia ten cały kod to jest zwykły kod i te wszystkie problemy, które ma programista, wersjonowanie kodu, dobre nazewnictwo kodu itd. one tu istnieją. </p>



<p><br /><br /><br />Ludzie, którzy się wyprowadzają bardziej w strony statystyczne albo naukowe, totalnie nie ogarniają tych obszarów i na skutek tego powstają takie śmieci. Jeżeli ktoś myśli, że widział najgorszy kod w swoim życiu, to prawdopodobnie nie widział kodu. Kod powstaje u data scientista, który nie ma takiego doświadczenia programistycznego. Pod tym względem programista ma tutaj ewidentnie przewagę. </p>



<p><br /><br /><br /></p>



<p>Druga sprawa, że tam jeszcze potrzebne jest trochę inne myślenie, więc dlatego to oddzielam. Sam programista jak wkroczy w ten obszar, będzie się czuł trochę niekomfortowo, bo ma pewne braki w wiedzy. </p>



<p><br /><br /><br /></p>



<p>Dlaczego akurat to jest potrzebne dla developera, który nawet nie zamierza tam wkraczać? Świat się zmienia szybciej, niż myślisz. Możesz np. funkcjonować w .NET, a okazuje się, że świat otacza się uczeniem maszynowym. W Azure mamy cognitive services, czyli są warstwy związane z ML. To można bardzo łatwo w tej chwili wykorzystać i już zacząć robić przeróżne, trudne rzeczy wykorzystując tylko API. </p>



<p><br /><br /><br /><br />Później SQL Server, niby baza danych, ale z jakiegoś powodu tam się pojawiają wdrożone komponenty, które umożliwiają uruchomienie uczenia maszynowego wprost na bazie. Tam co prawda jest język albo Python, albo R &#8211; domyślne języki data science. Też mamy dość specyficzne biblioteki dostępne, ale są takie najpopularniejsze algorytmy, być może nie zawsze najlepsze, ale takie wystarczająco dobre (biorąc pod uwagę, że to jest baza danych). Teraz to już jest taki standard, SQL Server 2017 i w górę już posiada takie możliwości. Później pojawiają się jakieś biblioteki, które można wprost sobie wciągnąć do C# czy F# i zrobić prosty ML.</p>



<p><br /><br /><br /><br /></p>



<p>Generalnie rzecz biorąc, to całe otoczenie się przygotowuje. Teraz pytanie: dlaczego to się dzieje? Dzieje się to z bardzo prostego powodu &#8211; biznes tego potrzebuje. Zresztą po co robimy kod? Z jednej strony każdy programista powie, bo to jest fajne, ciekawe i zresztą sam też tak powiem. Z drugiej strony programista dostaje pensję dlatego, że rozwiązuje konkretne, biznesowe problemy. Jeżeli pojawi się coś, co jeszcze jest w stanie wzmocnić tę wartość dodaną albo konkurencja zaczyna wyciskać inną firmę, bo wprowadza jakieś bardziej konkurencyjne elementy, to druga firma nie ma za bardzo wyboru, też musi nadawać na podobnych falach. </p>



<p><br /><br /><br /></p>



<p>Uczenie maszynowe jest właśnie takim <em>game changerem</em> czyli narzędziem, który zmienia reguły gry i umożliwia podejmowanie lepszych, sprawniejszych decyzji albo stworzenie lepszego produktu. Wynika to m.in. z tego powodu, że programista sam w sobie musi z góry wszystko przewidzieć. To jest ograniczone samo w sobie, bo mózg nasz ma swoje zalety (np. jeżeli chodzi o abstrahowanie rzeczy), ale jeżeli chodzi o wykrywanie dużych zależności w milionach lub miliardach wierszy, to tutaj się nie wyrabia. Ostatecznie żeby wzmocnić pewne decyzje, to ML tutaj jak najbardziej będzie przydatne. </p>



<p><br /><br /><br /><br /></p>



<p>Trzeba sobie zdawać sprawę, że to nie chodzi o to, że każdy programista nagle się stanie naukowcem albo researcherem. Chodzi bardziej o to, że te światy zaczną się łączyć. W sumie w pewnym momencie już nie będzie takiej dużej granicy. </p>



<p><br /><br /><br /></p>



<p>Zadam takie pytania. Osoby, które pracują w C#, to zwykle jest przede wszystkim backend. Tam da się coś robić na frontend, ale raczej egzotyczne rzeczy. Czy jest możliwa praca C#, jak jest baza danych? W tej chwili odpowiedź brzmi prawdopodobnie nie do końca, bo w ten czy inny sposób, baza danych gdzieś tam jest.</p>



<p><br /><br /><br /></p>



<p>Teraz drugie pytanie jest takie: na ile jesteś ekspertem tej bazy danych? Zwykle to jest tak, że zawsze w firmie jest jedna osoba, która jest ninja, wymiata z tej bazy danych i jak trzeba zrobić coś bardziej złożonego, to się idzie do tej osoby. Każda inna osoba po prostu była na szkoleniu z baz danych, coś tam wie, że jest jakiś indeks i zwykle to wystarcza. I to jest mniej więcej podobna analogia. Taka osoba nie musi umieć wszystkiego jeżeli chodzi o ML, nie musi wymyślać takich rozwiązań, ale bardziej używać gotowych komponentów po to, żeby wzmocnić siebie i rozwiązanie, które dostarczy.</p>



<p><br /><br /><br /></p>



<p><strong>K: Teraz faktycznie zaczyna się to wszystko powoli układać, ale też sobie przypomniałem trochę historii o tym, kiedy w ogóle o samym Tobie, o samym Vladimirze usłyszałem. Pamiętam, że słuchałem podcastu bodajże Marka Jankowskiego &#8222;Mała Wielka Firma&#8221;, gdzie opowiadałeś o chatbotach. Wtedy sobie tak myślałem, że mówisz, że to już się powoli dzieje, że zbliżają się boty i chatboty wspierane przez AI i że nie będziemy wiedzieli, kiedy rozmawiamy z drugim człowiekiem, a kiedy z maszyną. Jeszcze wtedy tak sobie myślałem: chyba nie jesteśmy aż tak blisko tego wszystkiego. </strong></p>



<p><br /><br /><br /><br /><strong>Teraz w aktualnej firmie, w której pracuję, zastanawialiśmy się nad wprowadzeniem na call center voicebota. Jak się okazało, jak się rozmawia z takim voicebotem, to już jest taka technologia niesamowita, że naprawdę osoba, która nie wie, że rozmawia z botem, nie jest w stanie praktycznie zorientować się, że tam po drugiej stronie, to nie siedzi normalny człowiek. </strong><br /><br /></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="Przyszłość małych firm to sztuczna inteligencja?" width="960" height="540" src="https://www.youtube.com/embed/pQMQiuWdsfM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div><figcaption>Rozmowa z  Vladimirem. </figcaption></figure>



<p><br /><br /><br /><strong>Zaczynam Ci wierzyć, że faktycznie każdy developer powinien tego machine learningu skosztować, bo to faktycznie zaczyna nas otaczać. Zresztą widać też wielki ciąg na rynku. Tak jak jeszcze kilka lat temu ofert pracy dla data scientistów nie było zbyt dużo i osoby, które chciały pójść w data science, miały pewien problem z tym, że chętnie robiły to hobbystycznie, ale nie było do końca z tym pracy. Teraz już widzę, że zdecydowanie więcej tego się pojawia. </strong></p>



<p><br /><br /><br /></p>



<p><strong>Jednocześnie jestem trochę zaskoczony tym, co mówisz ze względu na to, że zawsze miałem wrażenie, że ten data scientist to po prostu taki troszeczkę inny programista, ale wciąż programista. Czy widzisz coś takiego (i być może to jest też przyszłość), że dla naukowca, osoby, która gdzieś tam pracuje na uniwersytecie, jakiejś akademii, która zajmuje się zawodowo nauką &#8211; data scientist to może być zawód przyszłości?</strong></p>



<p><br /><br /><br /></p>



<p>V: W ostatnim odcinku mojego podcastu rozmawiałem z <a href="https://biznesmysli.pl/dobre-praktyki-w-machine-learning/" target="_blank" rel="noreferrer noopener">Marcinem Możejko</a> o świecie akademickim. Ten świat jest bardzo niejednolity. Jest jeden bardziej związany ze studiami, które ludzie kończą, robią magistra, ewentualnie doktorat. Drugi to jest taki, który tam po prostu zostaje i to jest taki klasyczny świat, który zwykle my kojarzymy w szczególności w Polsce. </p>



<p><br /></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="BM105 - Dobre praktyki i sztuka nazywania rzeczy w Machine Learning" width="960" height="540" src="https://www.youtube.com/embed/aBcsMI3qYFk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div><figcaption>Wspomniana rozmowa  z Marciem &#8211; odcinek 105 BM</figcaption></figure>



<p><br /><br /><br />A trzeci to jest w ogóle taki świat, który napędza teraz ML, który nie do końca w pewnym sensie uznaje autorytety albo inaczej definiuje autorytety. Teraz mam na myśli, że normalny świat akademicki działa w taki sposób, że żeby publikacje pojawiły się w czasopiśmie, to trzeba naprawdę się postarać, pokłonić troszkę w różnych miejscach i poczekać pewnie 2-5 lat i dopiero wtedy to się pojawi. <br /><br /></p>



<p><br /><br /><br /><br /><br />Natomiast ten trzeci świat akademicki, taki buntowniczy, on robi tak, że na Twitterze publikuje link i na tym to się kończy. Potem to cytują inne osoby i okazuje, że to się rozpowszechnia tak gwałtownie. To jest według mnie w porządku w kontekście rozwoju. ML sam w sobie to jest w pewnym sensie też buntownik. Taka dyscyplina polegająca na tym, że próbuje wykorzystywać różne obszary &#8211; trochę matematykę, fizykę, statystykę, programowanie czyli takie dziecko wielu rodziców, które nabrało wielu różnych komponentów. </p>



<p><br /><br /><br />W sposób hakerski połączyło to, co działa, a co nie działo, wyrzuciło. Tam dość często nawet nie ma podstaw naukowych, czyli świat naukowy jest nawet do tyłu. To jest paradoks. Zobacz np. na deep learning. Robi teraz niesamowite wrażenie, zaczynając od deepfake’ów albo te głosy, które tam są generowane, o których wspomniałeś w voicebocie &#8211; to jest deep learning. </p>



<p><br /><br /></p>



<p>Deep learning był rozwijany przede wszystkim przez takich naukowców, inżynierów, bardziej nawet inżynierów niż naukowców czyli osoby, które bardziej eksperymentują niż osoby, które na kartce papieru wyprowadzają różne wzory i na podstawie tego wiedzą, że to zadziała. </p>



<p><br /><br /><br /></p>



<p>Tutaj może trzeba zrobić krok wstecz, bo sztuczna inteligencja, pojęcie samo w sobie, powiło się dawno temu. Co najmniej w latach 50-tych zeszłego stulecia, ona była już sformalizowana, ale jeszcze wcześniej przedtem, w latach 40-tych już się coś zaczęło pojawiać. Jeszcze w 1840 r. Ada Lovelace to była pierwsza kobieta, która była programistą koncepcyjnym, bo wtedy jeszcze nie było komputerów. </p>



<p><br /><br /><br />Ona już tam rozważała czy komputery potrafią mieć intelekt. De facto to się zaczęło bardzo dawno temu, ale przez dłuższy czas (w szczególności w zeszłym stuleciu) to było bardziej borykanie się naukowo-teoretyczne i to nie zadziałało. Później się przełączyło to trochę w innym kierunku, m.in. dlatego, że pojawiła się moc obliczeniowa i tutaj zaczęły się bardziej odbywać takie rewolucje, które działają jak dzieci: spróbujmy, połączmy to w ten sposób albo w inny. Taki może przykład namacalny: w deep learning jest funkcja Aktywacja. </p>



<p><br /><br /><br />Cokolwiek by to nie znaczyło, teraz brzmi groźnie, ale to jest funkcja, która jest potrzebna, w środku uruchamiamy ją wiele razy. Klasyczna funkcja Aktywacja wygląda w dość złożony sposób, jest tam jakiś Tanh hiperboliczny. Okazało się, że wystarczy wziąć bardzo prostą regułę, która działa w taki sposób (jak to myśli zwykle engineer, bo ten Tanh hiperboliczny bardzo ciężki jest też w obliczeniach), że jeżeli wartość jest większa niż zero, to zwracamy tę wartość, jeżeli mniejsza, to zwracamy zera i tyle.</p>



<p><br /><br /><br />Taka funkcja to zwykle maks zera i ta wartość i okazało się, że to działa. De facto to nie jest w ogóle różniczkowalne, tam nie ma ani jednej, ani drugiej pochodnej. Tam jest mnóstwo kłopotów matematycznych, ale to działa. To powoduje te rewolucje, które teraz obserwujemy. To jest niesamowite. To jest taki miks tego, co się tu dzieje. To nie jest tak, że klasyczny naukowiec to wszystko wymyślił i napędził. </p>



<p><br /><br /><br />Druga sprawa jest taka, że klasyczni naukowcy próbują nadganiać to i wydawać kolejne publikacje, dlaczego to zadziałało. Ale dość często są wciąż dość mocno do tyłu, kilka lat co najmniej, a kilka lat w ML, deep learning to cała wieczność. <br /><br /></p>



<p>Podsumowując, naukowcy, którzy tylko pracują na uczelni, dość często sami nie są w temacie, mimo że się wydaje, że lepiej na tych tematach się zna. Dość często naukowcy znają się na teorii, potrafią teoretycznie nieźle się wypowiadać, ale jak powiesz im: zrób voicebota, ale na poziomie takim, że zaimplementuj to na poziomie kodu, to zwykle tego nie zrobią.<br /><br /><br /><br /></p>



<p><strong>K: Totalnie mi się nie składało to, że zestawiliśmy naukowców z buntownikami. Gdzieś mi to już trochę nie grało, także dobrze, że to uściśliliśmy. Właśnie, ale zacząłeś mówić, że o AI zaczęto myśleć już dawno, dawno temu. To mi się znowu trochę nie zgadza z tym, o co chcę zapytać w kolejnej części. Jaka jest różnica pomiędzy ML a AI?</strong></p>



<p><br /><br /><br /><br /><strong> Wszyscy chyba znają ten mem, że ML to jest jakiś tam kod pythonowy, a AI to jest po prostu prezentacja w PowerPoincie. A w 1950 r. chyba jeszcze, jeśli dobrze pamiętam, PowerPointa nie mieliśmy, więc ciężko mówić o jakimkolwiek AI. Jaka jest różnica tak naprawdę? </strong></p>



<h2 class="wp-block-heading">AI &amp; ML<br /><br /><br /></h2>



<p>V: Zamieszanie się wzięło głównie przez dziennikarzy, przez mainstream. Przez to, że te osoby nie do końca wchodziły w szczegóły, a czasem ktoś też chciał to napędzać, więc pewne pojęcia zaczęły się podmieniać. To, co w tej chwili nazywa się AI, to jest zwykłe uczenie maszynowe albo jeszcze mniejszy podzbiór jako deep learning. AI samo w sobie koncepcyjnie to jest znacznie coś szerszego niż uczenie maszynowe. </p>



<p><br /><br /><br />ML to jeden z rodzajów implementacji AI, ale to nie jest całość. Sztuczna inteligencja, jak sama fraza wskazuje, to jest jakaś inteligencja, która została stworzona w sposób sztuczny. Uczenie maszynowe to jest to, w jaki sposób maszyna może się zacząć uczyć. Sztuczna inteligencja składa się z wielu różnych wymiarów. W ogóle temat jest bardzo ciekawy, złożony, moglibyśmy o tym troszeczkę porozmawiać. </p>



<p><br /><br /><br /></p>



<p>Pomyślmy: czym jest inteligencja? To jest temat bardzo skomplikowany, nie jesteśmy w stanie zdefiniować w pełni, czym jest inteligencja. Alan Turing w swoim czasie próbował to zdefiniować. Skoro nie powiemy, czym jest inteligencja, to spróbujmy przynajmniej trochę jak z tą kaczką jest: jeżeli się zachowuje jak kaczka, to prawdopodobnie to jest kaczka. </p>



<p><br /><br /><br />Stworzono wtedy taki test, gdzie były dwa pokoje, sędzia i miał on stwierdzić, czy w danym pokoju tekst rozmowy na kartkach pisany był przez człowieka czy maszynę. Jeżeli nie był w stanie tego poprawnie oszacować, to test był udany. Ten test Turinga akurat jest dość ograniczony, bo można udawać zawsze osobę bardziej ograniczoną intelektualnie albo dziecko i w ten sposób można go zhackować. </p>



<p><br /><br /></p>



<p>Pójdźmy jeszcze dalej, jeżeli chodzi o inteligencję. Zobacz, że jak obecnie mówimy o inteligencji, to zwykle myślimy o inteligencji ludzkiej, prawda? Ale przecież to nie jest jedyny rodzaj inteligencji. Jest wiele różnych gatunków, np. inteligencja, którą możemy spotkać w oceanie. </p>



<p><br /><br /><br />Tam są delfiny albo jakieś inne gatunki, które potrafią robić rzeczy, których ludzie nie potrafią zrobić, np. rozmowy na dłuższych dystansach, kiedy mamy połączenie 1:1 czyli to jest podobnie jakby człowiek był w Krakowie, a drugi w Warszawie i potrafiliby komunikować się bez komórki. My nie potrafimy tak robić, a ryby owszem. Są w wodzie, mają też troszkę inne warunki, ale mniejsza o to. <br /><br /><br /><br /></p>



<p>Jeżeli są co najmniej dwa rodzaje inteligencji (w tej chwili wymieniłem: ludzka i ta w oceanie), to na pewno jest jeszcze wiele innych rodzajów inteligencji. Teraz ta sztuczna inteligencja, która powstanie (a raczej powstanie w ten czy inny sposób), to nie będzie synonimem tej naszej naturalnej inteligencji, a właściwie ludzkiej inteligencji, tylko to będzie jakiś inny gatunek inteligencji. Do tego też trzeba się przyzwyczaić, że w sumie nie do końca wiadomo, jak to można określić, ale to coś powstaje na naszych oczach.</p>



<p><br /><br /><br /></p>



<p><strong>K: A propos powstawania rzeczy na naszych oczach &#8211; jakiś czas temu pojawiło się kilka książek, pewnie kilkanaście na temat tego, że należy się bać przyjścia sztucznej inteligencji, bo roboty nami zawładną, bo się staną inteligentniejsze od nas. </strong></p>



<p><br /><br /><br /><br /><strong>Mam nadzieję, że to nam nie grozi, ale sama sztuczna inteligencja zaczyna się pojawiać również w życiu programistów, bo np. mamy ostatnio bardzo głośną premierę narzędzia GitHub Copilot. Tutaj rozumiem taką sztuczną inteligencję wciąż jako narzędzie, jako coś, co ma wspomóc pracę, a nie zabrać ją programistom. Czy właśnie w takim kierunku myślisz, że to cały czas będzie szło, czy może gdzieś tam się wydarzyć coś niedobrego po drodze?</strong></p>



<p><br /><br /><br /></p>



<p>V: Jak zadajesz to pytanie, od razu w mojej głowie kilka takich gałęzi się pojawia, zastanawiam się, od której strony zacząć. A propos niebezpieczeństwa, w tych książkach zwykle mówi się, że powstanie sztuczna inteligencja i pozabija ludzkość, co też wcale nie jest wykluczone. W tej chwili zagrożenie w sumie jest na innym poziomie. Weźmy przychód, który wymieniliśmy na samym początku przy scoringu kredytu, czy to, że ktoś jest kobietą, czarnoskórym albo mieszka w złej dzielnicy, to może sprawić, że dana osoba nie dostanie kredytu. Na podstawie tego różne rzeczy mogą się dziać. Teraz jeżeli takich mikro decyzji zacznie się łączyć coraz więcej, to nagle się okazuje, że losy ludzi są uzależnione od tego, co jakiś algorytm powie. </p>



<p><br /><br /><br />To już jest niefajne. Popatrzmy na Chiny, choć to jest dość zamknięty kraj, to mają właśnie taki scoring obywatelski. Jeżeli robisz coś niewłaściwie, to wszystko jest podliczane i w jakiś sposób potem egzekwowane, np. masz ograniczony dostęp do konkretnych miejsc czy przywilejów. To nadal nie jest sztuczna inteligencja, która sama zawładnęła ludzkością, ale algorytmy są w rękach pewnych ludzi, którzy mogą wpływać na innych w ten czy inny sposób. To samo w sobie już jest niezwykle duże zagrożenie, o którym wydaje się, że mówi się znacznie mniej, ale to się dzieje na naszych oczach, np. face detection. </p>



<p><br /><br />Nie wiem, czy ktoś zdaje sobie z tego sprawę, że nawet jak masz maskę, to już po oczach, a nawet po sposobie chodzenia, da się zidentyfikować osobę i potem mając taką informację można robić różne rzeczy.</p>



<p><br /><br /></p>



<p>W Europie jest RODO, które pod tym względem przynajmniej częściowo chroni, ale w innych krajach to jeszcze bardziej się rozpędza. Nie ma co czekać, że powstanie jakiś terminator, który zawładnie ludzkością. Być może ta ludzkość zniszczy sama siebie jeszcze wcześniej. `</p>



<p><br /><br /></p>



<p>Teraz idąc w kierunku programisty. Pamiętam, jeszcze w roku 2018 miałem wykład i mówiłem o Programiście 2.0. Prowadziłem serię prezentacji. One były dość podobne w różnych lokalizacjach, po każdej takiej prezentacji dostałem feedback, rozważałem nad tym, bo trochę też ewoluowała moja prezentacja. Mówiłem tam o kilku ważnych koncepcjach, czyli programista jako zawód raczej zostanie. </p>



<p><br /><br /><br />Tutaj raczej nie mówimy o tym, że w 100% zostanie wyeliminowany. Ale będą pewne zmiany i to jest też naturalna rzecz. Zresztą jak ktoś pracuje trochę dłużej, przez 5, 10, 15 lat, to wie, jak ta technologia się zmienia cały czas. Język programowania się zmienia i musisz być na bieżąco, żeby mieć pracę. Pojawia się też trochę inny sposób myślenia. Nie wiem, czy zdajesz sobie sprawę, na jakim silniku działa Internet? 40% Internetu działa na jednym silniku. </p>



<p><br /><br /><br /></p>



<p><strong>K: Naprawdę? O tym nie wiedziałem.</strong></p>



<p><br /><br /></p>



<p>V: To jest WordPress czyli PHP.</p>



<p><br /><br /></p>



<p><strong>K: No tak, oczywiście. Jak się faktycznie nad tym zastanowić, to zdecydowanie.</strong></p>



<p><br /><br /></p>



<p>V: Dlaczego o tym mówię? Kiedyś mnie ktoś zainspirował w mailu. Napisał do mnie w taki sposób, że ja nie jest programistą, ale potrafi zainstalować WordPress i wyklikać różne pluginy. Potem mi zaskoczyły trybiki &#8211; przecież o to chodzi, że ten programista przyszłości to będzie taki trochę WordPress. </p>



<p><br /><br /><br />W takim sensie, że nawet nie chodzi o to, że będzie technologia PHP czy C#, bo będzie język, który jest w tej chwili, ale te klocki będą po prostu się składać. To bardziej się sprowadzi do tego, że będą jakieś podpowiedzi różnego rodzaju. Wtedy nie było tego autopilota jeszcze, ale już o tym mówiłem, że do tego to dąży. Widać ten trend. Widać, że to w tym kierunku idzie.</p>



<p><br /><br /></p>



<p>Jest taka analogia &#8211; podczas kryzysu zwykle bogaci robią się bardziej bogatsi, a biedniejsi biedniejsi, a klasa średnia się zmniejsza. Pomyślmy, że w tym przypadku zmienimy jednostkę z pieniędzy na doświadczenie programisty, bo o tym ostatnio rozważałem dość długo. Osoby bardziej doświadczone będą jeszcze bardziej doświadczone, a te mniej doświadczone będą jeszcze mniej doświadczone, a przeciętni programiści mogą być wyeliminowani z rynku, bo nie będą potrzebni. Takie powtarzalne kawałki kodu będą tworzone automatycznie. </p>



<p><br /><br /><br /></p>



<p>Ten programista, który w tej chwili jest bardziej doświadczony, kiedyś był też mniej doświadczony, kiedyś był juniorem. Przeszedł proces edukacji, zdobył doświadczenie, tylko wtedy to się opłacało. Opłacało się przede wszystkim pracodawcy, czyli był jakiś biznes, który chciał rozwiązać pewien problem, a do tego był potrzebny programista. Ten człowiek sobie szedł przez tę ścieżkę i się uczył i stał się seniorem. </p>



<p><br /><br /><br />Z drugiej strony temu człowiekowi zwyczajnie się chciało robić pewne rzeczy. Generalnie nasz mózg jest tak skonstruowany, że jest leniwy, oszczędza energię itd. Nowe pokolenie jeszcze bardziej jest nakręcone na to, żeby oszczędzać energię. W wyniku pojawia się dość ciekawa sytuacja czyli z jednej strony pracodawcy już się nie opłaca męczyć się i płacić duże pieniądze, żeby wyedukować tego człowieka, żeby stał się bardziej doświadczony. Z drugiej strony ten początkujący programista zwykle dość często nawet nie chce, bo można robić jakieś inne rzeczy. Jak masz asystenta, który Ci podpowiada, to będziesz go używać i będziesz takim trochę kierownikiem asystentów. </p>



<p><br /><br /><br /></p>



<p>To jest dość ciekawa analogia. Nie wiem, dokąd to dąży, bo wcześniej o tym nigdy nie mówiłem, ale ostatnio mnie jakoś tak olśniło, że faktycznie osoby na poziomie middle i w kierunku seniora będą zdobywać jeszcze większe doświadczenie i będą bardzo potrzebni, bo zawsze coś będzie się psuło i trzeba będzie to naprawić. </p>



<p><br /><br /><br />Ale będzie coraz trudniej stać się seniorem w naszym rozumieniu, bo nie będzie za bardzo środowiska, w którym będziesz w stanie przejść tę ścieżkę. To jest moja hipoteza, zobaczymy, czy to się sprawdzi. Wiele rzeczy się zautomatyzuje, tak jak z tym WordPressem. W tej chwili już nie potrzebujesz kogoś wprost, kto będzie Ci pisać od zera WordPress, bo jak pamiętam, jak ja to robiłem kiedyś dawno temu, to jeszcze była taka potrzeba. Teraz jest taki człowiek, który sobie wyklika takie rzeczy i to działa nawet lepiej. W tym sensie, że tam już są ustandaryzowane rozwiązania, sprawdzone na miliardach różnych stron. </p>



<p><br /><br /><br /></p>



<p>Podsumowując, czy zawód programisty się wyeliminuje? Myślę, że nie, bo tutaj jest jeszcze mnóstwo rzeczy, które trzeba robić manualnie. Wiele rzeczy natomiast się zautomatyzuje. Trzeba zrozumieć jeszcze jedną ważną analogię. Dlaczego tak się stanie? Z punktu widzenia biznesu to jest tak, że płaci się pieniądze po to, żeby powstało rozwiązanie. Jeżeli pojawia się alternatywa, że można płacić mniej i to też będzie rozwiązanie, to wiadomo, jaka będzie decyzja. Biznes ma zarabiać i szybciej się rozwijać &#8211; tyle. To bardzo prosta, logiczna decyzja. Jeżeli jest jakaś alternatywna ścieżka, która umożliwia szybszy rozwój, to w tę stronę będziemy zmierzać.</p>



<p><br /><br /><br /></p>



<p>Wrócę jeszcze do autopilota. Ja z C# pracowałem prawie przez 3 lata. Dla mnie to jest dość dużo, bo jak już coś robię, to zwykle robię na maksa. Przeczytałem mnóstwo książek, więc na tyle na ile mogłem, zanurzyłem się dość głęboko. Dla mnie wtedy dość ciekawym odkryciem był ReSharper, to był rok 2012, wtedy za bardzo nie wiedziałem, żeby były jakieś podpowiadaczki. ReSharper to była mega fajna rzecz, kiedy sobie klikałeś i nagle pojawiało się mnóstwo kodu. Mimo tego że literek jest dużo, to de facto fizycznie wpisywałem dosłownie kilka literek, jakieś tam skróty klawiszowe i to się robiło. </p>



<p><br /><br /><br />Pod tym względem wydaje mi się, że dla C# deweloperów to nie powinna być aż taka duża nowość, chociaż zgadzam się z tym, że ten autopilot będzie w stanie robić więcej niż tylko podpowiadać ten tzw. dot-driven development. Czyli w tej chwili mamy dot-driven development, można spodziewać się w przyszłości czegoś więcej. Ale też trzeba uważać, bo OpenAI to jest taka firma, która z jednej strony ma dobrych inżynierów, ale z drugiej strony ma też świetnych marketingowców. Trzeba na to uważać, bo niektóre rzeczy, o których oni mówią, to jest raczej to, co ma się stać, nie stan obecny. </p>



<p><br /><br /><br /></p>



<p><strong>K: Tutaj wracamy do tego, jak dobrze marketing potrafi sprzedać sztuczną inteligencję. Zobaczymy, jak to wychodzi. A propos mojego .NET&#8217;owego środowiska, ja już byłem zaskoczony, bo w październiku albo w listopadzie będzie premiera kolejnego .NET. Razem z tym .NET powinno wyjść nowe Visual Studio, które już jest w fazie <em>preview</em>, które już można pobrać. </strong></p>



<p><br /><br /><br /><strong>Ostatnio sobie spróbowałem pobrać u siebie na komputerze, pobawić się troszeczkę. Widać od kilku lat taki trend, że samo Visual Studio chce nadgonić to, co robił ReSharper i ten tzw. intellij code jest coraz lepszy. Ja byłem aż zaskoczony, że w tym najnowszym Visual Studio 2022 zaczynam pisać jakiś kod, zaczynam kolejną linijkę i Visual Studio podpowiada mi, jaka ona powinna być, żeby ten kod zadziałał. </strong></p>



<p><br /><br /><br /><strong>To już dla mnie było dosyć niesamowite, że faktycznie w kilku miejscach to oczywiście ma swoje problemy, bo to nie będzie przewidywało dokładnie tego, co chcemy zrobić, ale myślę, że w wielu przypadkach to może komuś uratować tyłek, bo może przypomnieć o jakiejś konkretnej linijce, którą trzeba wykonać, zanim się wprowadzimy inny kod. Także tutaj też idziemy w dobrą stronę.</strong></p>



<p><br /><br /><br /></p>



<h2 class="wp-block-heading">Machine Learning dla programistów C# &#8211; ML.NET </h2>



<p><br /></p>



<p><strong>Przejdźmy już do samego &#8222;mięsa&#8221; dla mojej społeczności .NET&#8217;owej. Zacznijmy od pytania: dlaczego Python? Musimy sobie powiedzieć na samym początku, że Python w Data Science, ML rządzi i nie jest to .NET. Dlaczego Python i czy developer .NET&#8217;owy, C# jeżeli chciałby spróbować ML, to musi się tego Pythona nauczyć i musi wdrożyć jakąś aplikację Pythonową w swojej firmie? Czy jeżeli mamy cały stack .NET&#8217;owy, to możemy to jakoś miło pożenić? </strong></p>



<p><br /><br /><br /></p>



<p>V: Zacznę od końca. Jakbyś zadał to pytanie rok, dwa, trzy lata temu, to na pytanie czy musi nauczyć się Pythona, moja odpowiedź brzmiałaby, że zdecydowanie TAK. W tej chwili to wygląda inaczej. Jak to się stało, że Python się wystrzelił i stał się w sumie językiem numer jeden? Znów ten argument jest bardzo prosty &#8211; BIZNES. Na czym zależy firmom? Na tym, żeby w krótkim w czasie robić więcej rzeczy. Python jest takim językiem, który to umożliwia, bo za pomocą de facto bardzo mało linii kodu jesteś w stanie osiągać bardzo dużo.</p>



<p><br /><br /><br /> </p>



<p>Python ma swoje wady i zalety. Zaleta jest taka, że możesz szybko eksperymentować, szybko uruchamiać. Powstał też spory ekosystem np. taka biblioteka jak <em>scikit-learn, </em>która według mnie jest genialną biblioteką, która całkowicie zmieniła oblicze uczenia maszynowego. Ta genialność polega na tym, że ten kto tworzył, na pewno bardzo fajnie ją przemyślał. Przede wszystkim w kontekście architektury, bo uczenie maszynowe samo w sobie jest przyjemniejsze wtedy, kiedy działa jak klocki lego. </p>



<p><br /><br /><br /><br />Masz model jeden, wpinasz, potem nie działa, wypinasz, wpinasz drugi i przy tym nie zmieniasz wiele kodu np. jedną linijkę. Myślę, że też pamiętasz, jak trzeba było dawniej zrobić sieci neuronowe, to najpierw to się robiło w C++, więc pisało się 200-500 linii kodu i to był tylko model jeden. Jak chcesz napisać model drugi, to tyle samo musisz napisać. To jest totalnie nieużyteczne, nie da się z tym pracować. W <em>scikit-learn </em>to było tak, że wymiana modelu A na B to jest jedna linijka kodu. Jest taki wspólny interfejs, który ma dwie proste metody <em>fit </em>i <em>predict. </em></p>



<p><br /><br /><br />To jest genialnie proste, nie ma ani jednej takiej biblioteki przed <em>scikit-learn</em>, która zrobiłaby to na tyle dobrze. Cały ekosystem zaczął się rozwijać i co z tego, że pojawia jakaś alternatywa do Pythona &#8211; język Julia. Ten język ma mniej wad, które ma Python, jeżeli chodzi chociażby o wielowątkowość itd., ale nie ma ekosystemu, czyli biblioteki, zależności. To tam gdzieś się rozwija, ale jednak jak chcesz robić M, to potrzebujesz nie tyle języka, potrzebujesz kilka linii kodu i to zaczyna funkcjonować.</p>



<p><br /><br /></p>



<p></p>



<p>Przez to, że Python to zrobił jako jeden z pierwszych i też umożliwia robienie tego w miarę łatwo i szybko, to się zaczęło rozpędzać. Potem podchwycili większych graczy. Google używa Pythona dość regularnie, dość aktywnie w różnych serwisach. Później Uber, Facebook itd. To się zaczęło rozwijać gwałtownie szybko. </p>



<p><br /><br /><br /></p>



<p>Pod tym względem Pythona już nie da się wyprzedzić. Pomyślmy teraz, jaka jest natura problemów data science? Mnóstwo powstającego kodu pojawia się raz, uruchamia się raz i jest do wyrzucenia albo ewentualnie do archiwizacji, żeby później można było sprawdzić ten eksperyment. Dlaczego tak jest? W data science dużo się eksperymentuje i większość eksperymentów się nie udaje. To jest normalne, że 20 czy 100 eksperymentów się nie udaje, a 1 tak. W takim podejściu, musisz bardzo szybko generować kod, bardzo szybko eksperymentować i dopiero później te mniejsze kawałki wdrażać. </p>



<p><br /><br /><br /></p>



<p><br /><br /><br /><br /></p>



<p>Tutaj właśnie jest ten problem niestety z Pythonem, bo ludzie, którzy dużo eksperymentują, piszą ten kod tak bardziej na brudno, przyzwyczają się do tego i potem mniej więcej na tym samym poziomie, ten kod próbują wdrażać i to jest problem, bo takiego kodu nie można wdrażać. Też biznes tego czasem nie rozumie. “Przecież jest jakiś prototyp, więc już można to wdrożyć.” </p>



<p><br /><br /><br />Gdzieś ta edukacja powinna być uruchamiana i chyba teraz już jest coraz większe zrozumienie. Wydaje mi się, że właśnie ludzie z otoczenia programistów mogą pomóc, a po drugie języki, które są bardziej dostosowane do skali. Jeżeli owszem mamy problem mniejszy, to możemy to wdrożyć w Pythonie. Czasem jednak jeżeli mamy, powiedzmy enterprise, większe projekty, to problem skali może nas tam gdzieś zjeść, chociaż to nie zawsze jest prawda. Czyli nawet w Pythonie też można fajnie się skalować. </p>



<p><br /><br /><br />Ale jeżeli mówimy o produktach enterprise, które są napisane np. w Javie albo C#, to co miałeś wcześniej do wyboru? Do wyboru miałeś wstawianie mikroserwisu i REST API albo bazy danych, o których mówiłem, że np. do bazy danych się wpisuje wyniki. To czasem działa, ale czasem potrzebujemy coś mieć w czasie rzeczywistym. </p>



<p><br /><br /><br /></p>



<p>Jeżeli chodzi o Java, to było na tyle łatwiej, że tu jest mnóstwo takich Spark i innych podobnych rzeczy, więc dało się to już integrować, ale w C#, .NET było to znacznie bardziej skomplikowane. Faktycznie wcześniej nie było za bardzo możliwości jak tak zrobić, aby nie powstała kolejna rzecz w stacku. Teraz wybór jest i to, co zrobił dobrze Microsoft, to właśnie pojawiła się biblioteka ML.NET.</p>



<p><br /><br /><br /><br /> Ja o tej bibliotece wiedziałem już jakiś czas temu, bo ona pojawiła się w roku bodajże 2018. Ale jak się odezwałeś to pomyślałem, że to jest dobra okazja, żeby zbadać co się dzieje w świecie C#. Więc to zrobiłem i byłem pozytywnie zaskoczony, że faktycznie to dojrzało do ciekawego poziomu.</p>



<p></p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img decoding="async" src="https://biznesmysli.pl/wp-content/uploads/2021/08/image3.png" alt="" class="wp-image-6001" width="320" height="295" srcset="https://biznesmysli.pl/wp-content/uploads/2021/08/image3.png 882w, https://biznesmysli.pl/wp-content/uploads/2021/08/image3-300x277.png 300w, https://biznesmysli.pl/wp-content/uploads/2021/08/image3-768x709.png 768w" sizes="(max-width: 320px) 100vw, 320px" /></figure></div>



<p><br /><br /></p>



<p>Zobacz, jeżeli w tej chwili chcesz zacząć wdrażać uczenie maszynowe w .NET, nie wychodząc ze świata .NET &#8211; jest to możliwe. Mało tego, poziom tego rozwiązania naprawdę będzie bardzo wysoki, bo z jednej strony ekosystem też już się pojawił w bibliotece ML.NET. Tam jest mnóstwo algorytmów, nie wszystkie owszem, ale wystarczająco dużo. Są takie algorytmy dla klasyfikacji, regresji itd. Widać, że osoby, które to robiły, myślały bardzo szeroko. Są jeszcze elementy, których brakuje, ale to wynika ze złożoności problemu. </p>



<p><br /><br /><br />Tyle to trwa bez względu na to, że jesteś Microsoftem. Oni zrobili po prostu rozszerzenie czyli np. jest taka biblioteka LightGBM. To jest w sumie biblioteka Microsoftu, ale bardziej była stworzona do integracji z Pythonem i Arcome. Tam się to integruje od dawna i to działa. Ale nie było dobrej integracji z .NET. Może to dziwić, ale tak to było. Obecnie już ta integracja się pojawiła. LightGBM<em> </em>faktycznie jest bardzo dobrą biblioteką, jedną z najciekawszych jeżeli chodzi o klasyczne uczenie maszynowe. 3 najciekawsze według mnie: XGBoost, CatBoost i LightGBM. </p>



<p><br /><br /><br /></p>



<p>Jest jeszcze ONNX. Idea polega na tym, że trenujemy model w czymś innym np. TensorFlow, PyTorch<em> </em>czyli zupełnie inne biblioteki, które są oderwane od .NET. One są napisane na innych technologiach, można też trenować na poziomie Pythona. Później to zapisujemy jako plik binarny i możemy odczytać już w .NET i uruchomić. </p>



<p><br /><br /><br />Działa to w taki sposób, że istnieją formaty przenośne, języki uniwersalne, które potrafią tę wiedzę, którą model wytrenował, przenieść i odpalić na poziomie .NET. To jest niesamowite. W tej chwili ta wiedza, nasze rzeczy, które już powstały na poziomie <em>TensorFlow, PyTorch </em>to są w sumie najważniejsze biblioteki w deep learningu, które mocno konkurują pomiędzy sobą. Dzięki temu to jest fajne dla końcowych użytkowników, bo się coraz więcej rzeczy w krótkim czasie odbywa. Takie najnowsze osiągnięcia można po prostu sobie pobrać i uruchomić. </p>



<p><br /><br /><br />W tej chwili np. nie ma problemu, żeby robić rozpoznawanie zdjęć, wykrywanie twarzy, obiektów. To oczywiście od dłuższego czasu można było zrobić na Azurze, czyli wysyłasz przez REST API, ale to ma swoje wady, bo musisz przez API coś wysyłać, musisz się dzielić swoimi danymi. Też nie zawsze to się skaluje, jeżeli chodzi o koszty, jak tych obrazów masz nieco więcej. Warto też zaznaczyć, że to jest technologia, która nie jest Twoja, bo nie wiesz, czy jutro Azure tego nie zamknie albo nie zmieni, albo nie podniesie ceny, albo jeszcze coś innego. </p>



<p><br /><br /><br />Teraz nawet nie chodzi o Azure jako tako, tylko bardziej o provider. Nie masz nad tym kontroli. Wszystko może się wydarzyć, więc zawsze chcesz w pewnym sensie mieć to rozwiązanie gdzieś bliżej siebie. W tej chwili jest to możliwe, przynajmniej częściowo. Możesz odpalić to lokalnie, Twoje dane nigdzie nie wypływają i co najważniejsze to jest w 100% technologii .NET, czyli nie musisz stawiać żadnych mikroserwisów. Też to dość szybko się rozwija. Jak wczoraj patrzyłem, 20 dni temu wyszedł kolejny release 0.6. </p>



<p><br /><br /><br />Ciekawostka jest taka, że sami .NET&#8217;owcy nie potrafią tego docenić, bo z jakiegoś powodu Microsoft tego jeszcze nie promuje. Nie wiem, czy to jest taka strategia. Być może nie ma pieniędzy na marketing. Ale jeżeli chodzi o dojrzałość tego projektu i efektywność, to mogę potwierdzić, że to jest ciekawe i można tego używać. Ja osobiście tego nie używałem na produkcji, bo nie mam w tej chwili .NET. Microsoft sam się chwali, że używa to u siebie na produkcji w Windowsie, Excelu itd. </p>



<p><br /><br /></p>



<p>Jeszcze jedna rzecz odnośnie biblioteczki. Oni to robili z myślą o skali. Widać, że np. Python ma problem ze skalą. Można to rozwiązywać na różne sposoby, ale mówiąc w skrócie &#8211; ma problem. Można coś z tym zrobić, ale domyślnie problem istnieje. Tutaj widać, że biblioteka była przemyślana w taki sposób, aby uruchamiać to na skalę &#8211; na miliony, miliardy wierszy, na dużą liczbę danych. To myślę, że w większości projektów w przypadku .NET&#8217;owców, którzy pracują właśnie na dużych projektach czyli jakieś banki, instytucje finansowe, to jest świetna wiadomość.</p>



<p><br /><br /></p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="627" src="https://biznesmysli.pl/wp-content/uploads/2021/08/image1-1024x627.png" alt="" class="wp-image-5999" srcset="https://biznesmysli.pl/wp-content/uploads/2021/08/image1-1024x627.png 1024w, https://biznesmysli.pl/wp-content/uploads/2021/08/image1-300x184.png 300w, https://biznesmysli.pl/wp-content/uploads/2021/08/image1-768x470.png 768w, https://biznesmysli.pl/wp-content/uploads/2021/08/image1-1536x941.png 1536w, https://biznesmysli.pl/wp-content/uploads/2021/08/image1-1140x698.png 1140w, https://biznesmysli.pl/wp-content/uploads/2021/08/image1.png 1999w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<p></p>



<p></p>



<p><strong>K: Z tym, jak Microsoft w ogóle podchodzi do promowania różnych rzeczy, to mam sam też takie przemyślenie, że ostatnimi czasy Microsoft zdecydowanie promuje weba i samego Clouda, bo widać po prostu, że to im najlepiej wychodzi. To między innymi widać po ankietach na stackoverflow, że ASP.Net Core jest w tej chwili najbardziej uwielbianym frameworkiem webowym, więc faktycznie zaczynają robić to dobrze i myślę, że jak faktycznie sami będą mocno zadowoleni z tych narzędzi ML&#8217;owych, to pewnie zaczną też bardziej w to iść. </strong></p>



<p><br /><br /><br /><strong>Tak naprawdę to jest to, co ja nieraz mówiłem, zresztą w ostatnim odcinku mojego podcastu, że sam .NET daje nam olbrzymie możliwości programowania na desktop, urządzenia mobilne, weba i ML. Natomiast aż tak dużo się jeszcze o tym nie mówi ze względu na to, że właśnie machine learning to głównie Python i pewnie tak zostanie. Wciąż ML.NET to będzie nisza, ale tak jak mówisz fajnie, że to może być taka nisza ciekawa dla programistów .NET&#8217;owych.</strong></p>



<p><br /><br /><br /></p>



<p><strong>Vladimir, myślę, że na tym możemy jeszcze w tej chwili zakończyć, bo wiem, że moglibyśmy długie godziny jeszcze rozmawiać. Tak naprawdę, jakbyśmy usiedli sobie na spokojnie to 3, 4, 5 odcinków samego podcastu i dla Ciebie, i dla mnie moglibyśmy z tej rozmowy zrobić. Zostawmy sobie coś na przyszłość. </strong></p>



<p><br /><br /><br /></p>



<p><strong>Powiemy o tym, o czym zaczęliśmy rozmawiać tuż przed nagraniem? </strong></p>



<p><br /><br /></p>



<p>V: Tak, właśnie na koniec, już podsumowując. Przy okazji wspomnę, że w ML.NET trzeba pisać kod, ale też jest coś takiego jak ML Build. Więc przynajmniej znajdź, co to jest ML Build, będą też w notatkach linki i spróbuj to uruchomić. Wystarczy poklikać i zobaczysz, jak już to działa. Od razu uprzedzę, że w tej chwili jeżeli człowiek rozumie, jak działa machine learning, to wykorzystanie ML.NET jest w porządku, bo rozumiesz, co to oznacza, rozumiesz, jak to się konfiguruje itd. </p>



<p><br /><br /><br />Natomiast ja w tej chwili ML.NET traktuję raczej jako narzędzie dla osób, które pracują w .NET i chcą to wdrażać bez żadnych kłopotów, a nie do eksperymentowania, bo eksperymentować nadal będzie łatwiej w Pythonie. </p>



<p><br /><br /><br />Ale najfajniejsze jest to, że w tym przypadku to otwiera większe możliwości, że w tej chwili osoba, która pracuje w .NET, już nie będzie miała takich wymówek albo ograniczeń, że nie będziemy wdrażać Pythona, bo nie ma jak. Nawet jeśli pracujesz jako developer, spróbuj użyć ML i po prostu pokaż swojemu szefowi, że Ty jesteś w stanie dostarczyć więcej wartości. Bo jeżeli pójdziesz do niego i powiesz: użyjmy ML, to on prawdopodobnie powie nie. Ale jeżeli zrobisz sam, trochę tak po godzinach, bo masz dostęp do danych, jakiś taki projekt hobbystyczny, minimalny, to możesz zobaczyć, jak Twoje życie się odmieni. </p>



<p><br /><br /><br /><br />Nagle wzrośniesz, będziesz pierwszy ML&#8217;owcem, data scientistem, dostaniesz podwyżkę itd. Ale też będzie to dla Ciebie bardzo ciekawe, bo się rozwiniesz. </p>



<p><br /><br /></p>



<p>Zastanawiam się nad takim czymś, żeby dać wsparcie i pomóc deweloperom, programistom poznać uczenie maszynowe. Mają oni swoje zalety, mocne strony czyli potrafią programować, ogarnąć cały komputerowy świat, ale z drugiej strony może im zabraknąć wiedzy ML&#8217;owej, żeby to zrozumieć i stosować. Nawet nie tyle, żeby zrozumieć bardzo głęboko, bo nie chodzi o to, żeby wymyślić nowe algorytmy, tylko zrozumieć na tyle, aby umieć to opanować i zacząć to stosować.</p>



<p><br /><br /><br /> To jest podobnie jak kierowca i mechanik. Kierowca nie musi rozumieć w 100% jak działa silnik, ale musi rozumieć, że tam jest kierownica, pedały, trzeba wcisnąć, czasem zahamować. To nie jest aż takie trudne, da się tego nauczyć, ale trzeba przejść ten kurs. </p>



<p><br /><br /><br /></p>



<p>Pojawił się taki pomysł, jeżeli zbierze się zainteresowana grupka, np. 50 osób, żeby zrobić kolejny webinar albo kolejną inicjatywę, gdzie trochę podpowiem Ci jak Ty jako osoba, która zajmuje się programowaniem np. C# albo w ogóle programowaniem, możesz pójść do przodu. </p>



<p><br /><br /> Ilość informacji w Internecie jest za duża. Tyle tego się leje na nasze biedne mózgi, że człowiek nie będzie w stanie filtrować tego, co istotne. Jeżeli zbierze się taka grupa zainteresowanych np. 50 osób, to mogę zorganizować taki warsztat, webinar, na którym pokażę więcej jak zastosować uczenie maszynowe jako programista. Koniecznie się zapisz.<br /><br /></p>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button has-custom-width wp-block-button__width-100"><a class="wp-block-button__link has-white-color has-black-background-color has-text-color has-background no-border-radius" href="https://dataworkshop.eu/pl/machine-learning-dot-net?utm_source=podcast&amp;utm_medium=cta&amp;utm_campaign=bm106&amp;utm_term=website&amp;utm_content=biznes-mysli" target="_blank" rel="noreferrer noopener">Dołącz</a></div>
</div>



<p><br /><br /><br /></p>



<p><strong>K: Miejmy nadzieję, że zbierze się jak największa liczba zainteresowanych. Jeszcze w tej chwili nie będziemy mówili o żadnych terminach. Terminy sobie spokojnie dogramy, jak faktycznie zobaczymy, że będzie zainteresowanie. Na pewno tak myślę, że spokojnie możemy powiedzieć, że nie będzie to wcześniej niż we wrześniu, bo też jeszcze cały czas jesteśmy w sezonie urlopowo-wakacyjnym, także dajmy sobie spokojnie trochę czasu. </strong></p>



<p><br /><br /><br /><strong>Natomiast zapraszamy na to, żeby poznać ML. Vladimir jest świetnym specjalistą w tej kwestii, więc na pewno bardzo delikatnie i z czułością wprowadzi w te tematy. Tutaj zgłoś się na warsztat.</strong></p>



<p><br /><br /></p>



<p><strong>Tym samym jeszcze raz chciałem Tobie Vladimir podziękować za to spotkanie. Podziękować za to, że zgodziłeś się ze mną porozmawiać i mnie również wprowadzić w tematy ML&#8217;owe. Jak zwykle, ja sam się bardzo dużo nauczyłem, więc domyślam się, że dla naszych czytelników będzie to jeszcze ciekawszy odcinek. W takiej sytuacji do usłyszenia gdzieś kiedyś w Internecie cały czas.</strong></p>



<p><br /><br /><br /></p>



<p>V: Dzięki wielkie za trafne pytania i do usłyszenia. Cześć.</p>



<p><br /><br /><br /></p>



<hr class="wp-block-separator"/>



<p></p>



<p><br /><br /><br />Bardzo jestem ciekawy Twojej opinii co myślisz o takich eksperymentach, żeby co jakiś czas to właśnie ktoś mi zadawał pytania, a ja będę odpowiadał? Niekoniecznie to musi być programista, bo teraz właśnie eksperymentujemy, żeby były różne osoby. Być może kolejną osobą musi być ktoś z biznesu. </p>



<p><br /><br /><br />Jeżeli według Ciebie taki format ma sens, jest to wartościowe, daj koniecznie znać w wygodny dla Ciebie sposób &#8211; albo na pocztę, albo w social media, albo jakkolwiek wolisz dotrzeć np. gołębiami <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;" /> Dzięki temu będziemy wiedzieć, jak się rozwijać dalej. Wydaje mi się, że takie eksperymenty mogą mieć sens, natomiast warto też zrozumieć, w którym kierunku robić większy nacisk i które perspektywy w tej chwili są najciekawsze.</p>



<p><br /><br /></p>



<p>Na koniec mam jedną prośbę, poleć przynajmniej jednej osobie ten odcinek, bo może być to ciekawe i wartościowe dla tej osoby.&nbsp;</p>



<p><br /></p>
<p>Artykuł <a href="https://biznesmysli.pl/czy-developer-potrzebuje-machine-learning/">Czy developer potrzebuje Machine Learning?</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://biznesmysli.pl/czy-developer-potrzebuje-machine-learning/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Machine Learning Engineer &#8211; kariera, wyzwania, możliwości</title>
		<link>https://biznesmysli.pl/machine-learning-engineer-kariera-wyzwania-mozliwosci/</link>
					<comments>https://biznesmysli.pl/machine-learning-engineer-kariera-wyzwania-mozliwosci/#respond</comments>
		
		<dc:creator><![CDATA[Vladimir]]></dc:creator>
		<pubDate>Mon, 12 Jul 2021 07:07:08 +0000</pubDate>
				<category><![CDATA[Edukacja]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[edukacja]]></category>
		<category><![CDATA[Kaggle]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[retail]]></category>
		<category><![CDATA[uczenie maszynowe]]></category>
		<guid isPermaLink="false">https://biznesmysli.pl/?p=5878</guid>

					<description><![CDATA[<p>Gościem już 104 odcinka podcastu Biznes Myśli był Kamil Krzyk &#8211; Machine Learning Engineer, absolwent kursu &#8222;Praktyczne uczenie maszynowe&#8222;. Kamil wziął udział w pierwszej edycji kursu i jestem bardzo dumny z tego, jak bardzo rozwinął się w obszarze uczenia maszynowego. Kamil jest zdolnym chłopakiem, który na pewno by sobie sam poradził, ale bardzo się cieszę, że tak się złożyło, że miałem możliwość mu podpowiedzieć pewne rzeczy. Niekoniecznie chodzi tu o samo uczenie maszynowe, bo już wcześniej miał okazję przejść kilka kursów, a planował i kolejne. Po zakończeniu trochę rozmawialiśmy, wierzę, że zwróciłem uwagę na pewne istotne kwestie i zaczęło się dziać. Kamil  sam sobie stworzył pozycję w firmie, w której pracował, gdzie nie było żadnych Data Scientistów i on stał się pierwszym. To ciekawe jak różne spotkania we właściwym czasie, z właściwymi ludźmi mogą wiele zmienić. &#160; Kamil pracuje w tej chwili w Cosmose, firmie, która funkcjonuje głównie na rynku chińskim, ale też szerzej azjatyckim (Japonia, Malezja) i zajmuje się offline trafic. Czym to jest? Dla porównania online traffic to cały ruch użytkowników w sieci, czyli e-maile, smsy, powiadomienia push. Może być jednak tak, że jest strumień użytkowników, z którymi nigdy nie wchodziliśmy w żadną interakcję, ale chcielibyśmy, aby oni naszą reklamę zobaczyli np. ludzie w galeriach, którym chcielibyśmy wyświetlić naszą reklamę. W jaki sposób to działa? Chodząc po galerii handlowej odwiedzamy różne sklepy. Wszędzie jest dostępne wi-fi i w zależności od tego, z którym routerem się łączymy, to można z pewnym przybliżeniem stwierdzić, gdzie jesteśmy i jakie odwiedziliśmy sklepy. Na podstawie tej informacji można budować różne profile cyfrowe.&#160; Mówiąc o Cosmose, warto wspomnieć o ich strumieniu danych. W momencie naszej rozmowy firma dysponowała już ponad miliardem danych. Ten apetyt stale rośnie &#8211; na tyle, że w przyszłym roku ma ich być już ponad 2 miliardy. Zespół Kamila bardzo się rozrósł o niezwykłe talenty, które dołączyły opuszczając liderów rynku. Widać, że powstała już solidna infrastruktura.&#160; Historia z Kamilem jest inspirująca pod wieloma względami. Z jednej strony jest aspekt mojego udziału w późniejszych losach Kamila, taka pomoc w odkryciu swojego potencjału. Czuję, że moją misją jest otwierać potencjał w ludziach i maksymalnie go rozpędzać, mimo tego że zajmuję się uczeniem maszynowym. Z drugiej strony pojawia się kwestia tego, że w obecnym świecie nie jest ważne, gdzie się aktualnie znajdujesz, ponieważ tak naprawdę możesz pracować z całym światem i to zależy tylko od Ciebie czy chcesz to robić, czy nie. Kamil ma dla każdego słuchacza i czytelnika Biznesu Myśli prezent. Jeśli chcesz go dostać, to upewnij się, że jesteś zapisany/a do naszego newslettera. Cześć Kamil. Przedstaw się: kim jesteś, czym się zajmujesz i gdzie mieszkasz? Nazywam się Kamil Krzyk. Od 8 lat pracuję w branży IT. Pochodzę spod Krakowa, a 3 lata temu przeprowadziłem się do Warszawy w związku ze zmianą pracy. Aktualnie pracuję jako Machine Learning Engineer w firmie Cosmose. Jest to branża retailowa. Jednocześnie jako posiadacz jednoosobowej działalności gospodarczej współpracuję od 10 miesięcy z małą firmą ze Stanów, która zajmuje się tematami fitness.&#160; Jaką ciekawą książkę ostatnio przeczytałeś? Może jesteś w stanie przytoczyć z niej jedno najważniejsze zdanie? Pamiętam, jak ostatnim razem byłem gościem Biznesu Myśli i wiem, że zawsze zadajesz to pytanie. Wtedy wspomniałem, że nie czytam innych książek niż techniczne i tak się składa, że jeszcze mi się to utrzymuje. Także książka, którą będę chciał polecić, będzie techniczna, ale wiem, że wielu z Twoich czytelników chce się rozwijać, uczy się, podąża za Tobą właśnie dzięki kursom, więc wydaje mi się, że ta książka będzie świetnym tytułem do polecenia. Chodzi o Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow, a autorem jest Aurélien Géron. Miała ona drugą edycję pod koniec roku 2019. Jest to dosyć pokażna pozycja &#8211; w sumie 800 stron, taka cegła. Na początku bałem się jej czytać nie wybiórczo, na początku traktowałem ją bardziej jako encyklopedię, ale da się ją czytać od początku do końca. Jest napisana mega prostym językiem i zawiera ogromną ilość informacji, której nigdy nie byłem w stanie nagromadzić na żadnych kursach czy z Internetu. Po prostu zbiór wszystkiego. Dodatkowo ma też dużo kodu, ma idealnie tyle matematyki, ile potrzebujemy &#8211; w tym wypadku jest to minimum, żeby tak po prostu zrozumieć wszystkie opisane koncepty dość niskopoziomowo. Dlatego polecam tę książkę każdemu, kto chce się nauczyć machine learningu i poznać więcej algorytmów i praktyki. Ta książka jest naprawdę świetna do nauki i przez ostatnie lata nie widziałem chyba niczego lepszego, jeżeli chodzi o literaturę. Żałuję, że kiedy sam wchodziłem w machine learning, nie znalazłem takiej książki wcześniej. Jest naprawdę super tytułem, polecam. Zgadzam się, to świetna lektura. Zresztą nawet na ostatnim kursie ta książka była jako prezent. Ona przeraża w kontekście liczby stron, ale jeżeli chodzi o zawartość i przyjemność czytania, to naprawdę warto.&#160; Tak i nie trzeba jej też czytać w całości, prawda? Można wybiórczo, można się przygotować przed rozmową o pracę, można odświeżyć jakąś wiedzę przed prowadzeniem warsztatu. Jest naprawdę mega przydatna. Nie będziemy dzisiaj tylko o książkach mówić, chociaż polecenie jest bardzo dobre. Przypomnijmy Twoją ścieżkę kariery: jak się poznaliśmy, pracowałeś jako Android Developer, później trochę się w Twoim życiu podziało, więc opowiedz, jak to się stało, że od programisty ruszyłeś w kierunku uczenia maszynowego. Studiowałem mechatronikę czyli kierunek bez związku z programowaniem, ale jednym z moich przedmiotów były systemy wizyjne i miałem tam taki projekt, żeby nauczyć sieci neuronowe przewidywania prędkości dla robota na bazie jakości podłoża. Ten projekt pokazał mi, że programowanie jest bardzo interesujące. Musiałem nad tym więcej czasu spędzić. Od tego czasu samodzielnie zacząłem się rozwijać jako programista, początkowo czytając książki. Potem moi znajomi, gdzieś na 4 roku, wciągnęli mnie bardziej w tematy Androida i udało mi się dostać pierwszą pracę jako Junior Android Developer. Tu chciałbym zaznaczyć, że ten Android w moim życiu to nie było coś, co ja wybrałem, ja po prostu chciałem programować, nie bardzo się na tym wszystkim znałem i wziąłem to, co było dostępne. Pracowałem, bo taka była możliwość. W tzw. międzyczasie miałem okazję trafić na kurs internetowy Machine Learning od Andrew Ng na Coursera. Stwierdziłem, że można spróbować czegoś nowego, tym bardziej że moją specjalizacją potem na studiach były systemy inteligentne, więc jakoś to się wiązało. Rozpocząłem ten kurs i byłem pod gigantycznym wrażeniem tego, że w ogóle taka forma edukacji istnieje. Zakochałem się ogólnie w kursach internetowych. Przedstawiane tematy pokrywały się z tym, co miałem na studiach, ale zaczynałem je wtedy dopiero rozumieć. Nikt o machine learningu dookoła mnie za bardzo jeszcze w tych czasach nie rozmawiał &#8211; nikt z moich rówieśników, nikt w pracy. Nie czytałem za bardzo nic o tym w Internecie. To była dla mnie pewna nisza, złoty temat. Bardzo się tym zafascynowałem i to była taka chyba pierwsza rzecz, faktycznie w moim życiu zawodowo, która mnie zafascynowała i której postanowiłem się poświęcić, żeby się jej nauczyć. Początkowo to były faktycznie kursy internetowe. Kolejnym kursem to było Deep Learning Nanodegree na Udacity, ale to wszystko działo się gdzieś tam w Internecie, po angielsku i nie miałem w ogóle pojęcia, co się dzieje w Polsce. Praktyczne Uczenie Maszynowe po polsku Potem poznałem Ciebie i dzięki temu dowiedziałem się, że istnieje kurs &#8222;Praktyczne uczenie maszynowe dla programistów&#8221;, na który postanowiłem się zapisać. Tym bardziej, że ciekawiło mnie to, jak ten machine learning wygląda w Polsce. Pierwszy raz było coś po polsku, więc zapisałem się, chciałem spróbować. Ten kurs &#8222;Praktyczne uczenie maszynowe&#8221; zmotywował mnie do tego, żeby ustawić sobie jakiś deadline na to, do jakiego momentu chcę zmienić moją karierę zawodową. Wcześniej się nie odważyłem, uczyłem się tego machine learningu bardzo dużo w domu, samodzielnie, ale nie miałem pomysłu na zmianę kariery i też nie miałem motywacji. Wtedy sobie uświadomiłem, że jeżeli nie zacznę działać ku temu, żeby coś zmienić, to nic się nie wydarzy samo. Działałem bardzo aktywnie w tym okresie też poza wspomnianymi wcześniej aktywnościami. Prowadziłem grupę uczenia maszynowego, próbowałem pisać blog posty, występowałem publicznie, nawet zorganizowałem własne warsztaty. Też dzięki temu udało mi się w Azimo (w firmie, w której ówcześnie pracowałem, która zajmowała się przelewami międzynarodowymi) przekonać szefostwo, aby powierzyli mi jeden data science’owy projekt i też w taki sposób zostałem mianowany Data Scientist. Zajmowałem się predykcją czasu, jak długo będą szły przelewy z potencjalnym wykrywaniem anomalii, kiedy coś może się opóźnić. Pomimo tego, firma jeszcze w tych czasach nie była zbyt chętna do tego typu rozwiązań, a ja też byłem niedoświadczony i bardzo chciałem ten machine learning robić. Jak się robi te wszystkie kursy i czyta o jakiś gunach, AlphaGo, to nie chce się robić KNN, k-means, jakichś prostych algorytmów. Gdy człowiek jest jeszcze świeży w temacie, to ma wrażenie, że może gdzieś istnieje ten świat cudowny, w którym wszystko będzie używane. Pewnego dnia udałem się na Hackathon Kaggle Days, który odbywał się w Warszawie. Tam poznałem osobę, która zaproponowała mi pracę, zachęciła mnie do tego, żebym zaaplikował do firmy Cosmose, w której aktualnie pracuję. Ta firma faktycznie była już tak silnie nastawiona na to, żeby swoje produkty opierać na rozwiązaniach machine learningowych, AI. To było dla mnie bardzo atrakcyjne i udało się. Zmieniłem pracę i jestem w tym miejscu do dzisiaj. Rzeczywistość też zweryfikowała jak świat uczenia maszynowego wygląda i czy to faktycznie jest zawsze rocket science. Ogólnie uważam, że jest to bardzo ciekawy zawód i nie żałuję, także jestem zadowolony z tego, gdzie jestem.&#160; Machine Learning Engineer vs. Programista Jak to wygląda, jeżeli chodzi o zmianę perspektywy? Byłeś po obu stronach, z jednej jako programista, z drugiej teraz jesteś po tej stronie Data Science czyli praca z projektami tzw. R&#38;D, gdzie mamy większe ryzyko, większe obawy i coraz częściej się zdarza sytuacja, że coś nie działa. Na ile Twoje myślenie się zmieniło, jak sobie z radziłeś z tą zmianą? Który świat Ci bardziej odpowiada?&#160; Tak, różnice są dramatyczne, jeżeli chodzi o samo programowanie i software engineering, w którym też wykorzystujemy uczenie maszynowe. Jest dużo więcej niewiadomych. W samym programowaniu gdy pracowałem w Scrumie czy jako Android Developer, po prostu wpadały jakieś zadania, kończył się sprint, coś się udało zrobić, czegoś się nie udało zrobić. Jedynym zagrożeniem w tym wszystkim było to, żeby nie przeszacować albo niedoszacować jakiegoś zadania. Wtedy sprint się opóźniał i to było nasze jedyne zmartwienie. Wyzwania W uczeniu maszynowym te zadania miały dużo więcej niewiadomych. Ciężko było powiedzieć, ile czasu nam dane zadanie zajmie. Czy ten model będzie działał, czy nie, czy dane są poprawne &#8211; masa rzeczy może wpłynąć na to, czy osiągniemy poziom wyniku, który satysfakcjonuje naszego klienta. Ta praca na pewno była dużo cięższa niż w Scrumie pod tym względem i też troszkę bardziej stresująca. Tutaj mogę przytoczyć słowa Cassie Kozyrkov, która powiedziała, że: &#8222;Data Science, Machine Learning nie jest dla perfekcjonistów&#8221;. Ja z natury jestem troszkę perfekcjonistą i mocno czuję na co dzień, że chciałbym, żeby wszystko działało idealnie i żeby wszystko dało się oszacować, a kiedy to się nie dzieje, to wzbudza to we mnie pewien stres. Także trzeba się z tym liczyć, że będzie dużo większy chaos.&#160; Druga sprawa to to, że w tym uczeniu maszynowym nie jest też tak, że tylko tworzymy modele i analizujemy dane, bo jest to też dużo więcej dookoła machine learningowych zadań. Pozycja machine learning engineer, data scientist dzisiaj ma wiele definicji i każda firma potrzebuje zupełnie innych umiejętności. W dużej firmie pewnie będzie łatwiej dobrać osobę do zadania, ale małe firmy same czasami nie wiedzą jeszcze, jakie rzeczy trzeba wykonać, a produkt musi się rozwijać. Musimy ogarnąć dane i czasami napisać jakąś ITIL, żeby te dane przetworzyć, musimy zbudować model, przejść przez całe stadium R&#38;D i w ogóle powiedzieć, czy to działa, czy nie. To trochę łączy świat programowania ze światem matematyki, statystyki, analizy danych. Jest to miks ogólnie wielu technologii. To też jest fajne, bo jest bardziej rozwijające. Jednocześnie ciężko jest tak naprawdę o dobre zdefiniowanie juniora, bo jeżeli mamy wiele technologii, to ciężko jest, żeby ten junior rozumiał wszystko. Na pewno próg wejścia może być troszkę wyższy. Kolejnym aspektem jest to, że trzeba mieć większą świadomość, wielką wiedzę na temat tego, w jaki sposób funkcjonuje i działa biznes. Nie polecam ogólnie takiego podejścia, ale da się pracować na Scrumie na takiej zasadzie, że wpada nam...</p>
<p>Artykuł <a href="https://biznesmysli.pl/machine-learning-engineer-kariera-wyzwania-mozliwosci/">Machine Learning Engineer &#8211; kariera, wyzwania, możliwości</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-speaker-spotify-Z21IvgN 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/user/biznesmysli/bm-104" 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/show/3ZUaHommHHZU6b4WJiyV2I" 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><br /><br /></p>



<p><strong><br />Gościem już 104 odcinka podcastu Biznes Myśli był <a href="https://www.linkedin.com/in/kamil-krzyk-20275483/" target="_blank" rel="noreferrer noopener">Kamil Krzyk</a> &#8211; Machine Learning Engineer, absolwent kursu  <a href="https://bit.ly/36wPb0Y" target="_blank" rel="noreferrer noopener"><em>&#8222;</em>Praktyczne uczenie maszynowe<em>&#8222;</em></a><em>. </em>Kamil wziął udział w pierwszej edycji kursu i jestem bardzo dumny z tego, jak bardzo rozwinął się w obszarze uczenia maszynowego. Kamil jest zdolnym chłopakiem, który na pewno by sobie sam poradził, ale bardzo się cieszę, że tak się złożyło, że miałem możliwość mu podpowiedzieć pewne rzeczy. Niekoniecznie chodzi tu o samo uczenie maszynowe, bo już wcześniej miał okazję przejść kilka kursów, a planował i kolejne. Po zakończeniu trochę rozmawialiśmy, wierzę, że zwróciłem uwagę na pewne istotne kwestie i zaczęło się dziać. Kamil  sam sobie stworzył pozycję w firmie, w której pracował, gdzie nie było żadnych Data Scientistów i on stał się pierwszym. To ciekawe jak różne spotkania we właściwym czasie, z właściwymi ludźmi mogą wiele zmienić.</strong><br /><br /><br /></p>



<p></p>



<p><strong>&nbsp;</strong></p>



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



<p><strong>Kamil pracuje w tej chwili w <a href="https://cosmose.co/" rel="nofollow">Cosmose,</a> firmie, która funkcjonuje głównie na rynku chińskim, ale też szerzej azjatyckim (Japonia, Malezja) i zajmuje się <em>offline trafic.</em> Czym to jest? Dla porównania <em>online traffic </em>to cały ruch użytkowników w sieci, czyli e-maile, smsy, powiadomienia push. Może być jednak tak, że jest strumień użytkowników, z którymi nigdy nie wchodziliśmy w żadną interakcję, ale chcielibyśmy, aby oni naszą reklamę zobaczyli np. ludzie w galeriach, którym chcielibyśmy wyświetlić naszą reklamę. W jaki sposób to działa? Chodząc po galerii handlowej odwiedzamy różne sklepy. </strong></p>



<p><br /><br /><strong>Wszędzie jest dostępne wi-fi i w zależności od tego, z którym routerem się łączymy, to można z pewnym przybliżeniem stwierdzić, gdzie jesteśmy i jakie odwiedziliśmy sklepy. Na podstawie tej informacji można budować różne profile cyfrowe.&nbsp;</strong><br /><br /><br /></p>



<p><strong>Mówiąc o Cosmose, warto wspomnieć o ich strumieniu danych. W momencie naszej rozmowy firma dysponowała już ponad miliardem danych. Ten apetyt stale rośnie &#8211; na tyle, że w przyszłym roku ma ich być już ponad 2 miliardy. Zespół Kamila bardzo się rozrósł o niezwykłe talenty, które dołączyły opuszczając liderów rynku. Widać, że powstała już solidna infrastruktura.&nbsp;</strong><br /><br /><br /></p>



<p><strong>Historia z Kamilem jest inspirująca pod wieloma względami. Z jednej strony jest aspekt mojego udziału w późniejszych losach Kamila, taka pomoc w odkryciu swojego potencjału. Czuję, że moją misją jest otwierać potencjał w ludziach i maksymalnie go rozpędzać, mimo tego że zajmuję się uczeniem maszynowym. Z drugiej strony pojawia się kwestia tego, że w obecnym świecie nie jest ważne, gdzie się aktualnie znajdujesz, ponieważ tak naprawdę możesz pracować z całym światem i to zależy tylko od Ciebie czy chcesz to robić, czy nie.</strong><br /><br /><br /></p>



<p><strong>Kamil ma dla każdego słuchacza i czytelnika Biznesu Myśli prezent. Jeśli chcesz go dostać, to upewnij się, że jesteś zapisany/a do <a href="http://www.biznesmysli.pl/newsletter." target="_blank" rel="noreferrer noopener">naszego newsletter</a></strong>a. <br /><br /><br /></p>



<p><strong>Cześć Kamil. Przedstaw się: kim jesteś, czym się zajmujesz i gdzie mieszkasz?</strong><br /><br /><br /></p>



<p>Nazywam się <a href="https://www.linkedin.com/in/kamil-krzyk-20275483/" target="_blank" rel="noreferrer noopener">Kamil Krzyk</a>. Od 8 lat pracuję w branży IT. Pochodzę spod Krakowa, a 3 lata temu przeprowadziłem się do Warszawy w związku ze zmianą pracy. Aktualnie pracuję jako Machine Learning Engineer w firmie Cosmose. Jest to branża retailowa. Jednocześnie jako posiadacz jednoosobowej działalności gospodarczej współpracuję od 10 miesięcy z małą firmą ze Stanów, która zajmuje się tematami fitness.&nbsp;<br /><br /><br /></p>



<p><strong>Jaką ciekawą książkę ostatnio przeczytałeś? Może jesteś w stanie przytoczyć z niej jedno najważniejsze zdanie?</strong><br /><br /><br /></p>



<p>Pamiętam, jak ostatnim razem byłem gościem Biznesu Myśli i wiem, że zawsze zadajesz to pytanie. Wtedy wspomniałem, że nie czytam innych książek niż techniczne i tak się składa, że jeszcze mi się to utrzymuje. Także książka, którą będę chciał polecić, będzie techniczna, ale wiem, że wielu z Twoich czytelników chce się rozwijać, uczy się, podąża za Tobą właśnie dzięki kursom, więc wydaje mi się, że ta książka będzie świetnym tytułem do polecenia. </p>



<p><br /><br /><br />Chodzi o <em>Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow, </em>a autorem jest Aurélien Géron. Miała ona drugą edycję pod koniec roku 2019. Jest to dosyć pokażna pozycja &#8211; w sumie 800 stron, taka cegła. Na początku bałem się jej czytać nie wybiórczo, na początku traktowałem ją bardziej jako encyklopedię, ale da się ją czytać od początku do końca. Jest napisana mega prostym językiem i zawiera ogromną ilość informacji, której nigdy nie byłem w stanie nagromadzić na żadnych kursach czy z Internetu. Po prostu zbiór wszystkiego. </p>



<p><br /><br /><br /><br />Dodatkowo ma też dużo kodu, ma idealnie tyle matematyki, ile potrzebujemy &#8211; w tym wypadku jest to minimum, żeby tak po prostu zrozumieć wszystkie opisane koncepty dość niskopoziomowo. Dlatego polecam tę książkę każdemu, kto chce się nauczyć machine learningu i poznać więcej algorytmów i praktyki. Ta książka jest naprawdę świetna do nauki i przez ostatnie lata nie widziałem chyba niczego lepszego, jeżeli chodzi o literaturę. Żałuję, że kiedy sam wchodziłem w machine learning, nie znalazłem takiej książki wcześniej. Jest naprawdę super tytułem, polecam.</p>



<p><br /><br /><br /></p>



<p><strong>Zgadzam się, to świetna lektura. Zresztą nawet na ostatnim kursie ta książka była jako prezent. Ona przeraża w kontekście liczby stron, ale jeżeli chodzi o zawartość i przyjemność czytania, to naprawdę warto.&nbsp;</strong></p>



<p><br /><br /><br /></p>



<p>Tak i nie trzeba jej też czytać w całości, prawda? Można wybiórczo, można się przygotować przed rozmową o pracę, można odświeżyć jakąś wiedzę przed prowadzeniem warsztatu. Jest naprawdę mega przydatna.</p>



<p><br /><br /></p>



<p><strong>Nie będziemy dzisiaj tylko o książkach mówić, chociaż polecenie jest bardzo dobre. Przypomnijmy Twoją ścieżkę kariery: jak się poznaliśmy, pracowałeś jako Android Developer, później trochę się w Twoim życiu podziało, więc opowiedz, jak to się stało, że od programisty ruszyłeś w kierunku uczenia maszynowego.</strong></p>



<p><br /><br /><br /></p>



<p>Studiowałem mechatronikę czyli kierunek bez związku z programowaniem, ale jednym z moich przedmiotów były systemy wizyjne i miałem tam taki projekt, żeby nauczyć sieci neuronowe przewidywania prędkości dla robota na bazie jakości podłoża. Ten projekt pokazał mi, że programowanie jest bardzo interesujące. Musiałem nad tym więcej czasu spędzić. Od tego czasu samodzielnie zacząłem się rozwijać jako programista, początkowo czytając książki. Potem moi znajomi, gdzieś na 4 roku, wciągnęli mnie bardziej w tematy Androida i udało mi się dostać pierwszą pracę jako Junior Android Developer. Tu chciałbym zaznaczyć, że ten Android w moim życiu to nie było coś, co ja wybrałem, ja po prostu chciałem programować, nie bardzo się na tym wszystkim znałem i wziąłem to, co było dostępne. Pracowałem, bo taka była możliwość.</p>



<p><br /><br /><br /></p>



<p>W tzw. międzyczasie miałem okazję trafić na kurs internetowy Machine Learning od Andrew Ng na Coursera. Stwierdziłem, że można spróbować czegoś nowego, tym bardziej że moją specjalizacją potem na studiach były systemy inteligentne, więc jakoś to się wiązało. Rozpocząłem ten kurs i byłem pod gigantycznym wrażeniem tego, że w ogóle taka forma edukacji istnieje. Zakochałem się ogólnie w kursach internetowych. Przedstawiane tematy pokrywały się z tym, co miałem na studiach, ale zaczynałem je wtedy dopiero rozumieć. </p>



<p><br /><br /><br />Nikt o machine learningu dookoła mnie za bardzo jeszcze w tych czasach nie rozmawiał &#8211; nikt z moich rówieśników, nikt w pracy. Nie czytałem za bardzo nic o tym w Internecie. To była dla mnie pewna nisza, złoty temat. Bardzo się tym zafascynowałem i to była taka chyba pierwsza rzecz, faktycznie w moim życiu zawodowo, która mnie zafascynowała i której postanowiłem się poświęcić, żeby się jej nauczyć. Początkowo to były faktycznie kursy internetowe. Kolejnym kursem to było <em>Deep Learning Nanodegree </em>na Udacity, ale to wszystko działo się gdzieś tam w Internecie, po angielsku i nie miałem w ogóle pojęcia, co się dzieje w Polsce.</p>



<h2 class="wp-block-heading"><br /><a href="https://dataworkshop.eu/pl/practical-machine-learning?utm_source=podcast&amp;utm_medium=article&amp;utm_campaign=pml9&amp;utm_term=website&amp;utm_content=biznes-mysli" target="_blank" rel="noreferrer noopener">Praktyczne Uczenie Maszynowe po polsku</a> <br /><br /><br /><br /></h2>



<p>Potem poznałem Ciebie i dzięki temu dowiedziałem się, że istnieje kurs &#8222;<em>Praktyczne uczenie maszynowe dla programistów&#8221;</em>, na który postanowiłem się zapisać. Tym bardziej, że ciekawiło mnie to, jak ten machine learning wygląda w Polsce. Pierwszy raz było coś po polsku, więc zapisałem się, chciałem spróbować. Ten kurs <em>&#8222;Praktyczne uczenie maszynowe&#8221;</em> zmotywował mnie do tego, żeby ustawić sobie jakiś <em>deadline</em> na to, do jakiego momentu chcę zmienić moją karierę zawodową. </p>



<p><br /><br /><br />Wcześniej się nie odważyłem, uczyłem się tego machine learningu bardzo dużo w domu, samodzielnie, ale nie miałem pomysłu na zmianę kariery i też nie miałem motywacji. Wtedy sobie uświadomiłem, że jeżeli nie zacznę działać ku temu, żeby coś zmienić, to nic się nie wydarzy samo.</p>



<p><br /><br /></p>



<p>Działałem bardzo aktywnie w tym okresie też poza wspomnianymi wcześniej aktywnościami. Prowadziłem grupę uczenia maszynowego, próbowałem pisać blog posty, występowałem publicznie, nawet zorganizowałem własne warsztaty. Też dzięki temu udało mi się w Azimo (w firmie, w której ówcześnie pracowałem, która zajmowała się przelewami międzynarodowymi) przekonać szefostwo, aby powierzyli mi jeden data science’owy projekt i też w taki sposób zostałem mianowany Data Scientist. </p>



<p><br /><br /><br />Zajmowałem się predykcją czasu, jak długo będą szły przelewy z potencjalnym wykrywaniem anomalii, kiedy coś może się opóźnić. Pomimo tego, firma jeszcze w tych czasach nie była zbyt chętna do tego typu rozwiązań, a ja też byłem niedoświadczony i bardzo chciałem ten machine learning robić. Jak się robi te wszystkie kursy i czyta o jakiś gunach, AlphaGo, to nie chce się robić KNN, k-means, jakichś prostych algorytmów. Gdy człowiek jest jeszcze świeży w temacie, to ma wrażenie, że może gdzieś istnieje ten świat cudowny, w którym wszystko będzie używane.</p>



<p><br /><br /></p>



<p>Pewnego dnia udałem się na Hackathon Kaggle Days, który odbywał się w Warszawie. Tam poznałem osobę, która zaproponowała mi pracę, zachęciła mnie do tego, żebym zaaplikował do firmy Cosmose, w której aktualnie pracuję. Ta firma faktycznie była już tak silnie nastawiona na to, żeby swoje produkty opierać na rozwiązaniach machine learningowych, AI. To było dla mnie bardzo atrakcyjne i udało się. Zmieniłem pracę i jestem w tym miejscu do dzisiaj.</p>



<p><br /><br /><br /></p>



<p>Rzeczywistość też zweryfikowała jak świat uczenia maszynowego wygląda i czy to faktycznie jest zawsze <em>rocket science</em>. Ogólnie uważam, że jest to bardzo ciekawy zawód i nie żałuję, także jestem zadowolony z tego, gdzie jestem.&nbsp;</p>



<p><br /><br /></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="Różne oblicza Data Science | Kamil Krzyk" width="960" height="540" src="https://www.youtube.com/embed/G41016NMJYE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>



<p><br /><br /><br /></p>



<h2 class="wp-block-heading">Machine Learning Engineer vs. Programista </h2>



<p></p>



<p><br /><strong>Jak to wygląda, jeżeli chodzi o zmianę perspektywy? Byłeś po obu stronach, z jednej jako programista, z drugiej teraz jesteś po tej stronie Data Science czyli praca z projektami tzw. R&amp;D, gdzie mamy większe ryzyko, większe obawy i coraz częściej się zdarza sytuacja, że coś nie działa. Na ile Twoje myślenie się zmieniło, jak sobie z radziłeś z tą zmianą? Który świat Ci bardziej odpowiada?&nbsp;</strong></p>



<p><br /><br /><br /></p>



<p>Tak, różnice są dramatyczne, jeżeli chodzi o samo programowanie i software engineering, w którym też wykorzystujemy uczenie maszynowe. Jest dużo więcej niewiadomych. W samym programowaniu gdy pracowałem w Scrumie czy jako Android Developer, po prostu wpadały jakieś zadania, kończył się sprint, coś się udało zrobić, czegoś się nie udało zrobić. Jedynym zagrożeniem w tym wszystkim było to, żeby nie przeszacować albo niedoszacować jakiegoś zadania. Wtedy sprint się opóźniał i to było nasze jedyne zmartwienie.</p>



<h3 class="wp-block-heading"><br />Wyzwania <br /><br /></h3>



<p>W uczeniu maszynowym te zadania miały dużo więcej niewiadomych. Ciężko było powiedzieć, ile czasu nam dane zadanie zajmie. Czy ten model będzie działał, czy nie, czy dane są poprawne &#8211; masa rzeczy może wpłynąć na to, czy osiągniemy poziom wyniku, który satysfakcjonuje naszego klienta. Ta praca na pewno była dużo cięższa niż w Scrumie pod tym względem i też troszkę bardziej stresująca. Tutaj mogę przytoczyć słowa Cassie Kozyrkov, która powiedziała, że:<br /><br /></p>



<blockquote class="wp-block-quote"><p><em>&#8222;Data Science, Machine Learning nie jest dla perfekcjonistów&#8221;.</em></p></blockquote>



<p><br /><br /></p>



<p>Ja z natury jestem troszkę perfekcjonistą i mocno czuję na co dzień, że chciałbym, żeby wszystko działało idealnie i żeby wszystko dało się oszacować, a kiedy to się nie dzieje, to wzbudza to we mnie pewien stres. Także trzeba się z tym liczyć, że będzie dużo większy chaos.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Druga sprawa to to, że w tym uczeniu maszynowym nie jest też tak, że tylko tworzymy modele i analizujemy dane, bo jest to też dużo więcej dookoła machine learningowych zadań. Pozycja machine learning engineer, data scientist dzisiaj ma wiele definicji i każda firma potrzebuje zupełnie innych umiejętności. W dużej firmie pewnie będzie łatwiej dobrać osobę do zadania, ale małe firmy same czasami nie wiedzą jeszcze, jakie rzeczy trzeba wykonać, a produkt musi się rozwijać. </p>



<p><br /><br /><br />Musimy ogarnąć dane i czasami napisać jakąś ITIL, żeby te dane przetworzyć, musimy zbudować model, przejść przez całe stadium R&amp;D i w ogóle powiedzieć, czy to działa, czy nie. To trochę łączy świat programowania ze światem matematyki, statystyki, analizy danych. Jest to miks ogólnie wielu technologii. To też jest fajne, bo jest bardziej rozwijające. Jednocześnie ciężko jest tak naprawdę o dobre zdefiniowanie juniora, bo jeżeli mamy wiele technologii, to ciężko jest, żeby ten junior rozumiał wszystko. Na pewno próg wejścia może być troszkę wyższy.</p>



<p><br /><br /><br /></p>



<p>Kolejnym aspektem jest to, że trzeba mieć większą świadomość, wielką wiedzę na temat tego, w jaki sposób funkcjonuje i działa biznes. Nie polecam ogólnie takiego podejścia, ale da się pracować na Scrumie na takiej zasadzie, że wpada nam zadanie i po prostu je wykonujemy, klikamy <em>in testing, in review, done</em>, koniec, idziemy dalej. W przypadku machine learningu tworzone rozwiązania powinny w jakiś sposób wpływać na biznes. </p>



<p><br /><br /><br />Nasze predykcje bezpośrednio będą oddziaływać na działanie naszego produktu, na to jaki będzie <em>user experience</em>. Trzeba rozumieć, jakie konsekwencje nasza praca za sobą niesie w tej kwestii. Co więcej dużo więcej będzie rozmowy z zespołami biznesowymi. Trzeba będzie pewnie nauczyć się w sensowny sposób przedstawiać swoje pomysły. To znaczy taki, który przekona ludzi do naszych pomysłów. Ogromne znaczenie ma tutaj taka umiejętność prezentacji.</p>



<p><br /><br /><br /></p>



<p>Mam taki przykład, który lubię przytaczać &#8211; zaznaczam, że jest nieco brutalny. Ogólnie praca data scientista, machine learning engineera może być momentami dość niewdzięczna. Jeżeli idziemy do firmy, która jeszcze nie do końca wie, na czym machine learning polega, możemy dostać zadanie konkretnego zbudowania modelu, bo firma potrzebuje rozwiązać jakiś problem. Przychodzimy, bierzemy dane, analizujemy je i to oczywiście będzie trwało pewien okres czasu czyli już pojawia się jakaś inwestycja pieniędzy w nas. </p>



<p><br /><br /><br />Może w ogóle zmieniliśmy pracę po to, żeby przyjść do tej firmy i tam pracować. Zbudowaliśmy jakiś prototyp, on wstępnie działa i ciągniemy ten projekt dalej. Analizujemy wszystko dokładnie i w pewnym momencie dochodzimy do sufitu &#8211; np. technologia, z którą pracujemy, ma jakiś limit dotyczący dokładności albo dane klienta są niewystarczająco dobre, żeby zbudować taki model, jakiego on sobie życzy, albo jego oczekiwania są za wysokie. Nie jesteśmy w stanie zoptymalizować KPI biznesowych, a włożyliśmy bardzo dużo czasu, pracy w to, żeby zbudować ten model i to rozwiązanie. Teraz musimy pójść do pracodawcy i powiedzieć mu, że to nie wyjdzie.&nbsp;</p>



<p><br /><br /><br /></p>



<p>W teorii wykonaliśmy naszą pracę poprawnie, bo zbudowaliśmy model najlepszy, jaki się dało, analizowaliśmy te dane i wnioskiem było, że się nie da, a zostaliśmy zatrudnieni, żeby coś zrobić. W programowaniu zwykle nie ma rzeczy niemożliwych i stosunkowo prosto jest oszacować, na ile pewne rzeczy są możliwe. </p>



<p><br /><br /><br />W tym wypadku mogą być sytuacje, że coś jednak nie zadziała albo nawet jeżeli zadziała, to nie wystarczająco dobrze. Jeżeli nie ma odpowiedniej świadomości w firmie, to w tym momencie pracodawca może negatywnie odebrać odpowiedź, że się nie da, gdzie tak naprawdę w teorii za poprawnie wykonanie pracy należałaby się pochwała. Może to być momentami niewdzięczne. To jest taka chyba główna różnica, którą widzę.</p>



<h2 class="wp-block-heading"><br />Machine Learning w praktyce &#8211; przykład z Chin <br /><br /></h2>



<p><strong>Porozmawiajmy teraz o Cosmose, firmie, w której obecnie pracujesz. Wiem, że wielu ciekawych rzeczy nie możemy powiedzieć, ale opowiedz kilka słów o tym, czym się zajmuje, jakie problemy próbuje rozwiązać.</strong></p>



<p><br /><br /></p>



<p>Zacznijmy od w ogóle branży, w której Cosmose działa. Jest to retail, czyli jak sama nazwa wskazuje, będzie to targetowanie reklam. My dostarczamy dane, które nazywamy <em>traffic online. </em>Czym by były dane online? Firmy posiadające sklepy w centrach handlowych np. Fendi, Zara, chcą dostać się do potencjalnych klientów. Zachęcają do zapisania się przykładowo do newslettera, założenia karty członkowskiej, podania swojego numeru telefonu i w ten sposób pozyskują dane klientów poprzez pozyskiwanie tych informacji online. To, co robi Cosmose, to próbuje dostarczyć takim firmom informacje na temat ludzi, którzy nawet nigdy nie weszli w żaden sposób w interakcję z daną marką. To jest to, co się nazywa <em>traffic offline.</em></p>



<p><br /><br /><br /></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="Cosmose Success Story" width="960" height="540" src="https://www.youtube.com/embed/uRg6Kdf28YI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>



<p><br />W jaki sposób to się dzieje? W dzisiejszych czasach każdy posiada smartfona. Na tym smartfonie ma zainstalowaną masę aplikacji. Nawet jeśli sam nic nie instalował, to od razu po kupieniu telefonu już coś jest tam wgrane. Jak kupimy Samsunga, to można sobie samemu sprawdzić, że jest tam Samsung Location Services i nie da się tego ubić. Tym sposobem informacje z naszych telefonów komórkowych są zbierane przez wiele aplikacji. To chyba też nie jest jakaś tajemnica, że Facebook przykładowo zbiera nasze dane, ale robi to też dużo więcej aplikacji. Te dane potem lądują u różnych data vendorów i można je normalnie kupować.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Cosmose pozyskuje właśnie tego typu dane, oczywiście zanonimizowane. To nie są dane personalne, po prostu logi z telefonów, przykładowo jakie sieci wi-fi widzieliśmy albo jaki GPS gdzieś się tam wyświetlał czy jak działał żyroskop. Chodzi o te popularne dane w Androidzie ogólnie dostępne, która można wyczytać na stronie internetowej, że się zapisują. Cosmose na swojej stronie internetowej ma napisane, że ma pozyskane dane z ponad 500 tys. sklepów. Mamy wiele metod służących do tego, żeby dowiedzieć się, jak wygląda stan sygnału chociażby wi-fi w takich sklepach. Potem skupując dane od różnych data vendorów, dokonujemy matchingu tych danych przy użyciu uczenia maszynowego po to, aby móc przypisać labelkę, zlokalizować każdy taki odczyt z telefonu w jednym z tych sklepów z galerii. Tak w sumie pokrótce działa Cosmose AI &#8211; lokalizujemy ludzi w sklepach.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Jak to może być wykorzystane? Jeżeli wiemy, że ktoś odwiedził jakieś miejsce, to możemy tworzyć profil takiego użytkownika. Przykładowo jest osoba odwiedzająca sklepy marki luksusowej. Dla takiej marki luksusowej emitującej kampanię reklamową pozyskującą nowych klientów, taka informacja może być atrakcyjna. Być może jednak interesuje tę markę dotarcie do innej grupy odbiorców. My jesteśmy w stanie takie dane dostarczyć.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Jak to się dzieje, że reklamy faktycznie docierają do tych ludzi? Są różne serwisy zewnętrzne, chociażby Facebook, które także posiadają bardzo dużo informacji na temat różnych ludzi. Jeżeli my wyślemy im skrawek danych, to oni są w stanie dopasować ten skrawek danych do swoich danych i z uwagi na większą wiedzę o użytkownikach dotrzeć do tych ludzi i np. wyświetlić im reklamę na Facebooku, tak samo w przeglądarkach itd. Na tej zasadzie nasi klienci są w stanie docierać do ludzi, którzy nigdy z nimi nie weszli w interakcję. Po prostu odwiedzają jakieś sklepy i ich dane lądują w ogólnodostępnej bazie danych.&nbsp;</p>



<p><br /><br /><br /></p>



<p><strong>Taki fajny przykład &#8211; bierzemy sobie Galerię Krakowską (czy jakąkolwiek inną galerię). Każdy sklep ma konkretną lokalizację. Wchodząc do sklepu człowiek jest “łapany” a dane o jego obecności w konkretnych miejscach są odnotowywane. Wy chcecie prognozować, które sklepy dana osoba odwiedziła.&nbsp;</strong></p>



<p><br /><br /><br /></p>



<p>Dokładnie tak. Czy przeszła obok, to wtedy może być jakiś <em>outside potential </em>czyli osoba, która widziała sklep, ale przeszła obok drzwi. Albo osoba, która weszła do sklepu lub zrobiła jeszcze jakąś inną akcję.&nbsp;</p>



<p><br /><br /><br /></p>



<p><strong>A jak sobie radzicie z piętrami?&nbsp;</strong></p>



<p>Dzięki temu, że korzystamy z różnych danych, akurat wi-fi do tego się nadaje, to na piętrach te modele świetnie działają. To jest coś, z czego akurat nasi klienci się bardzo cieszą, że z piętrami te modele dają radę.&nbsp;</p>



<p><br /><br /><br /></p>



<p><strong>Wiem, że niewiele możesz mówić, ale spróbuję podrążyć kolejny temat. Zbadaliście pół miliona sklepów, na blogu było też napisane, że ponad miliard smartfonów. Ta liczba robi wrażenie. Przy takiej ilości smartfonów ile tam jest rekordów, historii itd.? Jak sobie z tym radzicie na poziomie infrastruktury, na ile to jest w ogóle duże wyzwanie? Czy w tej chwili wszystko jest możliwe? Po prostu wciskasz jeden guzik i już to działa, czy jednak trzeba troszkę się namęczyć?</strong></p>



<p><br /><br /><br /><strong><br /><br /></strong></p>



<p>Tak, muszę przyznać się, że praca z taką ilością danych jest dużym wyzwaniem. Dodatkowo chcę zwrócić uwagę, że Cosmose początkowo działał głównie w Chinach, a tam mamy Wielki Chiński Mur i Chiny chcą klon całego stacka technologicznego w środku, więc musimy mieć serwery zarówno na Chiny jak i regiony zewnętrzne. W Cosmose w pewnym momencie osiągnęliśmy stadium, w którym ciężko było dalej pracować nad rozwojem modeli uczenia maszynowego, bo pierw trzeba było rozprawić się z infrastrukturą. Danych było bardzo dużo, ich ilość rosła i rośnie nadal, dlatego musieliśmy ściągnąć wielu inżynierów, którzy pracowali nad tym wszystkim.&nbsp;</p>



<p><br /><br /><br /><br /></p>



<p>A co trzeba zrobić, żeby te dane okiełznać? Przede wszystkim narzędzia i rozwiązania, które tworzymy do obsługi tych danych, muszą być jak najbardziej wygodne. Nie możemy się z tym wszystkim mordować, nie ma uniwersalnego klucza mówiącego, jak to powinno wyglądać, bo to zależy od typu danych. Chcemy mieć możliwość przeglądania tak dużej ilości danych (a wiadomo im więcej, tym ciężej) po to, żeby móc te dane w jakiś sposób czyścić, żeby móc zrozumieć, co jest w środku, wyliczać statystyki.</p>



<p><br /><br /><br /><br /> Pojawia się masa mikroserwisów ITIL, które przetwarzają te dane i wypluwają w innych postaciach, bo w zależności od tego ile mamy usług i jakie potrzeby są, nie chcemy za każdym razem przetwarzać danych od zera, tylko chcemy mieć punkty, od których możemy startować, żeby przyspieszyć cały proces. </p>



<p><br /><br /><br />Warto na pewno się zastanowić nad granulacją danych. Jeżeli przykładowo to są logi z aplikacji z telefonu komórkowego, to one mogą przychodzić w dużej częstotliwości i dane jednego <em>usera</em> mogą być rozbite na paręnaście plików. W zależności od tego, jakie potrzeby ma nasza firma, musimy się zastanowić, jakie ustrukturyzowanie danych jest dla nas najważniejsze, czyli jaka granulacja, czy chcemy je mieć podzielone po dacie i żeby każdy <em>shard</em> zawierał wszystkie rekordy danego użytkownika<em>, </em>żeby nie trzeba było potem tego agregować, ściągać z wielu plików, wielu folderów itd.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Takie zapisywanie wniosków pośrednich. Możemy mieć informacje zapisane w bazach danych po to, żeby nie każdy musiał przetwarzać te dane od zera, tylko zaczynał od wybranego punktu.</p>



<p><br /><br /><br /></p>



<p>Warto korzystać z takich narzędzi jak np. Spark, rage, czyli coś co jedno zadanie rozbije na wiele maszyn i potem złoży nam wynik w całość. Bez tego takie obliczenia trwają bardzo długo, ale też można sobie jakoś z tym radzić przykładowo poprzez aproksymację. Można ściągnąć jakiś fragment danych np. 5% i drugie 5% danych, sprawdzić, czy te dwa podzbiory są do siebie podobne i wyciągnąć z nich wnioski, ekstrapolować.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Trzeba utrzymywać porządek w tym wszystkim, czyli mieć określony jeden format nazewnictwa, żeby dana kolumna miała ten sam typ danych, tę samą nazwę w różnych częściach całego systemu. Polecam też korzystanie z binarnego formatu danych, a nie tekstowego, czyli zastąpić csv pakietami danych, bo są bardzo szybkie w odczycie, zapisie. Przechowują typy danych, kolumn, dzięki temu coś, co wystarczy, że jest określone int=8, nie musi być zawsze wczytywane jako int=64. Taki plik mniej zajmuje, a co za tym idzie, są to też mniejsze koszty. To minimalna optymalizacja. Te dane potem dodają się do siebie i to wszystko wpływa na ogólną jakość pracy. Do tego oczywiście duża ilość monitoringu, Grafana &#8211; to już tradycyjne rzeczy.</p>



<p><br /><br /></p>



<p><strong>Warto zwrócić uwagę na rolę data engineeringu. To mocno wybrzmiało w Twojej wypowiedzi &#8211; cała infrastruktura danymi jest ogromnie ważna. To jest samo w sobie wyzwaniem, żeby stworzyć dobrą infrastrukturę, bo nie zawsze wiadomo, co tak naprawdę jest potrzebne. Często są stawiane hipotezy, w szczególności w startupach, które dopiero się rozwijają i różnie to może być. Dzisiaj biznes jest taki, jutro może być zupełnie inny. Wyzwań tu jest dość dużo, ale faktycznie ustabilizowanie infrastruktury umożliwia szybszy wzrost. Mówiliśmy o miliardach smartfonów i ambicjach na 2 miliardy smartfonów oraz ponad 10 mln sklepów (rok 2022). Mamy połowę 2021 roku, więc już nie tak dużo czasu zostało. Widać, że apetyt jest duży, więc ta infrastruktura musi być też skalowalna.&nbsp;</strong></p>



<p><br /><br /><br /></p>



<p>To prawda. Mierzymy wysoko i to jest prawda, że jak zaczynałem pracę w Cosmose, to były obawy dotyczące tego, jak my to wszystko wyskalujemy. Potrzeba było ludzi z dużym doświadczeniem, żeby to wszystko ugryźć całkowicie inaczej.<br /><br /><br /><br /></p>



<p><strong>Cosmose mi się kojarzy przede wszystkim z Chinami, bo tam zaczynaliście. Teraz poszerzyliście obszar działalności, do czego jeszcze wrócimy. Ale zacznijmy od Chin. W Polsce, w Europie mało się wie o Chinach i to nie jest przypadek, bo Chiny działają w taki sposób, jeżeli chodzi o infrastrukturę, że chętnie przejmują wszystkie dane, ale żadnych nie wypuszczają na zewnątrz. Masz może jakieś ciekawostki dotyczące współpracy w Chinach. Co Cię najbardziej zaskakuje? Jak to jest zorganizowane?&nbsp;</strong></p>



<p><br /><br /><br /><br /></p>



<p>Pierwszą rzeczą jest to, że Chiny chcą wszystkie dane mieć u siebie. Jeżeli chcemy robić jakiś biznes w Chinach, to nasze serwery czy Google Cloudowe czy AWS&#8217;owe muszą leżeć w Chinach i dane faktycznie muszą być w Chinach. Ponadto niektórzy data vendorzy nie dają czasami bezpośredniego dostępu do danych w ten sposób, że po prostu wysyłają plik, który leci zza Wielkiego Muru, ale logujesz się na jakiś <em>remote </em>komputer i wykonujesz pracę na komputerze, który fizycznie jest w Chinach. Takie rzeczy też mogą być uciążliwe.&nbsp;</p>



<p><br /><br /><br /></p>



<p><strong>Ciekawy jestem skali. Te miliardy smartfonów to są w większości z Chin czy przez to, że są zanonimizowane, to tego nie wiecie?&nbsp;</strong></p>



<p><br /><br /></p>



<p>To nie są tylko smartfony z Chin, bo Cosmose nie działa tylko w Chinach, ale też aktywnie teraz działamy w Japonii i Malezji, co można przeczytać na naszych blogach. Dane telefonów to są często turyści, którzy wjeżdżają, przejeżdżają przez dany teren, więc to nie są tylko dane chińskie.&nbsp;</p>



<p><br /><br /><br /><br /></p>



<p><strong>Nie chodziło mi o to, że to są Chińczycy, tylko bardziej skala ludzi. Ciężko w Europie znaleźć informacje o miliardach smartfonów w samej Europie, bo tutaj maksymalnie się mierzy w milionach. Mniej ludzi tu mieszka, a w krajach azjatyckich jest większa populacja i z definicji wszystko jest o zauważalnie większe.&nbsp;</strong></p>



<p><br /><br /><br /></p>



<p><strong>Zaczęliście w Chinach, ale już pojawiły się kolejne rynki. Jak wyglądał proces wchodzenia do nowych krajów i co jest w planach?&nbsp;</strong></p>



<p><br /><br /><br /></p>



<p>Nasza technologia początkowo miała zastosowanie tylko w Chinach, ale im więksi się stawaliśmy, im więcej dużych firm zaczęło chcieć z nami rozmawiać, tym łatwiej było też zwrócić uwagę innych graczy zagranicznych. Żeby do tego doszło, musieliśmy udowodnić, że nasza technologia działa. Odbywały się międzynarodowe dema dla innych, potencjalnych partnerów, klientów za granicą i to się wszystko nadal dzieje. Więcej nie mogę zdradzić. Na chwilę obecną Japonia i Malezja to są miejsca, w których świadczymy także usługi.</p>



<p><br /><br /><br /></p>



<p><strong>Specjalista uczenia maszynowego musi posiadać przede wszystkim umiejętności techniczne, żeby umieć rozwiązywać problemy, zakodować, ale na koniec dnia też powinien umieć sprzedać ten model. Sprzedać w sensie umieć obronić swoje pomysły, odpowiednio je zaprezentować, ewentualnie skonfrontować, pokazać najmocniejsze strony itd. Tutaj jest wiele różnych trudności, wyzwań.&nbsp;</strong></p>



<p><br /><br /></p>



<p><strong>Brałeś udział już w różnych spotkaniach. Jak najlepiej się przygotowywać do takich spotkań albo jak nastawić swoje myślenie, aby odnosić większe sukcesy przy uczeniu maszynowym?&nbsp;</strong></p>



<p><br /><br /></p>



<p>Umiejętność prezentacji własnej pracy jest bardzo ważna. Nie tylko też przed inwestorami, ale także na co dzień w pracy, kiedy komunikujemy wyniki naszej pracy albo mamy jakiś pomysł i chcemy, żeby on się przebił.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Trzeba sobie wpierw zadać pytanie: jakiego rozwiązania chce klient? Jaki jest problem i co chce rozwiązać? Wychodzić z tej perspektywy właśnie, żeby nie po prostu pokazać mu: mamy model i on działa tak i tak, tutaj są wykresy i liczba jego dokładności jest taka, bo to jest coś negatywnego, tylko chcielibyśmy mówić to, co ta osoba chce usłyszeć. Konkretnie co my przy pomocy danego modelu jesteśmy w stanie zrobić, jaki jego problem jesteśmy w stanie rozwiązać. Musimy koniecznie zmuszać go, żeby sobie wyobrażał, co przy pomocy tego modelu będzie mógł osiągnąć. Możemy mu to po prostu wprost przedstawić na tacy i to jest chyba bardzo efektywna rada moim zdaniem.</p>



<p><br /><br /><br /></p>



<p>Druga rzecz to, żeby pokazując model, nie mówić za bardzo, na ile on jest dokładny, pokazywać wykresy, a bardziej zrobić to w sposób interaktywny, może trochę zabawowo. To też dobrze działa na co dzień w pracy w firmie, kiedy zamiast powiedzieć: zbudowałem model i on ma takie i takie takie właściwości, to np. zakodujemy do tego jakiś prosty front-end, który pozwala osobie wejść w interakcję i samemu sprawdzić, jak ten model się zachowuje i czy wrażenia z pracy z nim są dobre czy nie.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Polecałbym, żeby mieć interaktywne demo, które klient może sam dotknąć. Żeby nie był za ścianą prezentacji, tylko mógł też mieć wpływ na to, co chcemy mu pokazać, żeby mógł powiedzieć: &#8222;zróbcie teraz to&#8221; i zobaczyć, jak ten model się zachowuje.&nbsp;</p>



<p><br /><br /><br /></p>



<p>W naszym przypadku to dobrze zadziałało. Podczas jednego spotkania klient zapytał, czy jesteśmy w stanie zbudować na miejscu, podczas dema nowy model z danych z jakiegoś miejsca. My po prostu zebraliśmy dane na żywo, on poszedł sobie do Starbucksa na kawę, my za paręnaście minut zbudowaliśmy model i on wrócił do zupełnie nowego sklepu i był w stanie zobaczyć logi na telefonie komórkowym, jak ten model się zachowuje, co trackuje i że to działa dokładnie tak, jak to, co mu pokazywaliśmy na demo. </p>



<p><br /><br /><br />To buduje duże zaufanie. Interaktywność tego demo, forma może zabawowa&#8230; niech klient nie będzie tylko osobą słuchającą, lecz biorącą aktywny udział w demo. Druga rzecz to zrozumienie potrzeb i powiedzenie ich na głos.</p>



<p><br /><br /><br /></p>



<p><strong>Interaktywność jest faktycznie bardzo pomocna w wielu obszarach. Powiedziałeś o zrozumieniu potrzeb klienta i przypomniała mi się historia, jak kiedyś pracowałem w korporacji, to było zrozumiałe, że trzeba zrozumieć, co chce klient, jego potrzeby. W sumie każdy to rozumie, ale de facto jak sobie analizowałem, co się działo później, to każdy i tak robił swoje. Trzeba faktycznie zrozumieć, co boli danego klienta, bo dopiero wtedy on będzie chciał słuchać. Wtedy przykujemy realnie jego uwagę.&nbsp;</strong></p>



<p><br /><br /><br /></p>



<p><strong>Co powinno się stać, że uznajemy, że zrozumieliśmy problem klienta? W jaki sposób rozpoznawać, że to zrozumieliśmy? To pytanie zwykle pobudza wyobraźnię. Czy możemy wprowadzić jakieś kryteria, żeby zmierzyć czy rzeczywiście już to zrozumieliśmy?&nbsp;</strong></p>



<p><br /><br /><br /></p>



<p><strong>Wracając do Japonii, jest tu ciekawa historia. Opowiedz, co się za nią kryje.&nbsp;</strong></p>



<p><br /><br /></p>



<p>W moim wypadku to zadziałało tak, że interesuję się Japonią holistycznie. Uczę się też języka japońskiego i kiedy poszedłem na studia, na pierwszym roku przeczytałem na stronie głównej Akademii Górniczo-Hutniczej, że jest organizowany coroczny wyjazd, taka aplikacja na program Vulcanus in Japan. </p>



<p><br /><br /><br />To jest program kooperacji Unii Europejskiej i Japonii, który wysyła co roku od 20 do 50 inżynierów po to, żeby nauczyli się pracować po japońsku. W ramach takiego programu mamy 4 miesiące szkoły językowej codziennie po około 6 godzin, a potem 8 miesięcy praktyk w jednej z firm, która zdecydowała się wziąć udział w programie i wystawić jakiś projekt. Ja dopiero od 3 roku studiów miałem możliwość starać o to. Za trzecim razem mi się udało. Na 5 roku pojechałem. Dostałem pozycję w firmie NTT i to był cały dział, cały budynek, który zajmował się machine learningiem, którym dzisiaj się zajmuję, ale wtedy mnie to aż tak nie interesowało.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Zajmowałem się tam inteligentnym pokojem, który miał analizować emocje rozmówców. Ja dodawałem do tego obsługę dźwięku. Programowałem wtedy w języku C, a był taki problem, że stało paręnaście mikrofonów obok siebie i miałem na zadanie wdrożyć algorytm, który rozpoznaje, która osoba w danej chwili mówi, z którego mikrofonu (dźwięk się rozchodzi po wszystkich mikrofonach), która osoba jest tą główną mówiącą. </p>



<p><br /><br /><br />Spędziłem tam cały rok i to jest prawdopodobnie jeden z najciekawszych okresów mojego życia. Jak wspominałeś, potem tak się złożyło, że Cosmose zaczął też współpracować z jedną z firm z Japonii i trzeba było pokazać, udowodnić, że nasze rozwiązania działają. Miałem okazję pojechać i użyć w praktyce tego wszystkiego, czego się nauczyłem 6 lat wcześniej.</p>



<p><br /><br /></p>



<p><strong>Dlatego warto rozwijać swoje zainteresowania, bo nigdy nie wiemy, kiedy i jak może nam się to przydać.&nbsp;</strong></p>



<h2 class="wp-block-heading"><br /><br />Machine Learning &#8211; od czego zaczać? <br /></h2>



<p><br /><br /><strong>Masz może wskazówki dla osób początkujących? Odsyłam oczywiście do prezentacji, którą prowadziłeś na DataWorkshop, gdzie dzieliłeś się doświadczeniami z rekrutacji od strony osoby rekrutującej. Na co powinna zwrócić uwagę osoba początkująca, aby zacząć w praktyce działać w tym obszarze?</strong></p>



<p><br /><br /><br /><br /></p>



<p>Po tej prezentacji parę osób się jeszcze do mnie prywatnie zgłosiło i faktycznie dostały pracę, więc jestem zadowolony, że mogłem komuś pomóc. Jeżeli chodzi o wejście do machine learningu, to tutaj z mojej perspektywy wszystko się cały czas zmienia. W zależności od firmy będziemy potrzebować zupełnie innego <em>skill setu. </em>Coraz częściej np. popularna jest pozycja ML Opsa, gdzie szuka się osób hybrydowych, które umieją trochę programować, trochę robić machine learning. To, do jakiej firmy będzie dana osoba aplikować, może wpłynąć na to, jakich umiejętności będzie ta firma wymagać.<br /><br /></p>



<p><br /><br /><br /><br /></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="Za kulisami rekrutacji w branży Uczenia Maszynowego | Kamil Krzyk | Alumni Day #2" width="960" height="540" src="https://www.youtube.com/embed/2_nY2Z307_Y?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div></figure>



<p><br /><br /><br /><br />Z ogólnych rzeczy trzeba mieć pewne fundamenty ze statystyki i matematyki. Takie dość podstawowe tematy, bo jak uczyć się tych wszystkich algorytmów albo analizować dane, jeżeli nie znamy skrajnie podstawowych pojęć. Na pewno chcemy mieć możliwość używania jednego języka programowania czy to R, czy Python, skryptowego. </p>



<p><br /><br /><br /><br />Coś do pracy z danymi czyli SQL. Jeżeli chodzi o umiejętność Clouda czyli korzystanie z AWS, to jest bardzo mile widziane, bo większość danych jest przechowywanych gdzieś na Google Drive, na S3. Jeżeli chodzi o sam machine learning, to ja jak zaczynałem, bardzo byłem skupiony na tym, żeby doskonale wiedzieć, jak algorytmy działają, ale to w tym wszystkim jednak nie jest chyba najważniejsze, bo jeżeli ma się głowę na karku, to algorytmów można się w dowolnej chwili douczyć, a pracodawca nieważne na jaką pozycję, zawsze będzie szukał osób, które umieją łączyć kropki, kombinować i myśleć, więc takie <em>soft skille </em>są też ważne.</p>



<p><br /><br /><br /></p>



<p>W uczeniu maszynowym ważniejsze niż znajomość wszystkich algorytmów jest zrozumienie jak one działają, bo często się zdarza tak, że musimy wyedytować algorytm, coś zmienić, inną funkcję dystansu mu wrzucić. Warto wiedzieć, jak takie ogólne koncepty działają, jak algorytmy się uczą, spadek gradientu albo czym jest <em>boosting</em>, może podstawy sieci neuronowych &#8211; tego typu rzeczy.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Po co to wszystko robimy? Po co jest machine learning? To jest chyba najważniejsze, bo łatwo jest wrzucić dane w model i potem nic z tym więcej nie zrobić albo jeszcze gorzej &#8211; dać sprzeczną informację, że czegoś się nie da zrobić, a tak naprawdę mieliśmy do tego złe podejście albo zrobić coś bez wiedzy. Czyli umieć określić, jak metryki mierzące efektywność modelu spinają się z biznesem? </p>



<p><br /><br /><br />Czy to, że model ma AUC 0,9, to czy faktycznie jest to spięte z tym, że firma będzie miała z tego zysk, czy może jest odwrotnie? Mój model ma 0,9, a my nie mamy jak tego użyć. Tego typu połączenia są niesamowicie istotne do zrozumienia.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Ja jak zaczynałem, to wpadłem w bardzo dużą pułapkę. Taką, że chciałem niesamowicie ten machine learning robić. Chciałem go robić za wszelką cenę. Wyobrażałem sobie, że machine learning engineer<em> </em>to jest taka osoba, która po prostu rozwiązuje rzeczy uczeniem maszynowym i tyle. Dzisiaj, po tych 3 latach, mam zupełnie odwrotną definicję &#8211; machine learning engineer to jest ta osoba, która ma dostarczyć wartość firmie, a wartością czasami jest usunięcie całego uczenia maszynowego. Jeżeli jesteśmy w stanie coś rozwiązać bez machine learningu, to czemu tego nie zrobić zamiast komplikować nasze systemy?</p>



<p><br /><br /><br /></p>



<p><strong>To są złote słowa, bo właśnie o to chodzi, że w dojrzałym podejściu rozumiesz, że czym prościej coś zrobisz, to tym lepiej będzie i wszyscy na tym zyskają.&nbsp;</strong></p>



<p></p>



<h2 class="wp-block-heading"><br /><br />Przyszłość Machine Learning <br /><br /></h2>



<p></p>



<p><strong>Popatrzmy teraz nieco w przyszłość. Jak myślisz, jakie kamienie milowe przekroczymy za 5, 10 lat w uczeniu maszynowym i co wtedy już osiągniemy?</strong><br /><br /><br /></p>



<p>Ciężko mi powiedzieć, gdzie machine learning dotrze za parę lat. Kiedy ja zaczynałem się uczyć uczenia maszynowego, to dużo osób przychodziło i mówiło, że w roku 2039 będziemy mieli General AI, ale jak zacząłem się tego wszystkiego uczyć, to dzisiaj widzę, że te wszystkie algorytmy mają jeszcze dużo wad, niedoskonałości. </p>



<p><br /><br /><br />Tempo, w jakim to wszystko posuwa się do przodu, wcale nie zachęca do myślenia, że będzie jakiś gigantyczny boom. Nie zmienia to faktu, że wiele rzeczy może się w przyszłości zmienić. Łatwiej mi przewidzieć to, jak branża będzie się zmieniała. Na chwilę obecną bardzo brakuje pozycji ML Opsa, która się niedawno wytworzyła czyli osób, które łączą software engineering z machine learningiem, czyli żeby ten machine learning nie zostawał tylko po stronie R&amp;D. Uważam, że coraz więcej takich zawodów będzie w przyszłości.<br /><br /><br /><br /></p>



<p>Jeżeli chodzi o ciekawostki, wzmianki, to tutaj mam takie spostrzeżenie, że ostatnio mieliśmy boom na tzw. wirtualnych youtuberów. Powstały tzw. Face Rig czyli awatary 3D, które są mapowane na ludzi i bardzo dużo osób teraz streamuje, nie pokazując siebie, tylko pokazując swój awatar. </p>



<p><br /><br /><br />Wiadomo, że takie systemy wizyjne są bardzo często oparte na deep learningu i tu jeszcze jest dużo miejsca na poprawę, a to się bardzo wszystko dobrze rozwija. Widzę to tak, że np. za parę lat ludzie będą w stanie wybrać swój wizerunek w Internecie oraz swój głos i tak naprawdę sami będą mogli zdecydować o tym, jak inni ich postrzegają. To może jest przyszłościowa, rewolucyjna zmiana, ale nie jest to <em>game changer </em>w naszym świecie.</p>



<p><br /><br /><br /></p>



<p>Z innych rzeczy to przykładowo mamy <em>pair programming</em>. Ostatnio chyba GitHub wypuścił program, który rozumie nazwę funkcji, metodę i próbuje nam zaproponować kod. Coraz więcej może się pojawiać takich rozwiązań, gdzie człowiek będzie miał okazję wejść w interakcję, współpracować z uczeniem maszynowym i usprawniać swoją pracę.&nbsp;</p>



<p><br /><br /><br /></p>



<p>Z bardziej niepokojących rzeczy myślę, że na pewno będzie postępował problem fejków, cyberataków, ogólnie bezpieczeństwa. Chyba Rosja zaimplementowała już jakiś AI do rakiet. Kiedyś był taki film o dronach, które były używane do zabijania polityków, oczywiście to była fikcja, ale takie scenariusze mogą coraz bardziej być realne, bo kraje będą też musiały odpowiadać na to, że jeżeli ktoś będzie wdrażał uczenie maszynowe w wojsku, to też tutaj na pewno coś się będzie działo.&nbsp;</p>



<p><br /><br /><br /><br /></p>



<p>Koniecznie pojawi się także coraz więcej regulacji dotyczących uczenia maszynowego. Ludzie coraz bardziej są świadomi, że takie algorytmy istnieją i że mają mniej możliwości decydowania o samym sobie, że są może troszkę inwigilowani, że to, co robią na co dzień, jest analizowane. Nawet ostatnio kolega powiedział, że się nie wyspał, chwilę potem dostał reklamę materaców zdrowotnych do spania. </p>



<p><br /><br /><br />Myślę, że coraz więcej będziemy natrafiać na niezadowolenie społeczne, które będzie prowadzić do wprowadzania reform, zasad chroniących nas przed tym wszystkim, jakieś data privacy. To taki mój skromny pogląd.</p>



<p><br /><br /></p>



<p><strong>Widziałem też, że zamiast zwykłych awatarów będziemy też mieć teraz głos, a być może jakieś postacie 3D. Ciekawy świat.</strong></p>



<p><br /><br /></p>



<p>Syntezatory głosu, które świetnie udają osobę, już są tak naprawdę. Zresztą mieliśmy nieraz jakieś papiery naukowe, publikacje, które dobrze oddawały głos rozmówcy. Rozpowszechnienie tego jest jak najbardziej realne w przyszłości.</p>



<p><br /><br /><br /></p>



<p><strong>Dzięki, Kamil, za dzisiejszą rozmowę. Życzę Ci dalszych sukcesów na polu uczenia maszynowego, rozwijaj się. Myślę, że jeszcze wiele osiągniesz w tym obszarze. Dzięki. Do zobaczenia.</strong></p>



<p><br /><br /><br /></p>



<p>Dzięki wielkie i do usłyszenia.</p>



<p><br /></p>
<p>Artykuł <a href="https://biznesmysli.pl/machine-learning-engineer-kariera-wyzwania-mozliwosci/">Machine Learning Engineer &#8211; kariera, wyzwania, możliwości</a> pochodzi z serwisu <a href="https://biznesmysli.pl">Biznes Myśli</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://biznesmysli.pl/machine-learning-engineer-kariera-wyzwania-mozliwosci/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
