Machine Learning
Taking AWS Machine Learning for a Spin
May 11, 2017 Fred Schwaner

One thing is for sure; Amazon Web Services is here to stay. As a 2015 Gartner report shows, Amazon has 10 times more cloud computing power than the next 14 providers combined. That’s a lot of horsepower for the >70 services AWS provides.

Machine Learning is one of the services that AWS users will no doubt want to play with. It allows datasets from S3, RDS, or Redshift to be used for training and evaluating models, provided the data set is less than 100GB. After a model is created, AML provides the ability to run single and batch operations on the model via a webservice. Code libraries to interact with these models are also available, and are very nicely put together. AML has now had just over a full year to mature. That being the case, I figured it was time to play around a bit and tell people what I found.

AML's strength lies not only in its ready availability on AWS, but in its complete ease of use. It's difficult to get lost while creating a model and evaluating its performance. No effort has been spared to make predictive analytics feel almost elementary, from selecting which data source to use, to specifying whether a data-type is categorical or numerical, to setting training and evaluation parameters. I'm not the first to laud AML for this, either.

 

As it stands right now, machine learning is in very high demand. There are simply not enough candidates to fill the roles in most ML-based companies. I like to think Amazon knew of this disparity and purposefully made its platform as approachable as possible so as to not frighten away the non-hardcore-ML-nerds.

 

After creating a model, interrogating the model is easy as well. The libraries Amazon provides to interface with AML are available in Node, Python, and .NET, to name a few. Using the python library, I was able to interrogate an ML model with data from a csv file in approximately 10 lines. Responses are also usually returned within 100ms, making them fast-enough for most applications in the IoT world.

 

One point of mild frustration with AML is the same thing that makes it great; the ease of use. It’s difficult to get an idea of what’s going on under-the-hood of the platform. In simplifying and cleaning the UX, Amazon has created a black box for experienced ML-users. In the “Advanced Settings” section for training a model, there are really only two variables to change. One can choose L1 or L2 regularization, and one can set the regularization parameter. Beyond that, however, you just have to assume AML is performing some magical proprietary optimization. In similar vein, AML also doesn’t provide a way of running your own models, like some other services do.

 

However, all-in-all, AWS ML is a quick, easy, and convenient way to get a predictive analysis project up-and-running without having to wade too deeply into the mire of machine learning.

Fred Schwaner
Machine Learning Engineer