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

Nu när vi vet att Terminators inte kommer för att få oss, är det dags att bli vän med artificiell intelligens och dra nytta av det!

Under lång tid var området för artificiell intelligens, och dess mest kända underdisciplin, Machine Learning, omgivna av en mystisk aura. Propagandapressmaskineriet pumpade ut artikel efter artikel som förutsade uppkomsten av superintelligenta, superoberoende och superonda maskiner, vilket fick många att falla i förtvivlan (inklusive mig själv).

Och vad har vi idag att visa för allt buller och rök? En AI-teknik som är långt ifrån perfekt, pinsam misstagoch en begränsad, felaktigt fungerande robot som nästan med våld förvandlades till en medborgare. Heck, vi har inte ens en anständig språköversättningsalgoritm ännu.

Om någon i dag fortfarande insisterar på att domedagen är nära, här är min reaktion:

Så vad är AI, ML och alla dessa modeord om inte slutet på mänskligheten?

Tja, det här är nya sätt att programmera en dator för att lösa problemen relaterade till klassificering och förutsägelse. Och gissa vad, vi har äntligen många AI-tjänster som du kan börja använda direkt i din affärsapplikation och skörda enorma fördelar.

Vad kan AI-plattformarna göra för företag idag?

Bra fråga!

Artificiell intelligens är så generisk i sin tillämpning (åtminstone i teorin) att det skulle vara omöjligt att peka ut syftet för vilket den utvecklades. Det är som att fråga vad ett kalkylblad har utvecklats för och vad man kan göra med det. Visst, det utvecklades för redovisning, men idag överstiger det vida det ansvaret. Och bokföring är inte den enda funktionen – människor använder det som ett projektledningsverktyg, som en att göra-lista, som en databas och vad inte.

Samma sak med AI.

Grovt sett är AI användbar för uppgifter som är löst definierade och förlitar sig på att lära sig av erfarenhet. Ja, det är vad människor också gör, men AI har en fördel eftersom den kan bearbeta berg av data på nolltid och komma fram till slutsatser mycket, mycket snabbare. Som sådan är några av de typiska tillämpningarna av AI:

  • Upptäcka ansikten i ett foto, video, etc
  • Klassificering och taggning av bilder, till exempel för föräldrarådgivning
  • Konvertering av tal till text
  • Objektdetektering i media (t.ex. en bil, en kvinna, etc.)
  • Förutsägelse av aktiekursrörelser
  • Upptäcka finansiering av terrorism (bland miljontals transaktioner per dag)
  • Rekommendationssystem (shopping, musik, vänner, etc.)
  • Captcha går sönder
  • Skräppostfiltrering
  • Detektering av nätverksintrång

Jag skulle kunna fortsätta och fortsätta och förmodligen få slut på sidor (bildligt talat), men jag antar att du förstår idén nu. Dessa är alla exempel på problem som människor har kämpat för att lösa genom traditionella datormetoder. Och ändå är dessa viktiga eftersom de har ett enormt behov i affärer och i den verkliga världen.

Så, utan vidare, låt oss börja med listan över våra bästa AI-plattformar och se vad de har att erbjuda.

Amazon AI Services

Precis som Amazon snabbt sätter företag i konkurs, så är AWS så helt dominerande som plattform att det nästan inte finns något annat som kommer att tänka på. Detsamma gäller med Amazon AI Servicessom är proppfull av otroligt användbara AI-tjänster.

Här är några av de häpnadsväckande tjänsterna som AWS har.

Amazon Comprehend: Hjälper dig att förstå allt berg av textuella, ostrukturerade data du har. Ett användningsfall är att utvinna befintliga kundsupportchattar och ta reda på vad nöjda nivåer har varit över tid, vad kundens största bekymmer är, vilka sökord som används mest, etc.

Amazon Forecast: Noll-setup-tjänst för att använda din befintliga tidsseriedata och omvandla den till korrekta prognoser för framtiden. Om du undrar vad tidsseriedata är, ta en titt på den här artikeln jag skrev nyligen (leta efter en databas som heter Timescale mot slutet av artikeln).

Amazon Lex: Bygg in konversationsgränssnitt (textuella och/eller visuella) i dina applikationer. Bakom kulisserna körs Amazons utbildade Machine Learning-modeller som avkodar avsikt och gör tal-till-text i farten.

Amazon Personalize: Enkel tjänst utan infrastruktur för att skapa rekommendationer för dina kunder eller dig själv! Du kan mata in e-handelsdata eller nästan vad som helst till den här tjänsten och få mycket exakta och intressanta förslag. Ju större datamängden är, desto bättre blir rekommendationerna naturligtvis.

Det finns många fler AI-tjänster som Amazon har, och du kan i stort sett spendera hela dagen med att bläddra igenom dem. Trots det är det en aktivitet jag varmt rekommenderar! 🙂

Obs: Det är svårt att hitta en sammanfattning av alla dessa tjänster tillsammans på AWS-dokumenten, men om du går till https://aws.amazon.com/machine-learning, listas dessa i rullgardinsmenyn under ”AI-tjänster.”

TensorFlow

TensorFlow är ett bibliotek (och även en plattform) skapat av teamet bakom Google Brain. Det är en implementering av ML-underdomänen som kallas Deep Learning Neural Networks; det vill säga, TensorFlow är Googles syn på hur man uppnår maskininlärning med neurala nät med hjälp av tekniken för djupinlärning.

Nu betyder det att TensorFlow naturligtvis inte är det enda sättet att använda neurala nätverk – det finns gott om bibliotek där ute, vart och ett med sina för- och nackdelar.

I stora drag låter TensorFlow dig maskininlärningskapaciteten för många olika programmeringsmiljöer. Som sagt, basplattformen är ganska visuell och förlitar sig mest på grafer och datavisualiseringar för att få jobbet gjort. Som sådan, även om du är en icke-programmerare, är det möjligt, med viss ansträngning, att få bra resultat av TensorFlow.

Historiskt sett var TensorFlow inriktat på att ”demokratisera” maskininlärning. Såvitt jag vet var det den första plattformen som gjorde ML enkelt, visuellt och tillgängligt i denna grad. Som ett resultat exploderade ML-användningen och människor kunde enkelt träna modeller.

Det viktigaste försäljningsargumentet för TensorFlow är Keras, som är ett bibliotek för att effektivt arbeta med neurala nätverk programmatiskt. Så här enkelt är det att skapa ett enkelt, helt uppkopplat nätverk (perceptron):

model = tf.keras.Sequential()
# Adds a densely-connected layer with 64 units to the model:
model.add(layers.Dense(64, activation='relu'))
# Add another:
model.add(layers.Dense(64, activation='relu'))
# Add a softmax layer with 10 output units:
model.add(layers.Dense(10, activation='softmax'))

Naturligtvis måste konfiguration, utbildning etc. också göras, men de är också lika enkla.

Det är svårt att hitta fel med TensorFlow, med tanke på dess förde ML till JavaScript, mobila enheter och till och med IoT-lösningar. Men i puristernas ögon förblir det en ”mindre” plattform som varje Tom, Dick och Harry kan bråka med. Så var redo att möta lite motstånd när du flyttar upp på skicklighetsstegen och möter fler ”upplysta” själar. 🙂

Om du är nybörjare, kolla in det här TensorFlow introduktion onlinekurs.

Notera också: Viss kritik mot TensorFlow nämner att den inte kan använda GPU:er, vilket inte är sant längre. Idag fungerar TensorFlow inte bara med GPU, utan Google har utvecklat sin enda specialiserade hårdvara som kallas TPU (TensorFlow Processing Unit), som är tillgänglig som ett moln service.

Google AI-tjänster

Precis som Amazons tjänster har Google också en svit av moln tjänster kretsar kring AI. Jag kommer att avstå från att lista ut alla tjänster, eftersom de är ganska lika Amazons erbjudanden. Här är en skärmdump av vad som är tillgängligt för utvecklare att bygga om de är intresserade:

I stort sett finns det två sätt att använda Googles AI-tjänster. Den första är att använda en modell som redan utbildats av Google och bara börja tillämpa den i dina produkter. Den andra är den så kallade AutoML tjänst, som automatiserar flera mellanliggande stadier av maskininlärning, och hjälper till exempel fullstackutvecklare med mindre ML-expertis att bygga och träna modeller enkelt.

H2O

”2” i H2O är tänkt att vara en nedskrivning (liknar den kemiska formeln för vatten, antar jag), men det är besvärligt att skriva ut det. Jag hoppas folket bakom H2O har inget emot det!

H2O är en öppen källkodsplattform för maskininlärning som används av stora namn som ingår i Fortune 500.

Huvudtanken är att få den senaste AI-forskningen att nå allmänheten snarare än att låta den förbli i händerna på företag med djupa fickor och hävstång. Flera produkter erbjuds under H2O-plattformen, såsom:

  • H2O: Basplattformen 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 gör även lösningar skräddarsydda för företaget, och dessa inkluderar:

  • Förarlös AI: Nej, förarlös AI har inget med självkörande bilar att göra! 🙂 Det är mer på linje med Googles AutoML-erbjudande — de flesta av AI/ML-stegen är automatiserade, vilket resulterar i verktyg som är enklare och snabbare att utveckla med.
  • Betald support: Som företag kan du inte vänta på att ta upp GitHub-problem och hoppas att de blir besvarade snart. Om tid är pengar erbjuder H2O betald support och rådgivning för stora företag.

Petuum

Petuum utvecklar Symfoni plattform, som är designad för att inte-få-mig-tro att AI fungerar. Med andra ord, om du är trött på att koda och/eller inte vill memorera fler bibliotek och utdataformat kommer Symphony att kännas som en semester i Alperna!

Även om det inte finns något ”öppet” med Symphony-plattformen, är funktionerna värda att dregla över:

  • Dra-och-släpp användargränssnitt
  • Bygg enkelt interaktiva datapipelines
  • Massor av standardiserade och modulära byggstenar för att skapa mer sofistikerade AI-applikationer
  • Programmering och API-gränssnitt som känner att det visuella sättet inte är tillräckligt kraftfullt
  • Automatiserad optimering med GPU:er
  • Distribuerad, mycket skalbar plattform
  • Dataaggregation med flera källor

Det finns många fler funktioner som verkligen får dig att känna att inträdesbarriären har sänkts avsevärt. Högt rekommenderad!

Polyaxon

Den största utmaningen idag inom maskininlärning och AI är inte att hitta bra bibliotek och algoritmer (eller ens inlärningsresurser), utan den skickliga ingenjörskonsten som måste tillämpas för att hantera de enorma systemen och höga databelastningar som blir resultatet.

Även för erfarna mjukvaruingenjörer kan det vara för mycket begärt. Om du också känner så, Polyaxon är värt en titt.

Polyaxon är inte ett bibliotek eller ens ett ramverk; snarare är det en komplett lösning för att hantera alla aspekter av maskininlärning, som:

  • Dataanslutningar och streaming
  • Hårdvaruacceleration
  • Containerisering och orkestrering
  • Schemaläggning, lagring och säkerhet
  • Pipelining, optimering, spårning m.m.
  • Dashboarding, API:er, visualiseringar, etc.

Det är ganska mycket biblioteks- och leverantörs-agnostisk, eftersom ett stort antal populära (öppen och sluten källkod) lösningar stöds.

Naturligtvis måste du fortfarande hantera driftsättning och skalning på en viss nivå. Om du vill slippa även det, erbjuder Polyaxon en PaaS-lösning som låter dig använda deras infrastruktur elastiskt.

DataRobot

Enkelt uttryckt, DataRobot är en fokuserad maskininlärningslösning för företaget. Det är visuellt hela vägen och är designat för att snabbt förstå din data och använda den till konkret affärsanvändning.

Gränssnittet är intuitivt och elegant, vilket gör att icke-experter kan sätta sig bakom hjulen och generera meningsfulla insikter.

DataRobot har inte en uppsjö av funktioner; istället fokuserar den på den traditionella känslan av data och ger stensolida möjligheter inom:

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

Oftast är det allt du behöver för ditt företag. Det vill säga, i de flesta fall är DataRobot allt du behöver. 🙂

Neural Designer

Medan vi är på ämnet lättanvända, kraftfulla AI-plattformar, Neural Designer förtjänar ett särskilt omnämnande.

Det finns inte mycket att säga om NeuralDesigner, men det finns mycket att göra! Med tanke på att Neural Networks mer eller mindre har dominerat den moderna Machine Learning-metoden är det vettigt att arbeta med en plattform som enbart fokuserar på Neural Networks. Inga många val, inga distraktioner – kvalitet framför kvantitet.

NeuralDesigner utmärker sig på många sätt:

  • Ingen programmering krävs. Alls.
  • Inget komplext gränssnitt krävs. Allt är upplagt i förnuftiga, lättförståeliga, ordnade steg.
  • En samling av de mest avancerade och förfinade algoritmerna specifika för neurala nätverk.
  • CPU-parallellisering och GPU-acceleration för hög prestanda.

Värt a se? Definitivt!

Prevision.io

Pervision.io är en plattform för att hantera alla aspekter av maskininlärning, från bearbetning av data till implementering i stor skala.

PredictionIO

Om du är en utvecklare, PredictionIO är ett otroligt användbart erbjudande som du bör titta närmare på. I grunden är PredictionIO en maskininlärningsplattform som kan ta in data från din app (webb, mobil eller annat) och snabbt bygga förutsägelser.

Låt dig inte luras av namnet – PredictionIO är inte bara för förutsägelser, utan stöder hela spektrumet av maskininlärning. Här är några coola skäl att älska det:

  • Stöd för klassificering, regression, rekommendationer, NLP och vad inte.
  • Bygg för att hantera allvarliga arbetsbelastningar i en Big Data-miljö.
  • Flera förbyggda mallar för de som har bråttom.
  • Levereras med Apache Spark, MLlib, HBase, Akka HTTP och Elasticsearch, vilket tillgodoser alla möjliga behov av en robust, modern app.
  • Kombinerad datainmatning från flera källor, oavsett om det är i batch- eller realtidsläge.
  • Utplacerad som en typisk webbtjänst — lätt att konsumera och mata.

För de flesta webbprojekt där ute ser jag inte hur PredictionIO inte är så vettigt. Varsågod och prova det!

Slutsats

Det finns ingen brist på AI och ML ramverk eller plattform idag; Jag blev överväldigad av val när jag började leta efter den här artikeln. Som ett resultat har jag försökt att begränsa denna lista till de unika eller intressanta. Om du tror att jag har missat något viktigt, vänligen meddela mig.

Coursera fick några av de fantastiska maskininlärningskurserna så kolla in om du är intresserad av att lära dig.

Så vilken plattform är bäst? Tyvärr finns det inget klart svar. En anledning till att de flesta av dessa tjänster är knutna till en viss teknologistack eller ekosystem (mest bygga vad som kallas en muromgärdad trädgård). Den andra, ännu viktigare, anledningen är att AI- och ML-teknologier vid det här laget har commoditized och det finns en kapplöpning för att tillhandahålla så många funktioner till så lågt pris som möjligt. Ingen leverantör har råd att inte erbjuda vad de andra erbjuder, och alla nya erbjudanden kopieras och serveras av konkurrenterna nästan över en natt.

Som sådan beror allt på vad din stack och mål är, hur intuitiv du tycker att tjänsten är, vad din uppfattning är om företagen bakom den, och så vidare.

Men hur som helst så säger det sig självt att AI äntligen är tillgänglig som en tjänst, och det skulle vara extremt oklokt att inte använda den. 🙂