Microsoft asserts that SQL Server is the first database with "built-in" artificial intelligence. No phrase has more definitions than "artificial intelligence." So, let's focus on the technologies that support Microsoft's claim rather than quibble about AI.
Moving Machine Learning to the Server-Side
Great excitement followed the introduction of the integration of R with SQL Server 2016. In 2017, what was introduced as "R Server" acquired support for Python and was re-dubbed as "Machine Learning Server."
In each case, the operative word is "Server." Traditionally, AI applications queried relational data and processed it like any other client application.
Machine-learning code is moving to the server. This shows an increased understanding that machine learning is no longer limited to a few workstations.
It is now widely applicable. Machine Learning is now viewed as an essential service. It is similar to database access and must be easily accessible to many clients. We can now bring the AI to the data rather than bring data to the AI.
New Potential for Hardware Acceleration
Less attention has been paid to the new opportunities arising from machine-learning applications. These opportunities involve hardware acceleration, which is built-in to the server side.
True, hardware acceleration is fundamental to the architecture of machine learning platforms like Google's Tensorflow and Microsoft's Cognitive Toolkit. However, at least at present, these platforms remain in the domain of the experienced developer rather than the data analyst. Moreover, with ever-increasing concerns about scalability and performance, hardware acceleration is no longer a luxury just for the few.
GPUs contain multiple floating-point cores. These have been used for a long time for analytical and machine-learning tasks that require a lot of computing power. However, tasks that involve GPUs are rare in a relational database's day-to-day operations. Therefore, SQL Server administrators have had little incentive to learn about GPU technology.
Now, however, this situation has changed. Machine learning tasks launched by SQL Server can benefit from GPU computing power. Furthermore, GPU acceleration is accessible through custom packages in both R and Python.
Microsoft XML can be configured to use GPU. This allows it to leverage extra computing power for neural network algorithms. Furthermore, no extra coding or effort from the data analyst is required.
Microsoft XML for R and Python
MicrosoftML is one of the packages provided by Microsoft in the Machine Learning Server. (It is also provided with Microsoft R Client).
Of course, not all the functions provided by MicrosoftML would benefit from GPU acceleration. Indeed, not all would benefit from multiple conventional processors. However, artificial neural networks require substantial computing power and can benefit significantly from the acceleration provided by GPUs.
The function rxNeuralNet() in MachineLearningML uses GPU power for faster computation. This reduces the load on the CPU cores.
Neural networks require a lot of work. This includes developing code and conditioning the networks with training data. In MicrosoftML, Microsoft provides built-in artificial intelligence in the form of ready-to-go pre-trained neural net models.
Four pre-trained models are available. These models are used for image recognition and sentiment analysis of text, for example, Twitter feeds and emails. Developers and machine learning enthusiasts will be interested to learn that these models were trained using the Microsoft Cognitive Toolkit. It is often referred to as the CNTK.
Some years ago, Microsoft started down the path leading to "self-service" business intelligence. Analysts and report writers of all types wanted to use BI tools without needing help from IT. In other words, they wanted to do it independently. With the introduction of Machine Learning Server and MicrosoftML functions, Microsoft has taken the first steps toward self-service AI.
This piece was originally posted on March 28, 2018, and has been refreshed with updated styling and links.