Microsoft has a presence in most enterprise development and IT shops, so it’s not a surprise that the Azure AI and Machine Learning platform has a presence in most enterprise development, data analysis, and data science shops. Enterprise AI often has demanding requirements, and the Azure offerings do their best to meet them.
Azure AI and Machine Learning includes 17 cognitive services, a machine learning platform pitched at three different skill levels, cognitive search, bot services, and Azure Databricks, an Apache Spark product optimized for the Azure platform and integrated with other Azure services.
Rather than force companies to run all Azure services on the Azure platform, Microsoft also offers several Docker containers that allow companies to use AI on premises. These support a subset of Azure Cognitive Services, and allow companies to run the cognitive services within their firewall and near on-prem data, which is a sine qua non for companies with tight data security policies and companies subject to restrictive data privacy regulations.
Responsible AI was in the news recently, although not in a good way, when Google fired Timnit Gebru. Earlier in 2020, the Responsible AI news was more positive, as various companies introduced tools to promote more responsible machine learning. Microsoft, for example, added interpretability features to its Azure Machine Learning product, and also released three Responsible AI projects as open source: FairLearn, InterpretML, and SmartNoise.
Fairlearn contains mitigation algorithms as well as a Jupyter widget for model assessment, and has been integrated into a Fairness panel in Azure Machine Learning. InterpretML helps you understand your model’s global behavior, or understand the reasons behind individual predictions, and has been integrated into an Explanation dashboard in Azure Machine Learning. The SmartNoise project, in collaboration with OpenDP, aims to make differential privacy broadly accessible to future deployments by providing several basic building blocks that can be used by people involved with sensitive data. You can bring SmartNoise into a Python notebook by installing and importing the project, and adding a few calls to fuzz your sensitive data.
There is a plethora of frameworks and tools in use in the machine learning, deep learning, and AI world. While Azure AI supports dozens of these directly, there are hundreds more, which Azure handles by providing or allowing integration. Some, such as MLflow, integrate as Python packages; others, such as Pachyderm, integrate as containers, often on Kubernetes (AKS).
Azure Cognitive Services
Microsoft describes Azure Cognitive Services as “a comprehensive family of AI services and cognitive APIs to help you build intelligent apps,” and claims to have the “most comprehensive portfolio of domain-specific AI capabilities on the market,” although its competitors might disagree with that assessment. Azure Cognitive Services are aimed at developers who want to incorporate machine learning into their applications.
The services cover four areas: decision support, language, speech, and vision. Web search used to be included under Cognitive Services, but it has moved to another area, and I won’t cover it.
In general, Azure Cognitive Services don’t need to be trained, at least at the level you’d expect from Azure Machine Learning. Some Azure Cognitive Services do allow customization, but you don’t need to understand machine learning in order to accomplish that. Almost all Azure Cognitive Services have a free trial tier.
Decision support
The decision support area of Azure Cognitive Services includes an anomaly detector service, a content moderator, a metrics advisor, and a personalizer.
Anomaly Detector
With the Anomaly Detector service, you can embed anomaly detection capabilities into your apps so that users can quickly identify problems as soon as they occur. No experience with machine learning is required. Through an API, Anomaly Detector ingests time series data of all types and selects the best-fitting anomaly detection model for your data to ensure high accuracy. You can customize the service to your business’s risk profile by adjusting one parameter. You can run Anomaly Detector anywhere from the cloud to the intelligent edge.
There are three endpoints to an Anomaly Detector service: Detect the anomaly status of the latest point in the time series; find anomalies for the entire series in batch; and find trend change points for the entire series in batch. Under the covers, there are six algorithms for anomaly detection, used in three ensembles depending on the granularity and seasonality of the data; the service performs the selection automatically. The only parameter a user needs to adjust is the sensitivity.
I tested all three endpoints in the Azure console using sample data against a free Anomaly Detector service that I created. For each test I had to fill in the service name (iw-anomaly
) and subscription key. The most interesting of the three was the trend change points, shown below. The third screenshot below shows various kinds of anomalies that the service can detect.
In addition to console-based service testing, Azure supplies code samples using curl
, C#, Java, JavaScript, Objective-C, PHP, Python, and Ruby. There are also quick starts in C#, Python, and Node.js.
Content Moderator
The Content Moderator service, designed to help administrate social media, product review sites, and games with user-generated content, performs image moderation, text moderation, video moderation, and optional human review for predictions with low confidence or mitigating context.
The image moderation service scans images for adult or racy content, detects text in images using optical character recognition (OCR), and detects faces.
There are two text moderation APIs, one standard and one for customization. The standard API returns information about:
- Profanity: Term-based matching with built-in list of profane terms in various languages.
- Classification: Machine-assisted classification into three categories, ranging from sexually explicit to potentially offensive in some circumstances. This service can also recommend when human review should be performed.
- Personal data: Email address, SSN, IP address, phone, and mailing address.
- Auto-corrected text: Correction of frequent typos.
- Original text: Uncorrected text with typos.
- Language: An optional parameter that defaults to English.
The custom term list management API allows you to create and manage up to five lists of up to 10K terms each to augment the standard terms lists used by the content moderator text API.
The video moderation service scans videos for adult or racy content and returns time markers for said content. It also returns a flag saying whether it recommends a human review at each detected event.
Microsoft recommends the Content Moderator review tool website for working with the Content Moderator service, to provide a single interface for image, text, and video moderation reviews.
Metrics Advisor
The Metrics Advisor service builds on the Anomaly Detector service to monitor your organization’s growth engines, from sales revenue to manufacturing operations, in near-real time. It also adapts models to your scenario, offers granular analysis with diagnostics, and alerts you to anomalous events.
Personalizer
Personalizer is an AI service that delivers a personalized, relevant experience for every user. It uses reinforcement learning to optimize its model for your goals, and has an “apprentice” mode that only lets Personalizer interact with users after the service reaches a specified level of confidence in matching the performance of your existing solution.
Personalization can be an ethical minefield. Microsoft has guidelines for using Personalizer ethically, which cover the choice of use cases, building reward functions, and choosing features for personalization. As far as I can tell, neither Microsoft nor anyone else actually enforces those guidelines, although there are regulations about privacy (among other areas) that you could easily violate if you chose to ignore the guidelines and implement scenarios that could cause the user harm, such as personalizing offers on loan, financial, and insurance products, where risk factors are based on data the individuals don’t know about, can’t obtain, or can’t dispute.
The quickest way to understand the Personalizer service is probably to run the interactive Personalizer demo website, shown below.
Language
The language area of Azure Cognitive Services includes an immersive reader, a language understanding service, a conversational question and answer layer for your data, text analytics, and a language translator.
Immersive Reader
One consequence of the 2020 pandemic has been the need to attend school remotely, which doesn’t work well for all students. Immersive Reader lets you embed text reading and comprehension aids—i.e., audio and visual cues—into applications and websites with one line of code. You can help users of any age and reading ability with features like reading aloud, translating languages, and focusing attention through highlighting and other design elements.
Azure is the only major cloud provider offering this type of reading technology. Immersive Reader supports users with varying abilities and differences—including dyslexia, ADHD, autism, and cerebral palsy—as well as emerging readers and non-native speakers.