Now that we know the Terminators aren’t coming to get us, it’s time to make friends with Artificial Intelligence and benefit from it!
For a long time the field of Artificial Intelligence, and its most famous sub-discipline, Machine Learning, were surrounded by a mysterious aura. The propaganda press machinery was pumping out article after article foretelling the rise of super-intelligent, super-independent, and super-evil machines, making many fall into despair (myself included).
And what do we have today to show for all the noise and smoke? An AI technology that is far from perfect, embarrassing mistakes, and a limited, malfunctioning robot that was, almost by force, turned into a citizen. Heck, we don’t even have a decent language translation algorithm yet.
If today, someone still insists that doomsday is nigh, here’s my reaction:
So what is AI, ML, and all those buzzwords if not the end of humanity?
Well, these are new ways of programming a computer to solve the problems related to classification and prediction. And guess what, we finally have many AI services that you can start using right away in your business application and reap tremendous benefits.
What can the AI platforms do for businesses today?
Artificial Intelligence is so generic in its application (at least in theory) that it’d be impossible to point out the purpose for which it was developed. It’s like asking what a spreadsheet was developed for and what one can do with it. Sure, it was developed for accounting, but today it far exceeds that responsibility. And accounting is not the only function — people use it as a project management tool, as a todo list, as a database, and what not.
Same goes with AI.
Roughly speaking, AI is useful for tasks that are loosely defined and rely on learning from experience. Yes, that’s what humans also do, but AI has an edge as it can process mountains of data in no time and arrive at conclusions much, much faster. As such, some of the typical applications of AI are:
- Detecting faces in a photo, video, etc
- Classifying and tagging images, for example, for parental advisory
- Speech to text conversion
- Object detection in media (e.g., a car, a woman, etc.)
- Stock prices movement prediction
- Terrorism funding detecting (among millions of transactions per day)
- Recommendation systems (shopping, music, friends, etc.)
- Captcha breaking
- Spam filtering
- Network intrusion detection
I could go on and on, and probably run out of pages (figuratively speaking), but I guess you get the idea now. These are all examples of problems that humans have struggled to solve through traditional means of computing. And yet, these are important as they have a tremendous need in business and the real world.
So, without further ado, let’s start with the list of our top AI platforms and see what they have to offer.
Amazon AI Services
Just as Amazon is rapidly putting companies out of business, so is AWS so wholly dominant as a platform that there’s almost nothing else that comes to mind. Same goes with Amazon AI Services, which is chock-full of incredibly useful AI services.
Here are some of the mind-blowing services that AWS has.
Amazon Comprehend: Helps you make sense of all the mountain of textual, unstructured data you have. One use case is that of mining existing customer support chats and figuring out what the satisfaction levels have been over time, what the major concerns of the customer are, what keywords are used the most, etc.
Amazon Forecast: Zero-setup service for using your existing time series data and turning it into accurate forecasts for the future. In case you’re wondering what time-series data is, take a look at this article I wrote recently (look for a database called Timescale towards the end of the article).
Amazon Lex: Build conversational interfaces (textual and/or visual) into your applications. Behind the scenes is running Amazon’s trained Machine Learning models that decode intent and do speech-to-text on the fly.
Amazon Personalize: Simple and no-infrastructure service to create recommendations for your customers, or yourself! You can input e-commerce data or just about anything to this service, and enjoy highly accurate and interesting suggestions. Of course, the larger the data set, the better the recommendations will be.
There are many more AI services Amazon has, and you could pretty much spend the whole day browsing through them. Nevertheless, it’s an activity I wholeheartedly recommend! 🙂
Note: It’s hard to locate a summary of all these services together on the AWS docs, but if you go to https://aws.amazon.com/machine-learning, these are listed in the dropdown under “AI Services.”
TensorFlow is a library (and also a platform) created by the team behind Google Brain. It’s an implementation of the ML subdomain called Deep Learning Neural Networks; that is to say, TensorFlow is Google’s take on how to achieve machine learning with neural nets using the technique of deep learning.
Now, that means TensorFlow is of course not the only way to use Neural Networks — there are plenty of libraries out there, each with its pros and cons.
Broadly, TensorFlow allows you the stock Machine Learning capabilities for many different programming environments. That said, the base platform is pretty visual, and relies mostly on graphs and data visualizations to get the job done. As such, even if you’re a non-programmer, it’s possible, with some effort, to get good results out of TensorFlow.
Historically, TensorFlow was aimed at “democratizing” Machine Learning. In my knowledge, it was the first platform that made ML simple, visual, and accessible to this degree. As a result, ML usage exploded, and people were able to train models easily.
The most significant selling point of TensorFlow is Keras, which is a library for efficiently working with Neural Networks programmatically. Here’s how simple it is to create a simple, fully-connected network (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'))
Of course configuration, training, etc., also need to be done, but they too are equally simple.
If you are a newbie, then check out this TensorFlow introduction online course.
Also note: Some criticism of TensorFlow mentions that it cannot use GPUs, which is not true anymore. Today TensorFlow not only works with GPU, but Google has developed its only specialized hardware called TPU (TensorFlow Processing Unit), which is available as a Cloud service.
Google AI Services
Just like Amazon’s services, Google also has a suite of cloud services revolving around AI. I’ll refrain from listing out all the services, as they’re pretty similar to Amazon’s offerings. Here’s a screenshot of what’s available for developers to build if they’re interested:
Broadly, there are two ways you can use Google’s AI services. The first one is to utilize a model already trained by Google and just start applying it in your products. The second is the so-called AutoML service, which automates several intermediary stages of Machine Learning, helping, say, full stack developers with lesser ML expertise to build and train models easily.
The “2” in H2O is supposed to be a subscript (resembling the chemical formula for water, I guess), but it’s bothersome to type it out. I hope the folks behind H2O won’t mind that much!
H2O is an open source platform for Machine Learning that is used by big names included in Fortune 500.
The main idea is to make cutting-edge AI research reach the general public rather than let it remain in the hands of companies with deep pockets and leverage. Several products are offered under the H2O platform, such as:
- H2O: The base platform for exploring and using Machine Learning.
- Sparkling Water: Official integration with Apache Spark for large data sets.
- H2O4GPU: GPU-accelerated version of the H2O platform.
H2O also makes solutions tailored for the enterprise, and these include:
- Driverless AI: No, Driverless AI doesn’t have anything to do with self-driving cars! 🙂 It’s more on the lines of Google’s AutoML offering — most of the AI/ML stages are automated, resulting in tools that are simpler and faster to develop with.
- Paid support: As an enterprise, you can’t wait for raising GitHub issues and hoping they get answered soon. If time is money, H2O offers paid support and consulting for large companies.
Petuum develops the Symphony platform, which is designed to don’t-make-me-think AI work. In other words, if you’re tired of coding and/or don’t want to memorize more libraries and output formats, Symphony will feel like a vacation in the Alps!
While there’s nothing “open” about the Symphony platform, the features are worth drooling over:
- Drag-and-drop UI
- Easily build interactive data pipelines
- Tons of standardized and modular building blocks to create more sophisticated AI applications
- Programming and API interfaces who feel the visual way is not powerful enough
- Automated optimization with GPUs
- Distributed, highly scalable platform
- Multi-source data aggregation
There are many more features that will truly make you feel that the barrier to entry has been lowered considerably. Highly recommended!
The biggest challenge today in Machine Learning and AI is not to find good libraries and algorithms (or even learning resources), but the skilled engineering that must be applied to deal with the behemoth systems and high data loads that result.
Even for seasoned software engineers, it can be too much of an ask. If you feel like that too, Polyaxon is worth a look.
Polyaxon isn’t a library or even a framework; rather, it’s an end to end solution for managing all aspects of Machine Learning, such as:
- Data connections and streaming
- Hardware acceleration
- Containerization and orchestration
- Scheduling, storage, and security
- Pipelining, optimization, tracking, etc.
- Dashboarding, APIs, visualizations, etc.
It’s pretty much library- and provider-agnostic, as a large number of popular (open and closed source) solutions are supported.
Of course, you still have to deal with deployment and scaling on a certain level. If you want to escape even that, Polyaxon offers a PaaS solution that lets you use their infrastructure elastically.
Simply put, DataRobot is a focused Machine Learning solution for the enterprise. It’s visual all the way and is designed to quickly make sense of your data and out it to concrete business use.
The interface is intuitive and sleek, allowing non-experts to get behind the wheels and generate meaningful insights.
DataRobot doesn’t have a flurry of features; instead, it focuses on the traditional sense of data and provides rock-solid capabilities in:
- Automated Machine Learning
- Regression and Classification
- Time Series
More often than not, these are all you need for your enterprise. That is to say, in most cases, DataRobot is all you need. 🙂
While we’re on the subject of easy-to-use, powerful AI platforms, NeuralDesigner deserves a special mention.
There isn’t a lot to say about NeuralDesigner, but there’s a lot to do! Given that Neural Networks has more or less dominated the modern Machine Learning methodology, it makes sense to work with a platform that focuses solely on Neural Networks. No many choices, no distractions — quality over quantity.
NeuralDesigner excels in many ways:
- No programming required. At all.
- No complex interface-building required. Everything is laid out in sensible, easy-t0-understand, ordered steps.
- A collection of the most advanced and refined algorithms specific to Neural Networks.
- CPU parallelization and GPU acceleration for high performance.
Worth a look? Definitely!
Pervision.io is a platform for managing all aspects of Machine Learning, right from processing data to deploying at scale.
If you’re a developer, PredictionIO is an incredibly useful offering you should look into. At its core, PredictionIO is a machine learning platform that can ingest data from your app (web, mobile, or otherwise) and quickly build predictions.
Don’t be deceived by the name — PredictionIO is not just for predictions, but supports the full spectrum of Machine Learning. Here are some cool reasons to love it:
- Support for Classification, Regression, Recommendations, NLP, and what not.
- Build to handle serious workloads in a Big Data setting.
- Several prebuilt templates for those in a hurry.
- Comes bundled with Apache Spark, MLlib, HBase, Akka HTTP, and Elasticsearch, catering to every possible need of a robust, modern app.
- Combined data ingestion from multiple sources, whether in batch or real-time mode.
- Deployed as a typical web service — easy to consume and feed.
For most web projects out there, I don’t see how PredictionIO doesn’t make a lot of sense. Go ahead and try it!
There’s no shortage of AI and ML framework or platform today; I was overwhelmed with choice when I started researching for this article. As a result, I’ve tried to narrow this list down to the unique or interesting ones. If you think I’ve missed something important, please let me know.
Coursera got some of the great machine learning courses so check out if you are interested in learning.
So, which platform is the best? Unfortunately, there’s no clear answer. One reason that most of these services are tied to a particular technology stack or ecosystem (mostly building what’s called a walled garden). The other, more important, the reason is that by now, AI and ML technologies have been commoditized and there’s a race to provide as many features at as low a price as possible. No vendor can afford not to offer what the others are offering, and any new offering gets copied and served by the competitors almost overnight.
As such, it all comes down to what your stack and goals are, how intuitive you find the service to be, what your perception of the companies behind it is, and so on.
But whatever the case, it goes without saying that AI is finally available as a service, and it would be extremely unwise not to make use of it. 🙂