Agile, Scrum w Data Science / AI Development / Machine Learning

Modele sztucznej inteligencji?
Mocno upraszczając, sztuczną inteligencję wyobrazić sobie można na przykładzie czarnego pudełka z małym gnomem w środku. Inżynierowie data science najpierw uczą gnoma w pudełku – dając mu informacje źródłowe i pokazując jakie powinny być wyniki. Potem inżynierowie pokazują tylko dane źródłowe i gnom ma powiedzieć jaki powinien być wynik.
Praca inżyniera data science polega nie tylko na uczeniu gnoma i testowaniu jak sobie radzi ale też na wybraniu odpowiedniego rodzaju gnoma i jego parametrów.
Wyzwania tworzenia modeli AI
Poza dobieraniem parametrów modelu jego architektury wielkim wyzwaniem są dane do nauki. Ponoć kiedyś się mówiło że „to co na wejściu to na wyjściu”, jeżeli mamy niską jakość danych do nauki to nasz gnom nie będzie bardzo bystrym gnomem – raczej takim co egzamin gimnazjalny po prostu „zdał”. Gdy inżynier dostaje dane od klienta – ponad połowa jego pracy to analiza tych danych, wyłapanie niejasności i poprawienie ich.
Wyobraźcie sobie że klient by chciał mieć takiego sprytnego gnoma który na podstawie faktury zgadnie czy zostanie ona zapłacona w terminie czy nie. Taki klient więc dostarcza archiwalne faktury i dane o tym czy zapłacił czy nie. Problem może się pojawić gdy w pandemicznym 2019 klient zmienił program do faktur i nowe faktury mają dodatkowe pole „koszty dezynfekcji”. Nasz gnom może zauważyć że faktury z takim polem są płacone mocno po terminach (bo podczas pandemii kontrahenci mają problemy z płynnością) i potem będzie mocniej zwracał uwagę na to pole zamiast przykładowo na pole z odbiorcą faktury czy rodzajem sprzedanej usługi.
Celem inżyniera AI jest więc dokładne sprawdzenie danych treningowych (do uczenia gnoma), doklarowanie z klientem zależności, zrozumienie anomalii, często wtedy wymagane jest głębokie zrozumienie procesów biznesowych klienta.
Development w AI…
Mądry inżynier dostaje zatem paczkę danych od klienta, analizuje je, uczy prostego gnoma i sprawdza wyniki nauki, skrzętnie notując kosmicznym ołówkiem w notatniku. Następnie poprawia dane wejściowe, zmienia parametry gnoma, uczy go dłużej i znowu sprawdza wyniki. Tych iteracji jest tak dużo aż gnom jest tak bystry jak potrzebuje tego klient.
.. brzmi jak SCRUM?
Popatrzcie na to co mamy:
- złożony problem w chaotycznym środowisku
- trudne do przewidzenia pivoty
- wiele iteracji
- postawione cele, mierzalne wyniki
- zespół mądrych ludzi w flanelowych koszulach
- skupienie na osiągnięciu rezultatu
Brzmi jak idealny problem do wdrożenia zwinnych metod, prawda?