Containers, Machine Learning, and Serverless Applications
For Google Cloud Next 2019, Google’s annual Cloud Platform developer conference, we teamed up to build experiences showcasing live machine learning, scalable infrastructure, and partnerships with NASA and the New York Times.
Three Pillars of AI
Bringing the power of machine learning to musicmaking – build a dataset, tweak and train your model, and test predictions live with a music box. Using fun interactions like digital guitar strings and large tangible buttons and knobs, this brought the process of teaching a machine to learn to life for attendees.
Initial prototypes were built with AutoML, where we used custom models to classify different notes by converting .wav files into spectograms. As the concept was developed further, we began collecting spectrograms in storage buckets, and using Google’s Cloud ML Engine to train models from scratch.
Using an intuitive interface of digital guitar strings, each representing a different instrument, we were able to create a diversity of sounds by changing MIDI data based on where the string was pulled, how hard, and for how long.
Users were given the opportunity to tweak hyperparams for a custom model, or to train using AutoML and the most recent 500 images. We POSTed the selection to an API that would kick off the training, and then save models in a BigQuery database.
For prediction, attendees were able to select from the most recent models, and then post batches of images to an endpoint. Results with a confidence score were returned, and the sounds were played back.
Deploying an app is as easy as building a train with Cloud Run, Google’s serverless kubernetes framework for stateless applications. Each car represents piece of an application – a load balancer, a server, a database, etc – which gets actually deployed to live infrastructure and load tested live.
Users selected a series of components, each containerized and deployed to Google Cloud. Highlighting the ease of development on Google Cloud, each of these applications were deployed,
Anthos, a managed Kubernetes platform, represented as a city. Different boroughs show different environments in an organization, with on-prem hardware and cloud servers living together in a single mesh.
Exhibiting the cross-cluster management abilities of Anthos, CSP City brought the painless nature of cluster management to the fore. Users are able to update versions, roll out changes, and change access policies across cloud and on-prem clusters.