10 АИ платформи за изградњу ваше модерне апликације

Sada, kada smo sigurni da Terminator neće doći po nas, pravo je vreme da se sprijateljimo sa veštačkom inteligencijom i iskoristimo njene prednosti!

Dugo je oblast veštačke inteligencije, zajedno sa njenom najpoznatijom poddisciplinom, mašinskim učenjem, bila obavijena velom misterije. Mašinerija propagande je neprestano objavljivala članke koji su predviđali uspon superinteligentnih, potpuno nezavisnih i zlih mašina, što je mnoge, uključujući i mene, gurnulo u očaj.

A šta imamo danas, kao rezultat sve te buke i dima? Tehnologiju veštačke inteligencije koja je daleko od savršene, sa sramotnim greškama i ograničenog, problematičnog robota koji je, gotovo na silu, pretvoren u građanina. I da stvar bude gora, još uvek nemamo ni pristojan algoritam za prevođenje jezika.

Ako neko i dalje insistira da je sudnji dan blizu, moj odgovor je sledeći:

Dakle, šta je zapravo veštačka inteligencija, mašinsko učenje i sve te popularne fraze, ako ne predstavljaju kraj čovečanstva?

Pa, to su novi načini programiranja računara za rešavanje problema koji se odnose na klasifikaciju i predviđanje. I, verovali ili ne, sada imamo veliki broj usluga veštačke inteligencije koje možete odmah početi da koristite u svojoj poslovnoj aplikaciji i ostvariti značajne prednosti.

Šta sve AI platforme mogu da učine za preduzeća danas?

Odlično pitanje!

Veštačka inteligencija je toliko univerzalna u svojoj primeni (barem u teoriji) da je nemoguće tačno navesti svrhu za koju je razvijena. To je kao da pitate za šta je napravljen sto i šta se sve može raditi sa njim. Naravno, prvobitno je bio namenjen za računovodstvo, ali danas daleko prevazilazi tu ulogu. I računovodstvo nije jedina funkcija – ljudi ga koriste kao alat za upravljanje projektima, kao listu zadataka, kao bazu podataka i za mnoge druge stvari.

Isto važi i za AI.

U osnovi, AI je korisna za zadatke koji su definisani na labav način i zasnivaju se na učenju iz iskustva. Da, to rade i ljudi, ali AI ima prednost jer može da obradi ogromne količine podataka za kratko vreme i da donosi zaključke mnogo, mnogo brže. Stoga, neke od tipičnih primena AI su:

  • Prepoznavanje lica na fotografijama, video snimcima, itd.
  • Klasifikacija i označavanje slika, na primer, za roditeljsku kontrolu.
  • Pretvaranje govora u tekst.
  • Detekcija objekata u medijima (npr. automobil, žena, itd.).
  • Predviđanje kretanja cena akcija.
  • Otkrivanje finansiranja terorizma (među milionima transakcija dnevno).
  • Sistemi preporuka (kupovina, muzika, prijatelji, itd.).
  • Razbijanje Captcha kodova.
  • Filtriranje neželjene pošte.
  • Detekcija upada u mrežu.

Mogao bih da nastavim da nabrajam i verovatno bih ostao bez stranica (figurativno rečeno), ali mislim da sada shvatate poentu. Ovo su sve primeri problema koje su ljudi pokušavali da reše tradicionalnim računarskim metodama. Ipak, oni su važni jer postoji ogromna potreba za njima u poslovanju i realnom svetu.

Dakle, bez daljeg odlaganja, hajde da počnemo sa listom naših najboljih AI platformi i da vidimo šta one imaju da ponude.

Amazon AI usluge

Kao što Amazon brzo eliminiše konkurenciju, tako je i AWS toliko dominantan kao platforma da gotovo ništa drugo ne pada na pamet. Isto važi i za Amazon AI usluge, koje su prepune neverovatno korisnih usluga veštačke inteligencije.

Evo nekih od izuzetnih usluga koje AWS nudi:

Amazon Comprehend: Pomaže vam da razumete ogromne količine tekstualnih, nestrukturiranih podataka koje posedujete. Jedan od primera upotrebe je analiza postojećih razgovora u korisničkoj podršci kako bi se utvrdio nivo zadovoljstva tokom vremena, koji su glavni problemi korisnika, koje se ključne reči najviše koriste, itd.

Amazon Forecast: Usluga koja ne zahteva podešavanje, omogućava vam da koristite postojeće podatke o vremenskim serijama i pretvarate ih u tačne prognoze za budućnost. Ukoliko se pitate šta su podaci vremenskih serija, pogledajte članak koji sam nedavno napisao (potražite bazu podataka pod nazivom Timescale na kraju članka).

Amazon Lex: Ugradite konverzacijske interfejse (tekstualne i/ili vizuelne) u svoje aplikacije. Iza kulisa se nalaze obučeni Amazonovi modeli mašinskog učenja koji dekodiraju nameru i pretvaraju govor u tekst u realnom vremenu.

Amazon Personalize: Jednostavna usluga koja ne zahteva infrastrukturu, omogućava vam da kreirate preporuke za svoje klijente ili za sebe! Možete uneti podatke e-trgovine ili bilo koje druge podatke u ovu uslugu i dobiti vrlo precizne i relevantne predloge. Naravno, što je veći skup podataka, to će preporuke biti bolje.

Postoji još mnogo AI usluga koje Amazon nudi i mogli biste da provedete čitav dan istražujući ih. Ipak, to je aktivnost koju iskreno preporučujem! 🙂

Napomena: Teško je pronaći sažetak svih ovih usluga zajedno u AWS dokumentaciji, ali ako odete na https://aws.amazon.com/machine-learning, one su navedene u padajućem meniju pod „AI usluge”.

TensorFlow

TensorFlow je biblioteka (a takođe i platforma) koju je razvio tim iza Google Brain. To je implementacija ML poddomena pod nazivom Neuronske mreže za duboko učenje; drugim rečima, TensorFlow je Googleov pristup postizanju mašinskog učenja pomoću neuronskih mreža i tehnike dubokog učenja.

To znači da TensorFlow naravno nije jedini način za korišćenje neuronskih mreža – postoji mnogo biblioteka, svaka sa svojim prednostima i nedostacima.

Uopšteno govoreći, TensorFlow vam omogućava osnovne mogućnosti mašinskog učenja za mnoga različita programska okruženja. Pored toga, osnovna platforma je prilično vizuelna i uglavnom se oslanja na grafikone i vizualizacije podataka za obavljanje posla. Kao takav, čak i ako niste programer, uz određeni napor, moguće je postići dobre rezultate pomoću TensorFlowa.

Istorijski gledano, TensorFlow je imao za cilj „demokratizaciju“ mašinskog učenja. Koliko je poznato, to je bila prva platforma koja je učinila ML jednostavnim, vizuelnim i dostupnim u tolikoj meri. Kao rezultat toga, upotreba ML-a je eksplodirala, a ljudi su mogli lako da obučavaju modele.

Najvažnija prednost TensorFlowa je Keras, biblioteka za efikasan programski rad sa neuronskim mrežama. Evo kako je lako napraviti jednostavnu, potpuno povezanu mrežu (perceptron):

model = tf.keras.Sequential()
# Dodaje gusto povezan sloj sa 64 jedinice modelu:
model.add(layers.Dense(64, activation='relu'))
# Dodaje još jedan:
model.add(layers.Dense(64, activation='relu'))
# Dodaje softmax sloj sa 10 izlaznih jedinica:
model.add(layers.Dense(10, activation='softmax'))

Naravno, potrebno je izvršiti i konfiguraciju, obuku itd., ali i oni su jednako jednostavni.

Teško je naći manu TensorFlowu, s obzirom na to da je ML uveo u JavaScript, mobilne uređaje, pa čak i IoT rešenja. Međutim, u očima purista, to ostaje „manja“ platforma kojom se svako može baviti. Dakle, budite spremni da se suočite sa određenim otporom kako napredujete na lestvici veština i susrećete se sa više „prosvećenim“ dušama. 🙂

Ako ste početnik, pogledajte ovaj Uvodni onlajn kurs TensorFlow.

Takođe, imajte na umu: neke kritike TensorFlowa spominju da ne može da koristi GPU, što više nije tačno. Danas TensorFlow ne samo da radi sa GPU-om, već je Google razvio i sopstveni specijalizovani hardver pod nazivom TPU (TensorFlow Processing Unit), koji je dostupan kao Cloud usluga.

Google AI usluge

Baš kao i Amazonove usluge, Google takođe ima paket cloud usluga koje se vrte oko veštačke inteligencije. Neću navoditi sve usluge, jer su prilično slične Amazonovim ponudama. Evo snimka ekrana šta je dostupno programerima da naprave ako su zainteresovani:

Uopšteno govoreći, postoje dva načina na koja možete koristiti Googleove usluge veštačke inteligencije. Prvi je da koristite model koji je Google već obučio i samo počnete da ga primenjujete u svojim proizvodima. Drugi je takozvana AutoML usluga, koja automatizuje nekoliko srednjih faza mašinskog učenja, pomažući, na primer, full-stack programerima sa manje stručnosti u ML-u da lako izgrade i obučavaju modele.

H2O

Broj „2“ u H2O bi trebalo da bude indeks (pretpostavljam da liči na hemijsku formulu za vodu), ali je dosadno kucati ga. Nadam se da ljudima iza H2O to neće smetati!

H2O je platforma otvorenog koda za mašinsko učenje koju koriste velika imena sa liste Fortune 500.

Glavna ideja je da najsavremenija istraživanja veštačke inteligencije dođu do šire javnosti umesto da ostanu u rukama kompanija sa velikim budžetom i uticajem. Nekoliko proizvoda se nudi u okviru H2O platforme, kao što su:

  • H2O: Osnovna platforma za istraživanje i korišćenje mašinskog učenja.
  • Sparkling Water: Zvanična integracija sa Apache Spark za velike skupove podataka.
  • H2O4GPU: GPU-ubrzana verzija H2O platforme.

H2O takođe razvija rešenja prilagođena preduzećima, a ona uključuju:

  • AI bez vozača: Ne, AI bez vozača nema nikakve veze sa automobilima koji sami voze! 🙂 Više je u skladu sa Googleovom AutoML ponudom – većina faza AI/ML je automatizovana, što rezultira alatima koji su jednostavniji i brži za razvoj.
  • Plaćena podrška: Kao preduzeće, ne možete da čekate da podnesete GitHub zahteve i nadate se da ćete uskoro dobiti odgovor. Ako je vreme novac, H2O nudi plaćenu podršku i konsalting za velike kompanije.

Petuum

Petuum razvija Symphony platformu, koja je dizajnirana da vam ne dozvoli da razmišljate o tome kako AI radi. Drugim rečima, ako ste umorni od kodiranja i/ili ne želite da pamtite više biblioteka i izlaznih formata, Symphony će vam delovati kao odmor na Alpima!

Iako ne postoji ništa „otvoreno“ u vezi sa Symphony platformom, njene funkcije su vredne pažnje:

  • Prevucite i ispustite korisnički interfejs.
  • Lako kreirajte interaktivne tokove podataka.
  • Ogroman broj standardizovanih i modularnih gradivnih blokova za kreiranje sofisticiranijih AI aplikacija.
  • Programiranje i API interfejsi kada vizuelni pristup nije dovoljno moćan.
  • Automatska optimizacija pomoću GPU-ova.
  • Distribuirana, visoko skalabilna platforma.
  • Agregacija podataka iz više izvora.

Postoji još mnogo funkcija koje će vam zaista dati osećaj da je barijera za ulazak značajno smanjena. Preporuka!

Polyaxon

Najveći izazov danas u mašinskom učenju i veštačkoj inteligenciji nije pronaći dobre biblioteke i algoritme (ili čak resurse za učenje), već vešt inženjering koji se mora primeniti da bi se nosio sa ogromnim sistemima i velikim opterećenjem podacima.

Čak i za iskusne softverske inženjere, to može biti previše. Ako se i vi tako osećate, Polyaxon je vredan pažnje.

Polyaxon nije biblioteka ili čak okvir; već je rešenje „od kraja do kraja“ za upravljanje svim aspektima mašinskog učenja, kao što su:

  • Podatkovne veze i strimovanje.
  • Hardversko ubrzanje.
  • Kontejnerizacija i orkestracija.
  • Planiranje, skladištenje i bezbednost.
  • Procesi, optimizacija, praćenje, itd.
  • Kontrolna tabla, API-ji, vizualizacije, itd.

U velikoj meri je nezavisan od biblioteka i provajdera, jer podržava veliki broj popularnih rešenja (otvorenog i zatvorenog koda).

Naravno, i dalje morate da se bavite implementacijom i skaliranjem na određenom nivou. Ako želite da pobegnete i od toga, Polyaxon nudi PaaS rešenje koje vam omogućava da fleksibilno koristite njihovu infrastrukturu.

DataRobot

Jednostavno rečeno, DataRobot je fokusirano rešenje za mašinsko učenje za preduzeća. Vizuelno je od početka do kraja i dizajnirano je da brzo razume vaše podatke i pretvori ih u konkretnu poslovnu upotrebu.

Interfejs je intuitivan i elegantan, omogućavajući nestručnjacima da sednu za volan i generišu smislene uvide.

DataRobot nema mnoštvo funkcija; umesto toga, fokusira se na tradicionalni smisao podataka i pruža pouzdane mogućnosti u:

  • Automatsko mašinsko učenje.
  • Regresija i klasifikacija.
  • Vremenske serije.

Češće nego ne, ovo je sve što vam je potrebno za vaše poslovanje. To znači da je u većini slučajeva DataRobot sve što vam treba. 🙂

NeuralDesigner

Dok smo na temi lakih za korišćenje, moćnih AI platformi, NeuralDesigner zaslužuje posebnu pažnju.

Nema mnogo toga da se kaže o NeuralDesigneru, ali ima mnogo toga da se uradi! S obzirom na to da su neuronske mreže manje-više dominirale modernom metodologijom mašinskog učenja, ima smisla raditi sa platformom koja se fokusira isključivo na neuronske mreže. Nema mnogo izbora, nema ometanja – kvalitet pre kvantiteta.

NeuralDesigner se ističe na mnoge načine:

  • Programiranje nije potrebno. Uopšte.
  • Nije potrebno složeno kreiranje interfejsa. Sve je raspoređeno u razumne, lako shvatljive, uređene korake.
  • Kolekcija najnaprednijih i najprefinjenijih algoritama specifičnih za neuronske mreže.
  • CPU paralelizacija i GPU ubrzanje za visoke performanse.

Da li vredi pogledati? Definitivno!

Prevision.io

Prevision.io je platforma za upravljanje svim aspektima mašinskog učenja, od obrade podataka do implementacije u velikim razmerama.

PredictionIO

Ako ste programer, PredictionIO je neverovatno korisna ponuda koju treba da pogledate. U suštini, PredictionIO je platforma za mašinsko učenje koja može da unese podatke iz vaše aplikacije (web, mobilne ili na neki drugi način) i brzo napravi predviđanja.

Nemojte da vas zavara ime – PredictionIO nije samo za predviđanja, već podržava čitav spektar mašinskog učenja. Evo nekoliko razloga da ga volite:

  • Podrška za klasifikaciju, regresiju, preporuke, NLP i još mnogo toga.
  • Dizajniran za ozbiljna opterećenja u okruženju velikih podataka.
  • Nekoliko unapred kreiranih šablona za one koji žure.
  • Dolazi u paketu sa Apache Spark, MLlib, HBase, Akka HTTP i Elasticsearch, zadovoljavajući sve moguće potrebe za robusnom, modernom aplikacijom.
  • Kombinovani unos podataka iz više izvora, bilo u grupnom režimu ili u realnom vremenu.
  • Implementiran kao tipična web usluga – lako se koristi i napaja.

Za većinu web projekata, ne vidim zašto PredictionIO ne bi imalo smisla. Samo napred i probajte!

Zaključak

Danas ne nedostaje AI i ML okvira ili platformi; bio sam preplavljen izborom kada sam počeo da istražujem za ovaj članak. Kao rezultat toga, pokušao sam da suzim ovu listu na jedinstvene ili zanimljive. Ako mislite da sam propustio nešto važno, javite mi.

Coursera ima neke od odličnih kurseva mašinskog učenja, pa proverite da li ste zainteresovani za učenje.

Dakle, koja je platforma najbolja? Nažalost, nema jasnog odgovora. Jedan od razloga je to što je većina ovih usluga vezana za određeni tehnološki niz ili ekosistem (uglavnom izgradnja onoga što se zove „ograđena bašta“). Drugi, važniji razlog je taj što su do sada AI i ML tehnologije postale komercijalizovane i postoji trka da se obezbedi što više funkcija po što nižoj ceni. Nijedan prodavac ne može sebi da priušti da ne ponudi ono što drugi nude, a svaku novu ponudu konkurenti kopiraju i nude skoro preko noći.

Kao takvo, sve se svodi na to koji su vaš skup veština i ciljevi, koliko je usluga intuitivna, kakva je vaša percepcija kompanija koje stoje iza nje, itd.

Ali, bez obzira na slučaj, podrazumeva se da je veštačka inteligencija konačno dostupna kao usluga i bilo bi krajnje nerazumno ne iskoristiti je. 🙂