Microsoft is busy prepping developers for the next big Windows 10 update, version 1803, and it is putting the focus on machine learning. Due in March or April this year, the new version will include a new machine-learning framework for using machine-learning models in Windows applications.
Until now, much of the machine-learning focus we've seen across the entire computer industry has focused on cloud systems. Data sets are processed to build models, and these models can be used to recognize patterns. For example, an industrial system visually inspecting manufactured items for defects would train its model by processing images of known working and known defective items. The machine learning system would learn what the good objects and bad objects look like and build a model. This model could then be used to examine images of newly made items, and it could then classify them as either likely working or likely defective.
The cloud focus has existed because building the models generally requires large data sets and substantial computing power. However, running the model to use it to classify data is much less demanding. That's not to say that it's necessarily trivial—running models against live video, for example, can still require multiple GPUs to perform acceptably—but it tends to be "PC scale" rather than "cloud scale."
Models can, of course, also be run in the cloud, but running them locally has a number of benefits. For service providers, there's the simple feature that end-user resources are free to use, and cloud services cost money. If you can run things on a client machine instead of a cloud system, you cut your monthly cloud bills. Local execution is lower latency, since it doesn't have to send data over a network, and has obvious privacy benefits: sensitive data never has to leave the premises.
This is where Microsoft's machine-learning framework comes into play. It's a new Windows component (available on every Windows variant—not just PCs, but also HoloLens, servers, and Internet of Things devices) for running machine learning models. It's hardware accelerated; on the CPU it will use instruction sets up to and including the latest AVX512, and it can also be used on the GPU, with Microsoft saying that about 80 percent of Windows 10 systems have sufficiently powerful GPUs to run the models. There's also a driver model for dedicated machine-learning accelerators (things like Intel's Movidius "vision processing unit") so that these, too, can be used to run the models. The models themselves use a format called ONNX, developed by Microsoft, Facebook, and Amazon Web Services and supported by Nvidia, Qualcomm, Intel, and AMD.
Microsoft itself is going to be updating its Photos application to use the new framework. The Photos app has a number of machine-learning-driven features, such as face detection and related video content identification.
The company also says that it's going to be updating Visual Studio to improve its support for ONNX and make it easier for developers to build applications with machine-learning-powered features.