Shutterstock
Tien jaar geleden identificeerden Ion Stoica en zijn collega's aan de computerschool van UC Berkeley de wegversperring voor het uitvoeren van geavanceerde analyses. De uitdaging in die tijd was wat we toen Big Data noemden. Met dank aan het Hadoop-project konden goedkope opslag en rekenkracht worden benut, maar de klussen duurden meestal uren of dagen. Stoica en collega's werkten aan een oplossing die gebruikmaakte van geheugen, en het resultaat was het Apache Spark-project. Het is gemaakt in het AMPLab van UC Berkeley en is de de facto standaard geworden voor grootschalige batchgegevensverwerking, om nog maar te zwijgen van de technologie die heeft geleid tot een bedrijf dat momenteel wordt gewaardeerd op $ 28 miljard.
Snel vooruit naar het heden, en Stoica en zijn collega's hebben computergebruik geïdentificeerd als het nieuwe knelpunt, omdat de omarming van machine learning de verwerking van werklasten complexer heeft gemaakt. Ze verbruiken natuurlijk nog steeds veel data.
Ironisch genoeg is de verbroken verbinding niet het gevolg van een gebrek aan middelen. Alle ingrediënten voor het uitvoeren van AI-modellen in productie zijn nu aanwezig en als het goed wordt uitgevoerd, kan het behoorlijk kosteneffectief zijn. Serverloze services in de cloud zijn bijvoorbeeld populair geworden, maar ze zijn doorgaans beperkt tot het aanbieden van eenvoudige apps die zijn gebouwd met functies waarbij automatisch schalen de grote vereiste was. Opslag is behoorlijk goedkoop geworden en ontwikkelaars worden geconfronteerd met een rijkdom aan processorinstanties die aan het probleem kunnen worden aangepast, van GPU's tot gespecialiseerde ASIC's. Er zijn tal van frameworks, zoals TensorFlow, die ontwikkelaars helpen bij het structureren van de orkestratie van computing. En er is Kubernetes die orkestratie kan automatiseren.
Maar volledig stoppen. Tegenwoordig vereist het end-to-end-services die de implementatie van ML-modellen automatiseren, praktische kennis van Kubernetes en/of een complexe toolchain om het automatisch schalen af te handelen. En in tegenstelling tot de relatief eenvoudige apps die zijn gebouwd op basis van functies, omvatten machine learning en deep learning doorgaans complexe, meerstaps, iteratieve programma's die, vanuit rekenkundig oogpunt, bronnen verbruiken zoals klassieke HPC (high-performance computing).
De oplossing is ontwikkeld door de opvolger van AMPLab, RISELab, en is Ray, een open-sourceproject dat wordt gehost op GitHub. Stoica heeft samen met collega-lablid Robert Nishihara en collega Berkeley-professor Michael I. Jordan het project gemaakt en zij hebben het bedrijf Anyscale mede opgericht om het te commercialiseren. Met $ 60 miljoen aan financiering wordt het ondersteund door enkele van dezelfde venture-partners die achter Databricks staan. In een paar woorden, Ray zal ontwikkelaars en datawetenschappers in staat stellen om serverless compute te lanceren voor hun eigen ML-modellen en apps zonder kennis van het onderliggende sanitair. Vandaag trapt de Ray-gemeenschap de tweede Ray Summit af, met de gebruikelijke early adopter-verdachten die laten zien hoe datawetenschappers en ontwikkelaars op laptops dit voor elkaar hebben gekregen.
Simpel gezegd, Ray biedt een API voor het bouwen van gedistribueerde applicaties. Het stelt elke ontwikkelaar die op een laptop werkt in staat om een model te implementeren in een serverloze omgeving, waar de implementatie en autoscaling onder de dekens worden geautomatiseerd. Het levert een serverloze ervaring zonder dat de ontwikkelaar zich hoeft aan te melden voor een specifieke serverloze cloudservice of iets weet over het opzetten en uitvoeren van een dergelijke infrastructuur.
Een Ray-cluster bestaat uit een hoofdknooppunt en een set werkknooppunten die kunnen werken op elke infrastructuur, on-premises of in een openbare cloud. De mogelijkheden zijn onder meer een autoscaler die taken introspecteert en vervolgens het minimum aantal knooppunten activeert om ze uit te voeren, en de uitvoering controleert om meer knooppunten op te voeren of te sluiten. Er is echter enige montage vereist, omdat de ontwikkelaar zich moet registreren om instantietypen te berekenen.
Ray kan VM's starten en stoppen in de cloud naar keuze; de ray-documenten bieden informatie over hoe u dit kunt doen in elk van de grote clouds en Kubernetes.
Het zou je vergeven worden als je het gevoel krijgt dat Ray weer helemaal opnieuw déjà vu is. Stoica, die een belangrijke rol speelde bij het ontstaan van Spark, neemt een soortgelijke rol op zich met Ray. Beide zijn voortgekomen uit UC Berkeley en als open-sourceprojecten gaan beide de gemeenschapsroute in. Net zoals Spark pronkte met een portfolio van tientallen open source-bibliotheken die zijn bijgedragen door de community, zal hetzelfde gelden voor Ray. Het belangrijkste verschil is de doelgroep: terwijl Spark en Databricks gericht waren op datawetenschappers en data-ingenieurs, zal Ray vooral gericht zijn op ontwikkelaars die op zoek zijn naar snelkoppelingen om complexe machine learning-modellen in productie te nemen.
Ray-logo
Ray
Kafka-logo
Apache Kafka
En over dat logo. Ja, het lijkt erg veel op Kafka, nietwaar? Maar laat je niet gek maken. De invoer naar of uitvoer van het uitvoeren van een model op een Ray-cluster kan een Kafka-stream omvatten, maar dat is zo nauw als de verbinding tussen de twee wordt.
Net zoals Spark in Scala is ontwikkeld en er aanvankelijk voor is geoptimaliseerd, was Ray ontworpen voor Python en zijn ecosysteem van bibliotheken als een eersteklas burger, maar had hij een API die voldoende open was om vanuit andere talen te worden aangeroepen. Maar aanvankelijk zullen sommige talen en modellen gelijker zijn dan andere. Elke bibliotheek uit elke taal kan compute aanroepen via Ray's API. Toch kunnen bibliotheken worden geoptimaliseerd met gespecialiseerde uitvoeringsroutines om Ray's serverloze orkestratie efficiënter te benutten, met Horovod als affichekind.
Net zoals Databricks werd opgericht om een commercieel platform-as-a-service voor geoptimaliseerde Spark te leveren, zal Anyscale in dezelfde voetsporen treden. Stoica, die nog steeds uitvoerend voorzitter van Databricks is, herneemt zijn rol bij de nieuwe startup en lanceert, zoals eerder opgemerkt, met enkele van dezelfde venture-financiers. De service van Anyscale bevindt zich momenteel in de bètafase.
We kunnen ons voorstellen dat Anyscale wat toeters en bellen zou toevoegen, zoals het vooraf invullen van kenmerken van populaire knooppunttypen (bijv. Amazon EC2 C6g) en een rijkere beheerconsole dan het basisdashboard met de open-source community-editie. En hoewel Anyscale zijn API als “universeel” beschouwt, wat betekent dat het toegankelijk is vanuit programma's die in elke taal zijn geschreven, moet u niet verbaasd zijn als het bedrijf (zoals Databricks ervoor) optimalisaties ontwikkelt.
Big Data
Waar is IBM's hybride cloud launchpad? Zeven manieren om realtime technologie echt te maken voor uw organisatie Machine learning aan de edge: TinyML wordt groot Wat biedt Cloudera nu? McDonald's wil machine learning 'democratiseren' voor alle gebruikers in al haar activiteiten
gerelateerde onderwerpen:
Cloud Digital Transformation Robotics Internet of Things Innovatie Enterprise Software