AI-plattformer: 10 verktøy for moderne applikasjoner

Nå som vi vet at Terminator-robotene ikke kommer for å hente oss, er det på tide å omfavne kunstig intelligens og utnytte dens potensial!

Lenge har kunstig intelligens, og spesielt maskinlæring som en sentral del av den, vært innhyllet i en mystisk atmosfære. Medieoppslag har i lang tid forutsagt fremveksten av superintelligente, helt uavhengige og skremmende maskiner, noe som har skapt bekymring og usikkerhet hos mange (inkludert undertegnede).

Men hva har vi egentlig å vise til i dag? En AI-teknologi som er langt fra feilfri, med noen pinlige tilfeller av feil, og en begrenset, til dels feilfungerende robot som nesten ble tvunget inn i rollen som en statsborger. Vi har heller ikke ennå en pålitelig algoritme for oversettelse av språk.

Hvis noen fortsatt insisterer på at dommedagen er like rundt hjørnet, er her min reaksjon:

Så, hva er egentlig AI, ML og alle disse «buzzordene» om, hvis ikke begynnelsen på menneskehetens undergang?

Vel, det handler om nye måter å programmere datamaskiner for å løse problemer knyttet til klassifisering og prediksjon. Og vet du hva? Nå har vi endelig mange AI-tjenester som du umiddelbart kan ta i bruk i din virksomhet og høste betydelige fordeler.

Hva kan AI-plattformer gjøre for bedrifter i dag?

Det er et godt spørsmål!

Kunstig intelligens er så generell i sin anvendelse (i teorien i hvert fall) at det er vanskelig å peke på et spesifikt formål den ble utviklet for. Det er litt som å spørre hva et regneark er laget for og hva det kan brukes til. Joda, det ble utviklet for regnskap, men i dag brukes det til langt mer enn det. Og regnskap er ikke den eneste funksjonen – folk bruker det også som prosjektstyringsverktøy, huskeliste, database og mye mer.

Det samme gjelder AI.

Grovt sett er AI nyttig for oppgaver som er definert på en fleksibel måte og som krever læring fra erfaring. Joda, det er jo det mennesker gjør også, men AI har fordelen av å kunne bearbeide enorme mengder data på kort tid, og komme til konklusjoner mye, mye raskere. Noen typiske bruksområder for AI er:

  • Ansiktsgjenkjenning i bilder, videoer osv.
  • Klassifisering og merking av bilder, for eksempel for foreldreveiledning
  • Konvertering av tale til tekst
  • Gjenkjenning av objekter i media (f.eks. en bil, en person osv.)
  • Forutsigelse av aksjekursbevegelser
  • Oppdagelse av finansiering av terrorisme (blant millioner av transaksjoner per dag)
  • Anbefalingssystemer (shopping, musikk, venner osv.)
  • Knekking av captcha
  • Spamfiltrering
  • Deteksjon av uautorisert tilgang til nettverk

Jeg kunne fortsette i det uendelige, men jeg tror du skjønner poenget. Dette er alle eksempler på problemer som mennesker har kjempet med å løse ved hjelp av tradisjonelle datametoder. Og disse er viktige siden de har et stort bruksområde i næringslivet og i den virkelige verden.

Så, la oss komme i gang med listen over de beste AI-plattformene og se hva de har å tilby.

Amazon AI-tjenester

Akkurat som Amazon raskt har endret spillereglene for mange selskaper, er AWS en så dominerende plattform at det er vanskelig å konkurrere. Det samme gjelder Amazon AI Services, som er fullpakket med utrolig nyttige AI-tjenester.

Her er noen av de imponerende tjenestene som AWS tilbyr:

Amazon Comprehend: Hjelper deg å forstå alle de ustrukturerte tekstdataene du har. Et eksempel er å analysere eksisterende kundesamtaler for å finne ut hva tilfredshetsnivået har vært over tid, hva kundens største bekymringer er, hvilke søkeord som brukes mest osv.

Amazon Forecast: En tjeneste som lar deg bruke dine eksisterende tidsseriedata og gjøre dem om til nøyaktige prognoser for fremtiden. Hvis du er usikker på hva tidsseriedata er, kan du ta en titt på en artikkel jeg skrev nylig (se etter en database kalt Timescale mot slutten av artikkelen).

Amazon Lex: Bygg samtalegrensesnitt (tekstbaserte og/eller visuelle) inn i applikasjonene dine. I bakgrunnen kjører Amazons maskinlæringsmodeller som avkoder hensikt og konverterer tale til tekst i sanntid.

Amazon Personalize: En brukervennlig tjeneste for å lage anbefalinger for kundene dine, eller for deg selv! Du kan legge inn e-handelsdata eller nesten hva som helst i denne tjenesten og få svært nøyaktige og interessante forslag. Jo større datasett du har, desto bedre blir anbefalingene.

Amazon tilbyr mange flere AI-tjenester, og du kan lett bruke hele dagen på å utforske dem. Det er imidlertid en aktivitet jeg anbefaler på det sterkeste! 🙂

Merk: Det er vanskelig å finne en oversikt over alle disse tjenestene samlet i AWS-dokumentasjonen, men hvis du går til https://aws.amazon.com/machine-learning, finner du dem i rullegardinmenyen under «AI Services».

TensorFlow

TensorFlow er et bibliotek (og også en plattform) utviklet av teamet bak Google Brain. Det er en implementering av maskinlæringsfeltet som kalles dyp læring med nevrale nettverk. TensorFlow er med andre ord Googles måte å oppnå maskinlæring ved hjelp av dyp læring.

Det betyr ikke at TensorFlow er den eneste måten å bruke nevrale nettverk på. Det finnes mange biblioteker der ute, hvert med sine fordeler og ulemper.

Generelt gir TensorFlow deg maskinlæringsfunksjoner for mange forskjellige programmeringsmiljøer. Plattformen er ganske visuell, og den er avhengig av grafer og datavisualiseringer. Selv om du ikke er programmerer, er det mulig å få gode resultater med TensorFlow med litt innsats.

Historisk sett var TensorFlow ment å «demokratisere» maskinlæring. Så vidt jeg vet, var det den første plattformen som gjorde ML så enkel, visuell og tilgjengelig. Som et resultat eksploderte bruken av ML, og folk kunne enkelt trene modeller.

Det viktigste salgsargumentet til TensorFlow er Keras, som er et bibliotek for å jobbe effektivt med nevrale nettverk. Her er et eksempel på hvor enkelt det er å lage et enkelt, fullt tilkoblet nettverk (perceptron):

model = tf.keras.Sequential()
# Legger til et tett koblet lag med 64 enheter til modellen:
model.add(layers.Dense(64, activation='relu'))
# Legg til et til:
model.add(layers.Dense(64, activation='relu'))
# Legg til et softmax-lag med 10 output-enheter:
model.add(layers.Dense(10, activation='softmax'))

Konfigurering, trening osv. må selvsagt også gjøres, men disse er like enkle.

Det er vanskelig å finne feil med TensorFlow, siden det har gjort ML tilgjengelig i JavaScript, mobile enheter og til og med IoT-løsninger. Men for puristene vil det fortsatt oppfattes som en «enklere» plattform som «hvem som helst» kan bruke. Vær forberedt på å møte litt motstand når du utvikler deg og møter mer «opplyste» sjeler. 🙂

Hvis du er nybegynner, sjekk ut dette introduksjonskurset i TensorFlow på nett.

Merk: Noen kritiserer TensorFlow for at den ikke kan bruke GPUer, noe som ikke stemmer lenger. I dag fungerer TensorFlow ikke bare med GPUer, men Google har utviklet sin egen spesialiserte maskinvare kalt TPU (TensorFlow Processing Unit), som er tilgjengelig som en skytjeneste.

Google AI-tjenester

I likhet med Amazon har Google også en pakke med skytjenester knyttet til AI. Jeg vil avstå fra å liste opp alle tjenestene, siden de er ganske like Amazons tilbud. Her er et skjermbilde av hva som er tilgjengelig for utviklere:

Det er i hovedsak to måter du kan bruke Googles AI-tjenester på. Den første er å bruke en modell som allerede er trent av Google, og begynne å bruke den i produktene dine. Den andre er den såkalte AutoML-tjenesten, som automatiserer flere trinn i maskinlæringsprosessen, og som hjelper for eksempel fullstack-utviklere med mindre ML-ekspertise å bygge og trene modeller på en enkel måte.

H2O

«2»-tallet i H2O skal egentlig være et senket tall (som i den kjemiske formelen for vann), men det er litt tungvint å skrive. Jeg håper de som står bak H2O ikke tar det ille opp!

H2O er en åpen kildekode-plattform for maskinlæring som brukes av store aktører, inkludert mange av selskapene på Fortune 500-listen.

Hovedidéen er å bringe banebrytende AI-forskning ut til allmennheten, i stedet for å la den forbli i hendene på selskaper med mye penger og innflytelse. Flere produkter tilbys under H2O-plattformen, for eksempel:

  • H2O: Grunnplattformen for å utforske og bruke maskinlæring.
  • Sparkling Water: Offisiell integrasjon med Apache Spark for store datasett.
  • H2O4GPU: En GPU-akselerert versjon av H2O-plattformen.

H2O lager også løsninger som er skreddersydd for bedrifter, og disse inkluderer:

  • Driverless AI: Nei, Driverless AI har ikke noe med selvkjørende biler å gjøre! 🙂 Det er mer i tråd med Googles AutoML-tilbud – de fleste AI/ML-stadiene er automatisert, noe som gir enklere og raskere utvikling av verktøy.
  • Betalt support: Som bedrift har du ikke tid til å vente på svar på GitHub-problemer. Hvis tid er penger, tilbyr H2O betalt support og rådgivning for store selskaper.

Petuum

Petuum utvikler Symphony-plattformen, som er utviklet for å få meg til å tro at AI faktisk fungerer. Hvis du er lei av koding og ikke orker å huske flere biblioteker og outputformater, vil Symphony føles som en ferie i Alpene!

Selv om det ikke er noe «åpent» med Symphony-plattformen, er funksjonene verdt å se nærmere på:

  • Dra-og-slipp-brukergrensesnitt
  • Enkelt å bygge interaktive datapipeliner
  • Mange standardiserte og modulære byggeklosser for å lage sofistikerte AI-applikasjoner
  • Programmerings- og API-grensesnitt for de som føler at det visuelle ikke er kraftig nok
  • Automatisert optimalisering med GPUer
  • Distribuert, svært skalerbar plattform
  • Dataaggregering fra flere kilder

Det er mange flere funksjoner som virkelig vil få deg til å føle at terskelen for å komme i gang er mye lavere. Anbefales på det sterkeste!

Polyaxon

Den største utfordringen i dag innen maskinlæring og AI er ikke å finne gode biblioteker og algoritmer (eller til og med læringsressurser), men å finne den dyktige ingeniøren som trengs for å håndtere de store systemene og enorme databelastningene som oppstår.

Selv for erfarne programvareingeniører kan dette være for krevende. Hvis du kjenner deg igjen i dette, er Polyaxon verdt å sjekke ut.

Polyaxon er ikke et bibliotek eller rammeverk. Det er en helhetlig løsning for å administrere alle aspekter av maskinlæring, som:

  • Datatilkoblinger og strømming
  • Maskinvareakselerasjon
  • Containerisering og orkestrering
  • Planlegging, lagring og sikkerhet
  • Pipelining, optimalisering, sporing osv.
  • Dashboard, APIer, visualiseringer osv.

Det er ganske bibliotek- og leverandøruavhengig, siden et stort antall populære (åpen og lukket kildekode) løsninger støttes.

Du må fortsatt håndtere distribusjon og skalering til en viss grad. Hvis du vil unngå dette også, tilbyr Polyaxon en PaaS-løsning som lar deg bruke deres infrastruktur elastisk.

DataRobot

Enkelt sagt, DataRobot er en fokusert maskinlæringsløsning for bedrifter. Den er visuell hele veien og er designet for raskt å forstå dataene dine og bruke dem til konkrete forretningsformål.

Grensesnittet er intuitivt og elegant, slik at ikke-eksperter kan sette seg bak rattet og generere meningsfull innsikt.

DataRobot har ikke et bredt spekter av funksjoner. I stedet fokuserer den på den tradisjonelle følelsen av data og leverer gode muligheter innen:

  • Automatisert maskinlæring
  • Regresjon og klassifisering
  • Tidsserier

Ofte er dette alt du trenger for din virksomhet. Det vil si, i de fleste tilfeller er DataRobot alt du trenger. 🙂

Neural Designer

Når vi er inne på temaet brukervennlige og kraftige AI-plattformer, fortjener Neural Designer en spesiell omtale.

Det er ikke mye å si om NeuralDesigner, men det er mye å gjøre! Siden nevrale nettverk mer eller mindre har dominert den moderne maskinlæringsmetodikken, er det fornuftig å jobbe med en plattform som utelukkende fokuserer på nevrale nettverk. Færre valg, ingen distraksjoner – kvalitet fremfor kvantitet.

NeuralDesigner utmerker seg på flere måter:

  • Ingen programmering er nødvendig. I det hele tatt.
  • Ingen komplisert grensesnittbygging kreves. Alt er lagt opp i logiske, lettfattelige trinn.
  • En samling av de mest avanserte algoritmene som er spesifikke for nevrale nettverk.
  • CPU-parallellisering og GPU-akselerasjon for høy ytelse.

Verdt å se nærmere på? Helt klart!

Prevision.io

Prevision.io er en plattform for å administrere alle aspekter av maskinlæring, fra databehandling til distribusjon i stor skala.

PredictionIO

Hvis du er en utvikler, er PredictionIO et svært nyttig tilbud du bør sjekke ut. I bunn og grunn er PredictionIO en maskinlæringsplattform som kan ta inn data fra appen din (nett, mobil eller annet) og raskt bygge prediksjoner.

Ikke la deg lure av navnet – PredictionIO er ikke bare for spådommer, men støtter hele spekteret av maskinlæring. Her er noen gode grunner til å like det:

  • Støtte for klassifisering, regresjon, anbefalinger, NLP og mer.
  • Bygget for å håndtere store arbeidsbelastninger i et Big Data-miljø.
  • Flere forhåndsbygde maler for de som har det travelt.
  • Leveres med Apache Spark, MLlib, HBase, Akka HTTP og Elasticsearch, som dekker alle behov for en robust, moderne app.
  • Kombinert datainntak fra flere kilder, enten det er i batch- eller sanntidsmodus.
  • Distribuert som en typisk webtjeneste – enkel å bruke.

For de fleste nettprosjekter ser jeg ikke hvordan PredictionIO ikke er et fornuftig valg. Prøv det!

Konklusjon

Det er ingen mangel på AI- og ML-rammeverk eller plattformer i dag. Jeg ble overveldet av valgene da jeg begynte å undersøke denne artikkelen. Jeg har derfor prøvd å begrense denne listen til de mest unike eller interessante plattformene. Hvis du mener jeg har utelatt noe viktig, gi meg beskjed.

Coursera har noen flotte maskinlæringskurs, så sjekk de ut hvis du er interessert i å lære mer.

Så, hvilken plattform er best? Dessverre er det ikke noe klart svar. En grunn er at de fleste av disse tjenestene er knyttet til en bestemt teknologistabel eller et økosystem (for det meste for å bygge det som kalles en lukket hage). En annen, viktigere grunn er at AI- og ML-teknologier nå har blitt en vanlig vare, og det er et kappløp om å tilby så mange funksjoner som mulig til en lavest mulig pris. Ingen leverandør har råd til å ikke tilby det de andre tilbyr, og nye funksjoner blir kopiert av konkurrentene nesten over natten.

Dermed kommer det hele an på hva dine mål og teknologibehov er, hvor intuitiv du synes tjenesten er, hva du mener om selskapet som står bak den, og så videre.

Uansett er det tydelig at AI endelig er tilgjengelig som en tjeneste, og det ville være uklokt å ikke dra nytte av den. 🙂