10 AI-plattformar för att bygga din moderna applikation

By rik

Dags att utforska potentialen i artificiell intelligens

Nu när farhågorna om att robotar som ”Terminator” ska komma och ta över världen har lagt sig, är det dags att omfamna artificiell intelligens (AI) och dra nytta av de möjligheter den erbjuder.

Under en tid var artificiell intelligens, och särskilt dess gren maskininlärning (ML), omgärdad av en mystisk slöja. Mediebevakningen målade ofta upp en bild av superintelligenta, oberoende maskiner, vilket skapade oro och i vissa fall panik.

Men vad har vi faktiskt sett? AI-tekniken är fortfarande långt ifrån fulländad, med många misstag på vägen. Vi har till och med sett exempel på hur robotar, nästan mot sin vilja, har fått medborgarskap. Och inte ens grundläggande språköversättningar fungerar alltid felfritt.

Om någon fortfarande tror att apokalypsen är nära, så kan jag bara säga: jag tror inte det.

Men om AI och ML inte är slutet på mänskligheten, vad är de då?

I grund och botten är det nya sätt att programmera datorer för att lösa problem som handlar om klassificering och förutsägelser. Och det fina är att det nu finns en mängd AI-tjänster som företag kan använda direkt i sina applikationer och dra stor nytta av.

Vad kan AI-plattformar göra för företag i dag?

Det är en bra fråga!

Artificiell intelligens är så mångsidig att det är svårt att definiera ett enda specifikt syfte med dess utveckling. Det är som att fråga vad ett kalkylblad är till för. Det utvecklades visserligen för bokföring, men används idag för så mycket mer, till exempel projektledning, att-göra-listor och databaser. Samma sak gäller AI.

I stora drag är AI användbart för uppgifter som inte är helt definierade och som bygger på att lära av erfarenhet. Människor gör det också, men AI kan hantera enorma mängder data på mycket kort tid och dra slutsatser mycket snabbare. Några typiska användningsområden för AI är:

  • Ansiktsigenkänning i bilder och videor
  • Klassificering och taggning av bilder
  • Konvertering av tal till text
  • Objektdetektering (t.ex. bilar, personer)
  • Förutsäga aktiekurser
  • Upptäcka finansiering av terrorism
  • Rekommendationssystem för shopping, musik och vänner
  • Att kringgå captcha
  • Skräppostfiltrering
  • Detektering av nätverksintrång

Jag skulle kunna fortsätta länge, men jag tror att du förstår poängen. Det här är alla problem som människor traditionellt har haft svårt att lösa med datorer. Och de är otroligt viktiga för både företag och den verkliga världen.

Så, utan vidare, låt oss gå igenom några av de bästa AI-plattformarna som finns i dag.

Amazons AI-tjänster

Amazon Web Services (AWS) är så dominerande att det är svårt att tänka på något annat när det gäller molntjänster. Samma sak gäller Amazons AI-tjänster, som är fyllda med användbara verktyg.

Här är några av de viktigaste tjänsterna som AWS erbjuder:

Amazon Comprehend: Hjälper dig att förstå stora mängder ostrukturerad textdata. Det kan till exempel användas för att analysera kundchattar, hitta de vanligaste frågorna och se kundnöjdheten över tid.

Amazon Forecast: En tjänst som du snabbt kan använda för att göra prognoser baserade på dina tidsseriedata. Om du undrar vad tidsseriedata är, kan du kolla in en artikel jag nyligen skrev.

Amazon Lex: Låter dig bygga in konversationsgränssnitt i dina applikationer. Den använder Amazons maskininlärningsmodeller för att tolka avsikter och omvandla tal till text.

Amazon Personalize: En tjänst som gör det enkelt att skapa rekommendationer för dina kunder eller dig själv. Du kan mata in e-handelsdata eller annan information och få exakta och relevanta förslag. Ju mer data, desto bättre blir rekommendationerna.

Amazon har många fler AI-tjänster att utforska, och det är väl värt att ta sig tid att gå igenom dem.

Obs: Det är lite svårt att hitta en sammanfattning av alla dessa tjänster på AWS-dokumenten, men du kan hitta dem i rullgardinsmenyn under ”AI-tjänster” på den här sidan.

TensorFlow

TensorFlow är ett bibliotek, och även en plattform, skapad av teamet bakom Google Brain. Det är en implementering av maskininlärning med hjälp av djupinlärning och neurala nätverk. TensorFlow är alltså Googles sätt att använda neurala nätverk för maskininlärning.

Det är viktigt att komma ihåg att TensorFlow inte är det enda sättet att använda neurala nätverk. Det finns många bibliotek med sina egna fördelar och nackdelar.

TensorFlow möjliggör maskininlärning i många olika programmeringsmiljöer. Plattformen är ganska visuell och använder grafer och datavisualiseringar. Därför kan även personer utan programmeringskunskaper använda TensorFlow.

TensorFlow utvecklades med målet att göra maskininlärning mer tillgänglig, och det har lyckats i stor utsträckning. Det var en av de första plattformarna som gjorde ML enkelt, visuellt och tillgängligt för många. Det har lett till att användningen av ML har ökat markant.

En viktig del av TensorFlow är Keras, som är ett bibliotek för att effektivt arbeta med neurala nätverk. Det är förvånansvärt enkelt att skapa ett enkelt, helt anslutet nätverk (perceptron):

model = tf.keras.Sequential()
# Lägger till ett tätt kopplat lager med 64 enheter till modellen:
model.add(layers.Dense(64, activation='relu'))
# Lägger till ett till:
model.add(layers.Dense(64, activation='relu'))
# Lägger till ett softmax-lager med 10 utdataenheter:
model.add(layers.Dense(10, activation='softmax'))

Konfiguration och träning behöver också göras, men det är också relativt enkelt.

TensorFlow är en fantastisk plattform som har fört ML till JavaScript, mobila enheter och IoT-lösningar. Vissa menar att plattformen är för ”enkel” för experter, men det är ändå en viktig del i maskininlärningens historia.

Om du är nybörjare, kolla in den här introduktionskursen online.

Värt att notera är också att TensorFlow inte bara fungerar med GPU:er, utan Google har också utvecklat en egen hårdvara som kallas TPU (TensorFlow Processing Unit), vilken är tillgänglig som en molntjänst här.

Googles AI-tjänster

Precis som Amazon erbjuder Google en svit med moln tjänster som handlar om AI. Jag kommer inte att lista alla tjänster, eftersom de liknar Amazons erbjudanden. Här är en skärmdump av vad som är tillgängligt för utvecklare:

I stora drag kan Googles AI-tjänster användas på två sätt. Det första är att använda en modell som redan har tränats av Google. Det andra är AutoML-tjänsten, som automatiserar många steg i maskininlärningsprocessen och gör det lättare för fullstackutvecklare att bygga och träna modeller.

H2O

Siffran ”2” i H2O ska representera en nedsänkt text, likt en kemisk formel, men det är krångligt att skriva ut så. Jag hoppas att folket bakom H2O inte tar illa upp!

H2O är en öppen källkods-plattform för maskininlärning som används av stora företag.

Huvudtanken med H2O är att göra den senaste AI-forskningen tillgänglig för alla, snarare än att låta den stanna hos företag med stora resurser. Plattformen erbjuder flera produkter:

  • H2O: Grundläggande plattform för att utforska och använda maskininlärning.
  • Sparkling Water: Officiell integration med Apache Spark för stora datamängder.
  • H2O4GPU: GPU-accelererad version av H2O-plattformen.

H2O erbjuder också företagsspecifika lösningar, som inkluderar:

  • Driverless AI: Automatiserar flera steg i maskininlärningsprocessen.
  • Betald support: För företag som behöver snabb och pålitlig support och rådgivning.

Petuum

Petuum utvecklar Symphony-plattformen, som gör AI mer användarvänligt. Om du är trött på att koda och inte vill memorera fler bibliotek och utdataformat, kommer Symphony att kännas som en semester!

Även om Symphony-plattformen inte är öppen, har den många intressanta funktioner:

  • Dra-och-släpp-gränssnitt.
  • Skapa interaktiva datapipelines enkelt.
  • Modulära byggstenar för att skapa avancerade AI-applikationer.
  • Programmeringsgränssnitt för mer avancerade användare.
  • Automatiserad optimering med GPU:er.
  • Distribuerad och skalbar plattform.
  • Dataaggregering från flera källor.

Det finns många fler funktioner som gör det mycket enklare att komma igång med AI.

Polyaxon

Den största utmaningen inom maskininlärning är inte att hitta bra bibliotek, utan den ingenjörskonst som krävs för att hantera stora system och databelastningar. Även för erfarna utvecklare kan det vara svårt, och då är Polyaxon ett intressant alternativ.

Polyaxon är inte ett bibliotek eller ramverk, utan en komplett lösning för att hantera alla aspekter av maskininlärning:

  • Dataanslutningar och streaming
  • Hårdvaruacceleration
  • Containerisering och orkestrering
  • Schemaläggning, lagring och säkerhet
  • Pipelining, optimering och spårning
  • Dashboard, API:er och visualisering

Polyaxon stöder ett stort antal populära lösningar, både öppen källkod och proprietär. Om du inte vill hantera driftsättning och skalning erbjuder Polyaxon även en PaaS-lösning.

DataRobot

Enkelt uttryckt är DataRobot en maskininlärningslösning för företag. Den är helt visuell och utformad för att snabbt analysera data och omsätta den i praktiken.

Gränssnittet är intuitivt, vilket gör det möjligt för även icke-experter att generera användbara insikter.

DataRobot har inte ett enormt antal funktioner, utan fokuserar på grundläggande datahantering, med starka verktyg för:

  • Automatiserad maskininlärning.
  • Regression och klassificering.
  • Tidsföljder.

I de flesta fall är det allt du behöver för ditt företag.

Neural Designer

När vi ändå pratar om användarvänliga och kraftfulla AI-plattformar, förtjänar Neural Designer ett särskilt omnämnande.

Neural Designer fokuserar enbart på neurala nätverk och utmärker sig på många sätt:

  • Ingen programmering krävs.
  • Enkelt och lättförståeligt gränssnitt.
  • Avancerade algoritmer för neurala nätverk.
  • CPU-parallellisering och GPU-acceleration för hög prestanda.

Absolut värd att testa!

Prevision.io

Prevision.io är en plattform som hjälper dig att hantera alla aspekter av maskininlärning, från databearbetning till storskalig implementering.

PredictionIO

Om du är utvecklare är PredictionIO ett mycket användbart verktyg som du bör kolla in. Det är en maskininlärningsplattform som snabbt kan bygga förutsägelser baserat på data från din app.

Låt dig inte luras av namnet, PredictionIO stöder hela spektrumet av maskininlärning. Här är några anledningar till varför det är så bra:

  • Stöd för klassificering, regression, rekommendationer, NLP och mer.
  • Byggd för att hantera stora arbetsbelastningar i en big data-miljö.
  • Flera förbyggda mallar.
  • Levereras med Apache Spark, MLlib, HBase, Akka HTTP och Elasticsearch.
  • Kombinerad datainmatning från flera källor.
  • Lätt att använda via webbtjänster.

För de flesta webbprojekt är PredictionIO ett mycket bra alternativ.

Slutsats

Det råder ingen brist på ramverk och plattformar för AI och ML idag. Jag blev överväldigad av alternativen när jag började göra research för den här artikeln. Därför har jag försökt begränsa listan till de som är unika eller intressanta. Om du tycker att jag har missat något viktigt, hör gärna av dig.

Coursera har många bra maskininlärningskurser, om du vill lära dig mer.

Så vilken plattform är bäst? Det finns tyvärr inget enkelt svar. Det beror till stor del på vilken teknik du använder och vad du vill uppnå. Många tjänster är också bundna till ett visst ekosystem, vilket kan vara både en fördel och en nackdel.

En annan anledning är att AI- och ML-teknik har blivit alltmer standardiserad, vilket har lett till en kapplöpning för att erbjuda så många funktioner som möjligt till ett så lågt pris som möjligt. Ingen leverantör har råd att inte erbjuda det som de andra gör, och nya funktioner kopieras snabbt av konkurrenterna.

I slutändan handlar det om vad du behöver, vilken plattform du tycker är mest intuitiv, och vad du tycker om företagen bakom den. Det viktiga är att AI nu är tillgängligt som en tjänst, och det är dumt att inte använda det.