At AWS Re:Invent 2016 today, Amazon rolled out new machine learning offerings -- both to keep ahead of furiously evolving competition and to provide tools that range from simple, high-level services to expert-level products.
Hardware for the hardcore
No Amazon announcement day would be complete without new AWS EC2 features. One of today's machine-learning related announcements, Elastic GPUs, allows GPUs to be attached to one of eight existing EC2 instance types, as opposed to forcing the user to pick from a smaller range of EC2 instances pre-equipped with GPUs.
It's hard not to see this as a direct slap at Google's recent moves. Earlier in November, Google offered GPU instances for the first time on its cloud, allowing up to eight GPUs to be attached to an existing system. Whatever the motive, it allows more flexibility in dealing with GPUs in EC2, although it isn't generally available yet for Amazon customers; the only time frame Amazon would give is "soon."
GPUs may be the foundation for the current wave of hardware for machine learning, but Amazon and others are already eyeing what's next in that field: FPGAs. Amazon's latest offering is a new EC2 instance type, the F1, that includes up to eight Xilinx UltraScale+ VU9P FPGAs and accompanying programming tools.
FPGAs probably will complement, not displace, CPUs. Al Hilwa, Program Director of Software Development Research at IDC, stated in an email that FPGAs will "typically be used for highly customized compute workloads," such as "image, video and audio stream processing, often done in the context of preparing data for machine learning."
Right now there are far more machine learning software tools for GPUs than for FPGAs. However, apps written for the F1 can be shared on the AWS Marketplace, which should eventually provide many more examples to learn from, reuse, and repurpose.
See and speak
Not everyone wants to build entirely from scratch. For that audience, Amazon unveiled three new high-level, machine-learning powered services for text-to-speech, image recognition, and conversational interfaces.
Of the three, Amazon Rekognition should be the most familiar -- it's essentially a refined version of an existing deep learning function. Feed it an image, and Rekognition will detect the presence of common objects in the image -- and perform face recognition -- and provide feedback on confidence levels regarding various aspects of the image (for example, "appears to be happy"). The API set is meant to be simple enough to allow quick demos to be hacked together, but the resulting data can be stored and reused for more sophisticated applications.
Amazon Polly is a text-to-speech service that allows for contextual translation of text to speech. For instance, abbreviations like "NYC" are automatically expanded to "New York City," but "Main St." and "St. Peter" would be expanded to "Main Street" and "Saint Peter." Text can also be marked up with contextual data if you want to be completely unambiguous, but Amazon's advantage is that you won't have to -- or you'll only have to in extreme cases.
Amazon Lex is in some regards the most adventurous, since it provides a workflow for building voice-driven, conversational interfaces, via the same engine that drives the Amazon Alexa service and Amazon Echo devices. Lex workflows are built using some of the same concepts behind chatbots, and they can connect to business logic from other Amazon technologies, such as AWS Lambda. Right now, Lex is only available as a preview in one AWS region (U.S. East), but it'll be popular if it delivers on its promise of not needing to fine-tune the machine learning components to get the best results.