Przecież to tylko kolejny system rekomendacyjny albo rozpoznawanie przedmiotów na zdjęciach. Rozgarnięty programista zobi to w tydzień bazując na tutorialach z internetu. Jednak czy aby na pewno? W tym artykule przedstawimy 4 argumenty dlaczego potrzebujesz doświadczonego inżyniera ML aby osiągnąć sukces, a nie przepalić budżet.

1. Dane

Często pomijanym lub tłumaczonym bardzo pobieżnie tematem jest zagadnienie wstępnej analizy i przygotowania danych, zanim będą nadawały się do wrzucenia w sieć neuronową lub inny algorytm. Korzystając z dokładnie wyczyszczonych lub analizowanych po raz tysięczny w podręczniku danych autorzy publikacji czy artykułu skupiają się na algorytmie ML, jednak powtórzenie proponowanej procedury przygotowującej zazwyczaj nie ma sensu dla danych, które zbierałeś. Podobnie rzecz ma się z pracami naukowymi, które często wymagają ogromnej pracy w zebraniu i wstępnym przygotowaniu danych, dzięki czemu przedstawiane modele działają bardzo dobrze. Etap ten nie jest jednak zazwyczaj akcentowany. Pamiętaj - jeśli coś działa dobrze na jakimś zbiorze danych, wcale nie oznacza to, że Twój zbiór również będzie pasował. Zrobienie tego poprawnie i nie wpadnięcie na jedną z wielu pułapek wymaga dużej wiedzy.

Samouk w świecie Machine Learningu

2. Wybór modelu

Z wyborem odpowiedniego modelu AI jest jak z kupnem pierwszego samochodu czy budową domu. Zazwyczaj nie jesteśmy ekspertami w tych dziedzinach, ale liczymy, że przecież wszystko znajdziemy w internecie, a jako rozsądne osoby będziemy w stanie porównać i wybrać odpowiednie rozwiązania. Podczas poszukiwań trafiamy jednak na wiele różnych pomysłów i nieraz sprzecznych porad i informacji. W pewnym momencie dochodzimy nawet do wniosku, że w sumie sami nie wiemy czego szukamy i co chcemy zrobić. Pewną pomocą mogą być tutaj systemy autoML, jednak ciągle opracowanie dedykowanego oprogramowania o rozsądnej skuteczności działającego na produkcji wymaga fachowej wiedzy, której nie da się posiąść od tak.

Samouk w świecie Machine Learningu

3. Industrializacja

Tworząc komercyjne rozwiązanie musisz brać pod uwagę wiele czynników. Czy sieć neuronowa będzie działała odpowiednio szybko na milionach rekordów? Czy liczba próbek, którą posiadam wystarczy do nauczenia modelu? Co się stanie gdy liczba użytkowników mojego SaaSa wzrośnie trzykrotnie? Co z opłatami za chmurę w trakcie trenowania, a potem wdrożenia? Dryf danych? Nie słyszałem. Skąd wezmę i przechowam potrzebne dane? O ile nie robisz hobbystycznego projektu, na pewno się spotkasz z tymi pytaniami. A to tylko wybrane problemy, z którymi trzeba sobie poradzić. Jak to często bywa w inżynieri nie ma prostych odpowiedzi, wymagana jest konktretna wiedza i rozbudowana analiza.

4. Testy i produkcja

Kiedy przebrnęliśmy już przez większość procesu tworzenia oprogramowania i wydaje nam się, że oto koniec naszych zmagań przychodzi czas na ten moment - wdrożenie, czyli zderzenie z rzeczywistością. Bardzo często bolesne, jeśli wcześniej nie zadbaliśmy o odpowiednie testowanie i weryfikację, które z uwagi na specyfikę projektów AI, nie zawierają wyłącznie dobrze znanych z klasycznego oprogramowania zagadnień. Oczywiście testowanie nigdy nie da nam pewności braku błędów, jednak bez niego może okazać się, że tańszą opcją jest rozpoczęcie projektu od zera niż szukanie na którym etapie popełniono zaniedbania oraz jak ich złożenie spowodowało porażkę projektu.

Samouk w świecie Machine Learningu

Podsumowanie

W tym krótkim wpisie przybliżyliśmy Wam jakie problemy na każdym etapie rozwoju modelu ML się pojawiają. Oczywiście lista nie jest wyczerpana i wskazuje najpopularniejsze. Jeżeli więc nie jesteś specjalistą od AI i porywasz się na samodzielną realizację, miej na uwadze wymienione wyzwania, z którymi musisz się zmierzyć przechodząc do produkcyjnego tworzenia i wdrażania modeli ML.