Izradite prilagođene modele s Azure Designer za strojno učenje

Strojno učenje važan je dio suvremenog razvoja aplikacija, zamjenjujući velik dio onoga što se nekada radilo pomoću složene serije pokretačkih mehanizama, i proširujući pokrivenost na mnogo širi skup problema. Usluge poput Azureovih kognitivnih usluga pružaju unaprijed izgrađene, unaprijed pripremljene modele koji podržavaju mnoge uobičajene slučajeve upotrebe, ali za mnoge druge potreban je prilagođeni razvoj modela.

Idete prema ML-u

Kako da krenemo u izgradnju prilagođenih modela strojnog učenja? Možete započeti s jednog kraja koristeći jezike statističke analize kao što je R za izgradnju i provjeru valjanosti modela, gdje već imate osjećaj za temeljnu strukturu podataka ili možete raditi s značajkama linearne algebre Pythonovog paketa Anaconda. Slično tome, alati poput PyTorch i TensorFlow mogu pomoći u konstruiranju složenijih modela, iskorištavajući prednosti neuronskih mreža i dubokog učenja, a istovremeno se integrirajući s poznatim jezicima i platformama.

To je sve dobro ako imate tim znanstvenika i matematičara koji mogu izraditi, testirati i (što je najvažnije) potvrditi svoje modele. Uz stručnost za strojno učenje koju je teško pronaći, potrebni su alati koji pomažu programerima kroz proces stvaranja modela potrebnih tvrtkama. U praksi se većina modela strojnog učenja dijeli na dvije vrste: prvi identificira slične podatke, drugi identificira udaljene podatke.

Prvu vrstu aplikacije mogli bismo upotrijebiti za identificiranje određenih predmeta na transportnoj traci ili pak potražiti probleme u podacima iz niza industrijskih senzora. Ovakvi scenariji nisu osobito složeni, ali ipak zahtijevaju izgradnju provjerenog modela, osiguravajući da može prepoznati ono što tražite i pronaći signal u podacima, a ne pojačati pretpostavke ili odgovoriti na šum.

Predstavljamo Azure Designer strojnog učenja

Azure nudi razne alate za to, zajedno s unaprijed izgrađenim, unaprijed pripremljenim, prilagodljivim modelima. Jedan, Azure dizajner strojnog učenja, omogućuje vam rad sa postojećim podacima pomoću skupa alata za vizualni dizajn i kontrola povlačenja i ispuštanja.

Za izgradnju svog modela ne trebate pisati kod, iako postoji mogućnost unošenja prilagođenog R ili Pythona gdje je to potrebno. Zamjena je za originalni alat ML Studio, dodajući dublju integraciju u Azure-ove SDK-ove za strojno učenje i s podrškom za više od modela temeljenih na CPU-u, nudeći strojno učenje s GPU-om i automatizirano osposobljavanje i podešavanje modela.

Da biste započeli s Azure Designer Machine Learning dizajnerom, otvorite web mjesto Azure Machine Learning i prijavite se s Azure računom. Započnite povezivanjem s pretplatom i izradom radnog prostora za svoje modele. Čarobnjak za postavljanje traži da navedete imaju li rezultirajući modeli javnu ili privatnu krajnju točku i hoćete li raditi s osjetljivim podacima prije nego što odaberete način upravljanja ključevima. Osjetljivi podaci obrađivat će se u onome što Azure definira kao "radni prostor s velikim poslovnim utjecajem", što smanjuje količinu dijagnostičkih podataka koje je prikupio Microsoft i dodaje dodatne razine šifriranja.

Konfiguriranje radnog prostora strojnog učenja

Nakon što prođete kroz čarobnjaka, Azure provjerava vaše postavke prije stvaranja vašeg radnog prostora ML. Korisno vam nudi ARM predložak kako biste u budućnosti mogli automatizirati postupak stvaranja, pružajući okvir za skripte koje poslovni analitičari mogu koristiti s internog portala kako bi smanjili opterećenje vaših Azure administratora. Razmještanje resursa potrebnih za stvaranje radnog prostora može potrajati, zato budite spremni pričekati neko vrijeme prije nego što počnete graditi bilo koji model.

Vaš radni prostor sadrži alate za razvoj i upravljanje modelima strojnog učenja, od dizajna i obuke do upravljanja računanjem i pohranom. Također vam pomaže označiti postojeće podatke, povećavajući vrijednost vašeg skupa podataka o treningu. Vjerojatno ćete htjeti započeti s tri glavne opcije: rad s Azure ML Python SDK-om u bilježnici u stilu Jupyter, upotrebom automatiziranih alata za obuku Azure ML-a ili dizajnerskom površinom povucite i ispustite s niskim kodom. 

Korištenje Azure ML Designera za stvaranje modela

Dizajner je najbrži način da započnete s prilagođenim strojnim učenjem, jer vam daje pristup skupu unaprijed izgrađenih modula koji se mogu povezati lancima kako bi se stvorio API za strojno učenje koji je spreman za upotrebu u vašem kodu. Započnite s izradom platna za vaš cjevovod ML, postavljanjem cilja izračuna za svoj cjevovod. Ciljevi izračuna mogu se postaviti za cijeli model ili za pojedinačne module unutar cjevovoda, što vam omogućuje da na odgovarajući način prilagodite izvedbu.

Najbolje je da računske resurse vašeg modela smatrate računanjem bez poslužitelja, koje se prema potrebi skalira prema gore. Kada ga ne koristite, smanjit će se na nulu i može potrajati čak pet minuta da se ponovno zavrti. To bi moglo utjecati na rad aplikacija, pa osigurajte da je dostupan prije pokretanja aplikacija koje o njemu ovise. Pri odabiru proračunskog cilja morat ćete uzeti u obzir resurse potrebne za osposobljavanje modela. Složeni modeli mogu iskoristiti Azureovu podršku za GPU, uz podršku za većinu Azureovih računajućih opcija (ovisno o vašoj dostupnoj kvoti).

Nakon što postavite resurse računala za trening, odaberite skup podataka o treningu. To mogu biti vaši vlastiti podaci ili jedan od Microsoftovih uzoraka. Prilagođeni skupovi podataka mogu se izraditi iz lokalnih datoteka, od podataka koji su već pohranjeni na Azureu, s weba ili iz registriranih otvorenih skupova podataka (koji su često vladini podaci).

Korištenje podataka u Azure ML Designer-u

Alati u dizajneru omogućuju vam istraživanje skupova podataka koje koristite, tako da možete biti sigurni da imate pravi izvor za model koji pokušavate izgraditi. S izvorom podataka na platnu možete započeti povlačenje modula i njihovo povezivanje za obradu podataka o treningu; na primjer, uklanjanje stupaca koji ne sadrže dovoljno podataka ili čišćenje podataka koji nedostaju. Ovaj postupak povlačenja i povezivanja vrlo je sličan radu s alatima s niskim kodom, poput onih u Power Platformi. Ono što se ovdje razlikuje je to što imate mogućnost korištenja vlastitih modula.

Nakon što se podaci obrade, možete početi birati module za koje želite obučiti svoj model. Microsoft nudi skup uobičajenih algoritama, kao i alate za razdvajanje skupova podataka za obuku i testiranje. Dobiveni modeli mogu se bodovati pomoću drugog modula nakon što ih provedete kroz trening. Rezultati se prosljeđuju modulu za procjenu, tako da možete vidjeti koliko dobro funkcionira vaš algoritam. Treba vam neko statističko znanje da biste protumačili rezultate kako biste mogli razumjeti vrste generiranih pogrešaka, iako je u praksi što je vrijednost pogreške manja, to bolje. Ne morate koristiti pripremljene algoritme, jer možete unijeti vlastiti Python i R kod.

Obučeni i testirani model može se brzo pretvoriti u napojni cjevovod, spreman za upotrebu u vašim aplikacijama. Ovo dodaje ulazne i izlazne REST API krajnje točke vašem modelu, spremno za upotrebu u vašem kodu. Rezultirajući model zatim se raspoređuje u AKS-ov klaster za prijavu kao spremnik za upotrebu.

Dopustite Azureu da sve učini za vas: automatizirano strojno učenje

U mnogim slučajevima ne trebate ni toliko razvijati. Microsoft je nedavno objavio opciju Automated ML, temeljenu na radu obavljenom u Microsoftovom istraživanju. Ovdje započinjete s Azure dostupnim skupom podataka, koji moraju biti tablični podaci. Namijenjen je za tri vrste modela: klasifikaciju, regresiju i predviđanja. Nakon što dostavite podatke i odaberete vrstu modela, alat će automatski generirati shemu iz podataka koje možete koristiti za uključivanje i isključivanje određenih polja podataka, gradeći eksperiment koji se zatim izvodi za izgradnju i testiranje modela.

Automatizirani ML stvorit će i rangirati nekoliko modela koje možete istražiti kako biste utvrdili koji je najbolji za vaš problem. Nakon što pronađete željeni model, možete brzo dodati ulazne i izlazne faze i rasporediti ga kao uslugu, spremnu za upotrebu u alatima kao što je Power BI.

Uz strojno učenje, koje je sve važniji alat za predviđanje u mnogim različitim vrstama poslovnih problema, Azure Designer strojnog učenja može mu donijeti mnogo širu publiku. Ako imate podatke, možete izraditi i analitički i prediktivni model, uz minimalno znanje o znanosti podataka. S novom automatiziranom ML uslugom lako je prijeći s podataka na uslugu na analitiku bez koda.