Rozwój projektów AI – jak powinni przygotowywać kierownicy projektów
Opublikowany: 2022-03-11Posłuchaj wersji audio tego artykułu
Jako kierownik projektu prawdopodobnie w swojej karierze zaangażowałeś się w wiele projektów informatycznych, od złożonych struktur monolitycznych po aplikacje internetowe SaaS. Jednak wraz z rozwojem sztucznej inteligencji i uczenia maszynowego nowe projekty o różnych wymaganiach i problemach pojawiają się na horyzoncie w szybkim tempie.
Wraz z rozwojem tych technologii staje się coraz mniej „miło mieć”, a zamiast tego niezbędne jest, aby kierownicy projektów technicznych mieli zdrową relację z tymi koncepcjami. Według Gartnera do 2020 r. sztuczna inteligencja wygeneruje 2,3 mln miejsc pracy, przekraczając 1,8 mln, które usunie, generując 2,9 bln USD wartości biznesowej do 2021 r. Dyrektor generalny Google posuwa się nawet do stwierdzenia, że „sztuczna inteligencja jest jedną z najważniejszych rzeczy ludzkość pracuje. Jest głębszy niż […] elektryczność czy ogień”.
Ponieważ zastosowania sztucznej inteligencji już zakłócają branże, od finansów po opiekę zdrowotną, techniczni menedżerowie, którzy mogą wykorzystać tę okazję, muszą zrozumieć, czym różni się zarządzanie projektami AI i jak najlepiej przygotować się na zmieniający się krajobraz.
Teoria
Co to wszystko oznacza: sztuczna inteligencja kontra ML
Zanim przejdziesz głębiej, ważne jest, aby dobrze zrozumieć, czym naprawdę jest sztuczna inteligencja. Ponieważ wiele różnych terminów często jest używanych zamiennie, zajmijmy się najpierw najczęstszymi definicjami.
Sztuczna inteligencja (AI)
AI to dziedzina informatyki poświęcona rozwiązywaniu problemów, które w innym przypadku wymagają ludzkiej inteligencji — na przykład rozpoznawanie wzorców, uczenie się i uogólnianie.
Termin ten był nadużywany w ostatnich latach na określenie sztucznej inteligencji ogólnej (AGI), która odnosi się do samoświadomych programów komputerowych, zdolnych do prawdziwego poznania. Niemniej jednak większość systemów sztucznej inteligencji w przewidywalnej przyszłości będzie tym, co informatycy nazywają „wąską sztuczną inteligencją”, co oznacza, że zostaną zaprojektowane tak, aby naprawdę dobrze wykonywać jedno zadanie poznawcze, a nie naprawdę „myśleć” za siebie.
Uczenie maszynowe (ML)
Uczenie maszynowe to podzbiór sztucznej inteligencji, który wykorzystuje techniki statystyczne, aby dać komputerom możliwość uczenia się na podstawie danych bez wyraźnego programowania.
AI i ML były w ostatnich latach używane zamiennie przez wiele firm ze względu na sukces niektórych metod uczenia maszynowego w dziedzinie AI. Aby było jasne, uczenie maszynowe oznacza zdolność programu do uczenia się , podczas gdy sztuczna inteligencja obejmuje uczenie się wraz z innymi funkcjami.
Aby dowiedzieć się więcej o sieciach neuronowych i głębokim uczeniu, zapoznaj się z załącznikiem na końcu tego artykułu.
Ważna różnica: sztuczna inteligencja a standardowe algorytmy
Kluczowym wnioskiem AI jest to, że jej algorytmy wykorzystują dużą ilość danych, aby dostosować swoją wewnętrzną strukturę, tak aby po zaprezentowaniu nowych danych zostały one skategoryzowane zgodnie z wcześniej podanymi danymi. Nazywamy to „uczeniem się” na podstawie danych, a nie działaniem zgodnie z instrukcjami kategoryzacji zapisanymi ściśle w kodzie.
Wyobraź sobie, że chcemy napisać program, który potrafi odróżnić samochody od ciężarówek. W tradycyjnym podejściu programistycznym spróbujemy napisać program, który szuka konkretnych, orientacyjnych cech, takich jak większe koła lub dłuższy korpus. Musielibyśmy napisać kod konkretnie określający, jak te funkcje wyglądają i gdzie powinny się znajdować na zdjęciu. Napisanie takiego programu i sprawienie, by działał niezawodnie, jest bardzo trudne, prawdopodobnie przyniesie zarówno fałszywie pozytywne, jak i fałszywie negatywne wyniki, do punktu, w którym może w ogóle nie być użyteczny.
W tym miejscu algorytmy AI stają się bardzo przydatne. Po przeszkoleniu algorytmu sztucznej inteligencji możemy pokazać mu wiele przykładów i dostosowuje swoją wewnętrzną strukturę, aby rozpocząć wykrywanie cech istotnych dla pomyślnej klasyfikacji zdjęć, zamiast polegać na statycznych, przepisanych definicjach cech.
Zarządzanie projektami AI w praktyce
Dane są królem
Ludzie nie są świetni w radzeniu sobie z dużymi ilościami danych, a sama ilość dostępnych nam danych czasami uniemożliwia nam ich bezpośrednie wykorzystanie. Tu właśnie wkraczają systemy AI.
Bardzo podstawową koncepcją dotyczącą systemów AI jest to, że ich przewidywania są tak dobre, jak ich dane. Na przykład algorytm z milionem punktów danych przewyższa ten sam algorytm z 10 000 punktów danych. Co więcej, BCG informuje, że „wiele firm nie rozumie znaczenia danych i szkoleń dla sukcesu AI. Często lepsze dane mają większe znaczenie dla zbudowania inteligentnego systemu niż lepsze nagie algorytmy, podobnie jak wychowanie często przeważa nad naturą u ludzi”.
Dzięki tej wiedzy przygotowywanie i czyszczenie danych stanie się czymś, co stanie się bardziej powszechne w procesie projektowym. Ten krok jest często najbardziej pracochłonną częścią budowania systemu AI, ponieważ większość firm nie ma gotowych danych w poprawnych formatach — dlatego wykonanie tego niezbędnego kroku analitykom danych może zająć trochę czasu.
Ponadto konfiguracja infrastruktury danych i zadania czyszczenia danych są znacznie bardziej liniowe niż zwykle tworzenie oprogramowania i mogą wymagać innej metodologii zarządzania projektami.
Podsumowując, zbudowanie odpowiedniej infrastruktury danych i przygotowanie danych do użycia może zająć znacznie więcej czasu niż zbudowanie modelu uczenia maszynowego do uruchamiania danych. Jest to ważna kwestia dla kierowników projektów, którzy zarządzają zespołami i myślą o zakresie AI i szacunkach projektów.
Ponadto zbiór danych powinien być stale aktualizowany o nowe dane. Dostęp do unikalnych zbiorów danych może być głównym czynnikiem decydującym o tym, który produkt ML jest najbardziej skuteczny. Niezwykle ważne jest, aby być na bieżąco, aby osiągnąć najlepszą możliwą wydajność projektu ML, nawet po uruchomieniu.
Cykl rozwoju AI
Większość z Was będzie zaznajomiona ze standardowym cyklem rozwoju systemów (SDLC) oraz z tym, jak kształtują go różne metodologie i technologie. Należy zauważyć, że rozwój sztucznej inteligencji przyniesie nowy zestaw wyzwań w tej dziedzinie. Możemy podzielić cykl rozwoju AI na następujące etapy: tworzenie pomysłów i odkrywanie danych, ustalanie priorytetów MVP i rozwijanie MVP w pełnoprawne produkty.
Pomysły i odkrywanie danych
Na tym pierwszym etapie należy skupić się na dwóch kluczowych rzeczach: użytkownik końcowy produktu ML oraz dostępne pule danych.
Podchodząc do problemu z dwóch niezależnych stron, techniki te mogą pomóc kierownikowi projektu szybko zawęzić możliwości produktów ML dostępne w firmie. Podczas tej fazy najlepsi PM mogą korzystać ze swojej wiedzy na temat przestrzeni uczenia maszynowego, aby lepiej zrozumieć trudność, z jaką można rozwiązać określone problemy. W dziedzinie uczenia maszynowego sprawy toczą się bardzo szybko, a niektóre trudne problemy można znacznie ułatwić dzięki nowym osiągnięciom w badaniach.
Jak wcześniej wspomniano, po wykryciu danych należy je wyczyścić i przygotować. To konkretne zadanie jest zwykle wykonywane w krokach liniowych, które nie pasują idealnie do typowych metodologii projektów, takich jak Agile lub Waterfall, chociaż można je zmusić do sprintów. Zazwyczaj czyszczenie danych odbywa się iteracyjnie, stopniowo zwiększając rozmiar zestawów danych i przygotowując je równolegle z innymi działaniami programistycznymi.
Priorytetyzacja minimalnego opłacalnego produktu (MVP)
Prawda, że lepiej mieć działający prototyp mniejszego produktu niż niedokończonego dużego produktu, nadal obowiązuje w przypadku produktów do uczenia maszynowego. Nowe MVP ML powinny być traktowane priorytetowo w oparciu o szybkość dostawy i ich wartość dla firmy. Jeśli potrafisz szybko dostarczać produkty, nawet te, które mogą być mniejsze, może to być dobra, szybka wygrana dla całego zespołu – powinieneś najpierw nadać tym produktom priorytety.
Przygotowanie tych MVP w klasyczny sposób Agile to dobry pomysł, a zespół programistów powinien skoncentrować się na dostarczaniu modeli ML w oparciu o stale ulepszane zestawy danych przygotowywane niezależnie przez zespół danych. Ważnym rozróżnieniem jest tutaj to, że zespół danych niekoniecznie musi pracować w tej samej strukturze Sprint, co zespół budujący MVP .
MVP do pełnoprawnego produktu
Na tym etapie infrastruktura danych staje się kluczowa. Jeśli Twój produkt ML wymaga dostępu do interfejsu API o wysokiej częstotliwości z całego świata, powinieneś teraz zastanowić się, w jaki sposób możesz skalować infrastrukturę w celu obsługi produktu ML.
W tym miejscu należy dokładnie ocenić zmiany w modułach ML, aby uniknąć pogorszenia wydajności obecnego produktu. Ponowne szkolenie modułów ML za pomocą nowych algorytmów lub zestawów danych nie zawsze przynosi liniowy wzrost wydajności — dlatego przed wdrożeniem na żywo wymagana jest znaczna ilość testów. Testowanie modułów ML pod kątem przypadków brzegowych i potencjalnych generatywnych ataków na sieć adwersarzy (GAN) są wciąż w powijakach, ale z pewnością menedżerowie projektów powinni o tym pamiętać podczas uruchamiania działającego produktu ML.
Kluczowe role w cyklu rozwoju AI
Wymagania związane z tworzeniem aplikacji ML związane z dużą ilością danych wprowadzają nowe role do SDLC produktów AI. Aby być świetnym kierownikiem projektów w dziedzinie aplikacji ML, musisz być dobrze zaznajomiony z następującymi trzema rolami: naukowcami danych, inżynierami danych i inżynierami infrastruktury. Chociaż czasami występują pod innymi tytułami, w tym inżynierami uczenia maszynowego, inżynierami infrastruktury uczenia maszynowego lub naukowcami uczenia maszynowego, ważne jest, aby dobrze zrozumieć te kluczowe stanowiska i ich wpływ na proces rozwoju ML.
Naukowiec ds. danych
Analitycy danych to osoby, które tworzą modele uczenia maszynowego. Syntetyzują pomysły oparte na głębokim zrozumieniu stosowanych statystyk, uczenia maszynowego i analiz, a następnie wykorzystują swoje spostrzeżenia do rozwiązywania rzeczywistych problemów biznesowych.
Analitycy danych są czasami postrzegani jako zaawansowane wersje analityków danych. Analitycy danych mają jednak zwykle duże umiejętności programistyczne, swobodnie przetwarzają duże ilości danych, które obejmują różne centra danych, i mają doświadczenie w uczeniu maszynowym.
Oczekuje się również, że będą dobrze rozumieć infrastruktury danych i eksplorację dużych zbiorów danych, a także będą w stanie samodzielnie wykonywać ćwiczenia eksploracyjne, patrząc na dane i znajdując w nich wstępne wskazówki i spostrzeżenia.
Podstawowe umiejętności: Python, R, Scala, Apache Spark, Hadoop, Uczenie maszynowe, Uczenie głębokie, Statystyka, Analiza danych, Jupyter, RStudio
Inżynier danych
Inżynierowie danych to inżynierowie oprogramowania, którzy specjalizują się w budowaniu oprogramowania i infrastruktury wymaganej do działania produktów ML. Zwykle koncentrują się na nadrzędnej architekturze i chociaż mogą nie być ekspertami w dziedzinie uczenia maszynowego, analityki lub big data, powinni dobrze rozumieć te tematy, aby testować swoje oprogramowanie i infrastrukturę. Jest to niezbędne, aby modele uczenia maszynowego stworzone przez data scientist mogły zostać pomyślnie zaimplementowane i wystawione w świecie rzeczywistym.
Podstawowe umiejętności: Python, Hadoop, MapReduce, Hive, Pig, strumieniowe przesyłanie danych, NoSQL, SQL, programowanie, DashDB, MySQL, MongoDB, Cassandra
Inżynier Infrastruktury
Inżynierowie infrastruktury dbają o szkielet produktów ML: warstwę infrastruktury. Chociaż inżynierowie danych mogą budować część tej infrastruktury, często jest ona budowana na warstwie przygotowanej i uzgodnionej przez zespół ds. infrastruktury.
Inżynierowie infrastruktury mogą pracować w wielu zespołach ML w celu stworzenia skalowalnego i wydajnego środowiska, w którym aplikacje ML mogą być skalowane do obsługi milionów użytkowników. Inżynierowie infrastruktury nie tylko dbają o poziom oprogramowania platform, ale także koordynują współpracę z partnerami centrum danych, aby zapewnić, że wszystko działa płynnie, od lokalizacji geograficznej hostowanych danych po sprzęt. Ponieważ aspekty te zyskują na znaczeniu w projektach ML, inżynierowie infrastruktury stają się coraz ważniejsi w firmach wykorzystujących sztuczną inteligencję.
Podstawowe umiejętności: Kubernetes, Mesos, EKS, GKE, Hadoop, Spark, HDFS, CEPH, AWS, przetwarzanie w chmurze, operacje w centrach danych, kompleksowa infrastruktura obliczeniowa, infrastruktura IT, zarządzanie usługami
Wspólne wyzwania dzisiaj
Wraz z pojawieniem się produktów opartych na AI i ML, oczekuje się, że kierownicy projektów napotkają zarówno znane, jak i całkowicie obce wyzwania. Najlepsi dyrektorzy zarządzający doskonale zdają sobie sprawę z tych potencjalnych problemów przez cały proces, od określenia zakresu projektów do zakończenia.
Sprawdzenie autentyczności
Pomimo popularności i obietnic AI, istnieje duża szansa, że problem, który próbujesz rozwiązać, nie wymaga skomplikowanego rozwiązania AI .
Wiele problemów predykcyjnych można rozwiązać za pomocą prostszych, aw niektórych przypadkach bardziej wiarygodnych modeli regresji statystycznej. Bardzo ważne jest, aby kierownik projektu przeprowadził kontrolę poprawności przed rozpoczęciem projektu, aby upewnić się, że problem naprawdę wymaga uczenia maszynowego.
Czasami rozsądnie jest zacząć od prostszego modelu statystycznego i poruszać się równolegle z rozwiązaniem opartym na uczeniu maszynowym. Na przykład, jeśli tworzysz aparat rekomendacji, rozsądnym rozwiązaniem może być rozpoczęcie od prostszego rozwiązania z szybszym cyklem rozwoju, zapewniając dobry punkt odniesienia, który powinien być lepszy od kolejnego modelu ML.

Pełzanie zakresu AI
Najczęstsze przyczyny pełzania zakresu w projektach ML są związane z próbą wykonania zbyt wielu rzeczy naraz i niedoszacowaniem wysiłku potrzebnego do przygotowania danych .
Aby rozwiązać pierwszy problem, zarządzaj interesariuszami, aby zrozumieli, że lepiej zacząć od szybkich wygranych, a nie wielkich planów. Komunikuj to podejście w sposób ciągły przez cały projekt, podczas tworzenia i testowania.
Zacznij od małych, atomowych cech, które można łatwo zdefiniować i przetestować. Jeśli napotkasz złożone zadanie, spróbuj podzielić je na prostsze zadania, które są dobrymi zastępcami dla Twojego głównego zadania. Powinno być łatwe zakomunikowanie, co te zadania mają na celu osiągnąć.
Na przykład, jeśli próbujesz przewidzieć, kiedy użytkownik kliknie określoną reklamę, możesz najpierw spróbować przewidzieć, czy użytkownik całkowicie odrzuci reklamę. W tym podejściu problem jest uproszczony i może być lepiej uwzględniany i przewidywany przez obecne modele ML. Facebook stworzył świetną serię, która zagłębia się w ten temat, koncentrując się bardziej na potoku ML od momentu powstania do dostarczenia modelu.
Aby zająć się drugim kontrybutorem w zakresie pełzania zakresu, upewnij się, że jesteś w stanie przygotować dane do obsługi projektów ML. Po prostu założenie, że masz potrzebne dane w wymaganym formacie, jest najczęstszym błędem, jaki popełniają menedżerowie projektów, dopiero rozpoczynając pracę z projektami ML. Ponieważ przygotowanie i czyszczenie danych często jest dłuższym elementem procesu projektu ML, zarządzanie tym etapem jest niezbędne. Upewnij się, że Twój analityk danych ma dostęp do właściwych danych i może sprawdzić ich jakość i poprawność, zanim wymyślą funkcje ML, które chcą zbudować.
Przygotuj się do etykietowania i czyszczenia danych jako ciągłego ćwiczenia w całym projekcie, a nie tylko jako inicjator, ponieważ projekt zawsze może czerpać korzyści z lepszych i większej ilości danych. Ponieważ ten krok nie jest najbardziej urzekającym zadaniem, podziel tę pracę na sprinty, aby zespół ds. danych mógł poczuć postęp swoich wysiłków, zamiast zmagać się z niekończącymi się zaległościami w biletach.
Czasami firmy zlecają etykietowanie danych stronom trzecim. Chociaż może to pomóc zaoszczędzić czas i koszty początkowe, może również generować niewiarygodne dane, ostatecznie utrudniając powodzenie modelu ML. Aby tego uniknąć, użyj techniki wielokrotnego nakładania, w której każdy element danych jest sprawdzany przez wiele stron i używany tylko wtedy, gdy ich wyniki są zgodne.
Planując projekt, poświęć wystarczająco dużo czasu, aby zespół ds. danych mógł wprowadzić poprawki w przypadku zmiany wymagań dotyczących etykietowania w trakcie projektu i konieczności ponownego etykietowania.
Na koniec sprawdź, czy Twoje dane można łatwo wykorzystać z istniejącymi metodami ML, zamiast wymyślać nowe metody ML, ponieważ rozpoczęcie od zera może drastycznie zwiększyć czas i zakres projektu. Pamiętaj, że jeśli próbujesz rozwiązać problem ML, który nie został jeszcze rozwiązany, istnieje duża szansa, że Ci się nie uda. Pomimo sukcesu uczenia maszynowego i liczby opublikowanych artykułów naukowych, rozwiązywanie problemów związanych z ML może być bardzo trudnym przedsięwzięciem. Zawsze najłatwiej jest zacząć od obszaru uczenia maszynowego, który ma wiele dobrych przykładów i algorytmów, i spróbować go ulepszyć, zamiast próbować wymyślać coś nowego.
Uczenie maszynowe, oczekiwania i UX
Każdy dyrektor zarządzający powinien być gotowy do zastanowienia się nad wrażeniami użytkowników tworzonych przez siebie produktów AI i jak najlepiej zarządzać zespołem, który je buduje. Google napisał świetny artykuł o swoim sposobie myślenia o UX i AI, kładąc nacisk na interakcję z ludźmi.
Ten punkt jest szczególnie ważny, jeśli Twój produkt ML musi wchodzić w interakcje z operatorami lub nawet zostać przez nich zastąpiony. Projekt powinien zapewniać minimalną konieczną ilość stresu operatorom i użytkownikom systemu. Na przykład chatboty często opierają się na uczeniu maszynowym, ale mogą bezproblemowo zostać przejęte przez operatora.
Istnieje również możliwość, że interesariusze mogą oczekiwać znacznie więcej od produktów uczenia maszynowego niż tego, co mogą dostarczyć. Zwykle jest to problem wynikający z szumu medialnego przy pisaniu o produktach AI, dlatego ważne jest, aby kierownik projektu stawiał sobie rozsądne oczekiwania.
Pamiętaj, aby wyjaśnić, czym tak naprawdę jest narzędzie AI i jakie może osiągnąć interesariuszy, aby móc wystarczająco dobrze zarządzać ich oczekiwaniami, zanim przetestują narzędzie. Dobry UX jest świetny, ale nie może zapewnić wartości użytkownikom z nierealistycznymi oczekiwaniami, dlatego ważne jest, aby każdy zaangażowany kierownik projektu mógł nimi zarządzać i edukować swoich interesariuszy na temat sztucznej inteligencji i jej realistycznych możliwości.
Zapewnienie jakości (QA) i praktyki testowania w ML
AI w obecnej formie jest stosunkowo nową dziedziną. Nigdy wcześniej nie było tak wielu aplikacji wykorzystujących głębokie uczenie do osiągnięcia swoich celów. Te nowe rozwiązania wiążą się z własnym zestawem wyzwań, zwłaszcza w testowaniu.
Chociaż stosunkowo łatwo jest przetestować standardowe oprogramowanie, które ma jasny „zestaw reguł” napisany przez ludzi, o wiele trudniej jest wyczerpująco przetestować modele uczenia maszynowego, zwłaszcza te zbudowane przy użyciu sieci neuronowych. Obecnie większość modeli ML jest testowana przez samych naukowców zajmujących się danymi, ale istnieje kilka uzgodnionych metod testowania ze standardowymi zespołami QA, aby zapewnić, że produkty ML nie zawiodą w nieoczekiwany sposób.
Dzięki nowym sposobom manipulowania wynikami znanych modeli, takich jak te ataki GAN, kompleksowe testowanie modeli nabierze jeszcze większego znaczenia. Stanie się to priorytetem dla wielu projektów ML, a w nadchodzących latach zobaczymy więcej testów typu „integracyjnego” dla modeli ML. W przypadku większości prostych projektów może to obecnie nie być namacalnym problemem, ale należy o tym pamiętać, jeśli tworzysz produkt ML o znaczeniu krytycznym.
Kradzież modelu ML i plagiat
Od czasu opublikowania tego artykułu w sieci Wired, a oryginalny artykuł został zaprezentowany na konferencji USENIX Security w 2016 roku, stało się jasne, że istnieje możliwość plagiatowania działającego modelu ML.
Nadal jest to dość trudne do osiągnięcia, ale jeśli masz model działający za pośrednictwem publicznie dostępnego interfejsu API, ważne jest, aby zdawać sobie sprawę z tej możliwości. Teoretycznie strona mająca do niej znaczny dostęp mogłaby wyszkolić własną sieć w oparciu o twoją i skutecznie skopiować twoją zdolność przewidywania.
Jest to nadal dość ograniczone pod względem możliwości, ale pamiętaj, aby współpracować ze swoim zespołem nad strategią zapobiegania możliwym atakom, jeśli stanowi to problem dla Twojego projektu.
Niedobory talentów
Przy obecnym zapotrzebowaniu na światowej klasy ekspertów AI, konkurencja o znalezienie odpowiedniego talentu jest zacięta. W rzeczywistości New York Times donosi, że światowej klasy eksperci AI mogą zarobić nawet milion dolarów rocznie, pracując dla wielkich potęg technologicznych w Dolinie Krzemowej. Jako dyrektor zarządzający, szukając ekspertów AI, którzy dołączą do swojego zespołu, pamiętaj o tych dynamikach, ponieważ mogą one wpływać na Twoje cykle rekrutacyjne, budżet lub jakość wykonanej pracy.
Ten niedobór rozciąga się poza innowacyjne umysły tworzące nowsze algorytmy głębokiego uczenia, a także dotyczy najwyższej jakości inżynierów danych i naukowców.
Wielu najbardziej utalentowanych ludzi bierze udział w konkursach uczenia maszynowego, takich jak Kaggle, gdzie mogą liczyć na wygraną na północ od 100 000 dolarów za rozwiązanie trudnych problemów z uczeniem maszynowym. Jeśli trudno jest zatrudnić ekspertów ML lokalnie, rozsądnie jest poszukać nieszablonowych rozwiązań, takich jak zdalne zatrudnianie wyspecjalizowanych wykonawców lub prowadzenie własnego konkursu Kaggle w przypadku najtrudniejszych problemów ML.
Wyzwania prawne i etyczne
Wyzwania prawne i etyczne związane ze sztuczną inteligencją w zarządzaniu projektami są dwojakie.
Pierwszy zestaw wyzwań wynika z danych wykorzystywanych do trenowania modeli ML. Niezbędne jest zrozumienie, skąd pochodzą dane, z których korzystasz, a w szczególności, czy masz prawa do ich wykorzystywania oraz licencje, które umożliwiają korzystanie z danych.
Zawsze ważne jest, aby skonsultować się z prawnikami, aby rozwiązać takie pytania przed wdrożeniem modelu wyszkolonego na danych, dla których możesz nie mieć odpowiedniego typu licencji. Ponieważ jest to stosunkowo nowa dziedzina, wiele z tych odpowiedzi nie jest jasnych, ale PM powinni upewnić się, że ich zespoły korzystają tylko z zestawów danych, do których mają prawa.
Oto dobra lista publicznie dostępnych zestawów danych do trenowania algorytmów ML.
Drugi zestaw wyzwań polega na upewnieniu się, że twój system nie rozwija systematycznych uprzedzeń. W ostatnich latach zdarzały się liczne przypadki takich problemów, w których pewna firma produkująca aparaty musiała przyznać, że jej technologia rozpoznawania uśmiechu wykrywa tylko osoby określonej rasy, ponieważ została przeszkolona tylko na danych zawierających twarze tej rasy. Inny przykład pochodzi od dużej firmy programistycznej, która musiała wycofać swojego samouczącego się bota na Twitterze po kilku dniach nauki, ponieważ wspólny wysiłek grupy trolli internetowych sprawił, że produkował rasistowskie obelgi i powtarzał dzikie spiski.
Stopień tych problemów może być niewielki lub niszczący projekt, więc tworząc systemy krytyczne, PM powinni upewnić się, że biorą pod uwagę takie możliwości i jak najwcześniej im zapobiegać.
Dobre fundamenty prowadzą do silnych struktur
Podsumowując, zbliżająca się rewolucja AI przynosi zestaw interesujących, dynamicznych projektów, które często wiążą się ze zmodyfikowanym procesem rozwoju, innym archetypem zespołu i nowymi wyzwaniami.
Najlepsi kierownicy projektów technicznych mają nie tylko dobre zrozumienie podstaw sztucznej inteligencji, ale także intuicję dotyczącą trudności każdego etapu projektu i tego, co naprawdę można stworzyć ze swoim zespołem. Ponieważ sztuczna inteligencja nie jest komercyjnym rozwiązaniem z półki (COTS), nawet firmy, które zdecydują się na zakup niektórych produktów ML, nadal będą musiały inwestować w testowanie nowych rzeczy i prawidłowe zarządzanie swoimi danymi i infrastrukturą.
Oczywiste jest, że wraz z pojawieniem się sztucznej inteligencji zmieniają się rodzaje oprogramowania i procesy ich tworzenia. Menedżerowie projektów, którzy są w stanie uchwycić i wdrożyć te nowe koncepcje, będą kluczowymi graczami w tworzeniu przyszłych produktów uczenia maszynowego.
Dodatkowe materiały od autora
Dodatkowa teoria: DL i NN
Oprócz bardziej powszechnego określenia sztucznej inteligencji (AI) i uczenia maszynowego (ML), kierownicy projektów mogą skorzystać na świadomości dalszego rozróżniania głębokiego uczenia (DL) i sieci neuronowych (NN).
Głębokie uczenie (DL)
Głębokie uczenie jest częścią szerszej rodziny metod uczenia maszynowego opartych na uczących się reprezentacjach danych, w przeciwieństwie do klasycznych algorytmów zadaniowych.
Większość nowoczesnych modeli uczenia głębokiego opiera się na sztucznej sieci neuronowej, chociaż mogą wykorzystywać różne inne metody.
Sieci neuronowe (NN)
Sieci neuronowe to inspirowane biologicznie, połączone struktury matematyczne, które umożliwiają systemom sztucznej inteligencji uczenie się na podstawie prezentowanych im danych.
Możemy sobie wyobrazić te sieci jako miliony małych bramek, które otwierają się lub zamykają, w zależności od wprowadzanych przez nas danych. Sukces tych technik był możliwy dzięki wzrostowi mocy obliczeniowej GPU w ostatnich latach, co pozwoliło nam na szybkie dostosowanie większej liczby „małych bramek” w sieciach neuronowych.
Istnieje wiele typów sieci neuronowych, z których każda ma swoje własne specyficzne przypadki użycia i poziom złożoności. Możesz zobaczyć terminy takie jak CNN (konwolucyjna sieć neuronowa) lub RNN (rekurencyjna sieć neuronowa) używane do opisywania różnych typów architektury sieci neuronowej.
Aby lepiej zrozumieć, jak wyglądają i działają, oto świetna wizualizacja 3D pokazująca, jak „wyglądają” sieci neuronowe, gdy są aktywne.
Chcesz dowiedzieć się więcej o sztucznej inteligencji?
Jeśli po przeczytaniu tego chciałbyś zgłębić temat nieco głębiej, polecam zajrzeć do tych źródeł:
Zrozumienie sieci neuronowych
Jeśli chcesz zagłębić się w mechanikę działania sieci neuronowych, proponuję sprawdzić serię 3Blue1Brown o sieciach neuronowych na YouTube. Moim zdaniem jest to zdecydowanie najlepsze dogłębne wyjaśnienie sieci neuronowych. Jest dostarczany w prosty sposób i nie wymaga wcześniejszej wiedzy.
Bądź na bieżąco z wiadomościami AI
Jeśli chcesz być na bieżąco z najnowszymi osiągnięciami technologii sztucznej inteligencji bez spędzania godzin na czytaniu artykułów naukowych, polecam następujące artykuły dwuminutowe. Ten kanał zapewnia cotygodniowe dwuminutowe aktualizacje dotyczące najbardziej imponujących nowych technik sztucznej inteligencji i ich implementacji.
Nauka podstaw rozwoju ML
Jeśli kiedykolwiek będziesz chciał sam bawić się kodem i masz podstawowe umiejętności w języku Python, możesz sprawdzić Fast.ai. Ich kurs pozwala każdemu, kto ma podstawowe umiejętności programistyczne, zacząć eksperymentować i bawić się sieciami neuronowymi.
Podstawy uczenia maszynowego
Ta sugestia jest dla tych, którzy chcą zacząć od samego początku i wspiąć się na szczyt zrozumienia i wdrożenia uczenia maszynowego.
Stworzony przez legendarnego już Andrew Ng, który wraz z tym kursem uruchomił Courserę, wymaga znacznej inwestycji czasu — co najmniej sześciu miesięcy — ale może być niezwykle produktywnym sposobem na spędzenie soboty.
Uwaga: Definicje kluczowych terminów zostały zaadaptowane z Wikipedii.