Kako nastaje jedan AI proizvod, i zašto je proces zapravo zatvaranje kruga?

Autori članka su Jurica Cerovec, CTO kompanije Microblink iz Zagreba i Matija Ilijaš, Head of Research, Microblink

Veštačka inteligencija (eng. AI – Artificial Inteligence) samo pre nekoliko godina bila je napredan koncept pun potencijala u koji su samo oni najhrabriji zalazili. Danas pak, razvojem modernih tehnologija, govorimo o njenom svakodnevnom prisustvu, bilo da provodimo vreme na Netflixu, naručujemo taxi Uber-om ili čak najjednostavnije komuniciramo s drugima preko Whatsapp-a. 

Različiti oblici AI-ja omogućavaju digitalnim proizvodima bolje korisničko iskustvo i jednostavniju distribuciju, te konačno i veće zadovoljstvo korisnika koje diktira odabir na tržištu,među konkurentima.

Danas oni najhrabriji nisu oni koji primenjuju AI kao deo proizvodnog procesa, već oni kojima su AI i mašinsko učenje način razmišljanja.

Razumevanje ponašanja krajnjih korisnika i promena u načinu poslovanja upravo su ono što je u Microblink-u rezultiralo detaljno razrađenim proizvodnim procesom: od postavljanja problema, do prikupljanja podataka i ‘’učenja’’ neuronskih mreža, do uklapanja novih znanja u gotov proizvod prilagođen za različite platforme i različite potrebe korisnika.

Takav integrirani pristup razvoju AI modela omogućio je veću preciznost, pouzdanost i sigurnost i postavljanje standarda u prepoznavanju teksta sa slika ličnih dokumenata i generičkom prepoznavanju dokumenta, čitanju sadržaja računa ili rešavanju matematičkih zadataka.

Kako izgleda razvojni proces jednog AI proizvoda?

Svaki proizvodni proces počinje odgovaranjem na ključna pitanja: što je uopšte proizvod koji želimo razviti i kako on izgleda iz perspektive korisnika? Kako bi se proizvod mogao modelovati nekim AI pristupom, za njega bi trebalo da postoji skup podataka koji se koristi za istraživanje.

Ovo je često ključni trenutak pri planiranju razvoja novih proizvoda, jer ako ne možemo osigurati kvalitetan skup podataka na kojem bi naš istraživački tim mogao raditi, onda ne možemo optimalno rešiti problem.

Ono što ove skupove podataka čine posebno pogodnim za proces učenja AI modela je dobro razvijena procedura označavanja podataka kojim se bavi Data tim. Za tu je svrhu naš Web tim razvio sistem za označavanje podataka koji interno zovemo MLS (ML System). Kroz njega konstantno poboljšavamo sistem i ubrzavamo ceo proces te imamo maksimalnu kontrolu nad kvalitetom označenih podataka.

Kada research tim preuzme označene podatke vreme je za učenje neuronskih mrežaa zahvaljujući javno dostupnim alatima za učenje poput PyTorch i Tensorflow 2.0 razvijanje prototipa rešenja mašinskog učenja nije zahtevno kao pre nekoliko godina.

Postoje veliki skupovi podataka koji omogućuju vrlo dobre performanse naučenih modela poput MS COCO dataseta za prepoznavanje objekata. No, iako olakšano ne znači da je prikladno za rešavanje specifičnih problema. Potreban je detaljan uvid u proces učenja, ponašanje naučenih modela, kao i svojstva podataka na kojima se uči. 

Veliki se deo vremena i resursa ulažemo upravo u razvijanje sistema za učenje koji nam to omogućuje, cilj je razvijati vlastite različite modele mašinskog učenja specifične za konkretne probleme koje rešavamo, te prilagođavanje modela kako bi dali optimalne performanse za primenu na webu i na mobile platformama. On ujedno i olakšava mobile i web inženjerima integraciju specijalizovanih modela u konačan proizvod.

Razvijanje modela mašinskog učenja takođe je saradnja nekoliko odeljaka pa u ovom delu važnu ulogu ima Tim za alate i infrastrukturu, kojem je jedan od zadataka razvoj specijalizovane komponente za izvođenje neuronskih mreža. Ta komponenta nam omogućuje da modele na mobilnim uređajima integrišemo puno bolje nego da koristimo razne Open source alternative.

Sledeći korak u procesu je integracija modela mašinskog učenja u proizvod pri čemu je potrebno znanje o pravilnoj integraciji u proizvod, ali i iscrpna istraživanja korisničkog iskustva. Bitno je postaviti se u poziciju korisnika i zadovoljiti sve zahteve: brzinu, pouzdanost, sigurnost i optimalnost za sve platforme. Konačnu integraciju modela obavljaju Product Development, te Mobile, Web i Dizajn timovi.

Gotovi proizvod naravno ne bi imao svrhu ukoliko ne dođe do krajnjih korisnika, stoga se proces završava u Sales i Marketing timu koji donosi proizvode na tržište. Ako se sećate na početku teksta, započeli smo s prikupljanjem podataka u ovim timovima – čime primećujete da je proizvodni proces krug i saradnja svih timova, a ključ za uspeh dobra komunikacija unutar organizacije.

Na izrazito konkurentskom tržištu korisnik je onaj koji diktira ko je na vrhu a ko ispada iz tržišne utakmice. Jedini način za kvalitetan proizvod osluškivanje je korisnika i strpljenje u razvoju najoptimalnijeg načina proizvodnje koji se očituje u personalizovanim rešenjima za specifične probleme. Ovakav integrisani pristup razvoja AI proizvoda omogućuje nam da u svakom trenutku vidimo celu sliku u razvoju proizvoda, te da isporučimo najveću vrednost koju možemo. Takav proces razvoja AI proizvoda nije nimalo jednostavan, zahteva vrlo veliku količinu znanja iz software engineeringa, mašinskog učenja, poznavanje UX-a, razumevanje korisnika, te kreativnost i upornost, ali se dugoročno isplati ulagati u ove segmente.

Rezultat će na kraju uvek biti kvalitetniji proizvodi, zadovoljniji korisnici, ali i edukovaniji i motivisaniji timovi.