The best introductory step to the world of Microsoft AI and ML services one can take is understanding the high level spectrum of offerings. This spectrum ranges from pre-trained, readily available models (trained on data provided by Microsoft) all the way to 100% custom models, designed, built, trained, evaluated, and operated by developers, sysadmins, or data scientists. The following diagram summarizes this:
The Azure Cognitive Services are exposed as a set of ready to use REST APIs that cover the following major areas:
At the left side of the spectrum, these services are available for immediate consumption (provided you have a valid subscription for them). They are actually wrappers around complex machine learning models that Microsoft developed and trained using its own data. The significant effort and knowledge that are incorporated into these models enable you to address fairly complex scenarios with just a few HTTPS calls. At some point though, you might find yourself in a situation where the universe of the problem you attempt to address is way too specific and, because of that, the results provided by the pre-trained models are not good enough. It's time to move within the spectrum to the right (still using Cognitive Services) and provide your own (domain specific) data to train the models exposed by the APIs. You are still shielded from the complexity of developing the models on your own, but you can now help them better understand your specific problem. At this time, only the Vision and Speech APIs support this kind of customization, but there is certainly more to come in this area.
What if the type of problem you are looking to solve is not covered by Cognitive Services? Well, that's the point where you need to dive into the world of custom AI/ML. It's a world where you need to fire up your favorite environment, use your favorite language (which is most probably Python in this case) and start writing code to solve your problem. Luckily, your are still not required to implement the next VGG or ResNet. In addition to the huge number of libraries, a significant number of pre-build models are also available which can simplify the code you need to write. Finally, if even that is not enough, you will end up on the right hand of the spectrum where you will need to write most of the code needed to address your problem. Of course, tons of libraries are out there to help you depending on the complexity, size, and specificity of your problem.
Obviously, there are more than one platforms you can use for custom development. I choose the Machine Learning Service because it is at this moment the most relevant one and promises to emerge as the one platform in Azure that will "glue" together the whole custom AI/ML development story. The Azure Machine Learning Services are exposed via the AML Python SDK which allows any Python-enabled environment to get access to the following major categories for features:
So, this is the 10000 ft view of the current AI/ML spectrum of offerings available in Microsoft Azure. You can start from having to just make HTTPS calls and go all the way to developing your own solutions taking advantage of the raw computing power, storage, and elasticity of Microsoft's public cloud. Follow The Hitchhiker's Guide to Microsoft AI to get the rest of the story in detail.