http://aka.ms/AIcommunity

#Azure #MicrosoftAIJourney

Robin.Lester@.com

[email protected] Join MPN as a Network member, as entry level into the program https://partner.microsoft.com/en-gb/membership http://aka.ms/AIcommunity

#Azure #MicrosoftAIJourney • What AI means to Microsoft and Microsoft partners 21st September, 2018 • http://aka.ms/AIjourney1 • AI without a PhD - Exploring speech, text, vision and bots 16th October, 2018 • http://aka.ms/AIjourney2 25th October 2018 • HOL - Create a Cognitive Search solution for Enterprise Documents • Getting to grips with AI and Machine Learning 6th November, 2018 • http://aka.ms/AIjourney3 7th November, 2018 • HOL - Predictive Maintenance • AI - from theory to production 22nd November, 2018 • http://aka.ms/AIjourney4 • Deep into data science and AI 4th December, 2018 • http://aka.ms/AIjourney5 9:30 Start • Introduction to AI 10:45 Coffee • Introduction to AI 12:00 Lunch • Microsoft value proposition on AI • Microsoft case studies including Microsoft Research projects • Technological and learning resources available • Panel Q and A https://www.microsoft.com/en-gb/partner/pledge/ E- Cloud and Internet Mobile AI Commerce Big Data Time to adapt is shrinking

A hundred years ago, the average lifespan of a company listed on the S&P 500 index was 67 years In the 2020s… 75% of the S&P 500 will be new (not on the index today) 25% of the S&P 500 will be ones on the index today

67 25 15 Years Years Years

1920 1930 1940 1950 1960 1970 1980 1990 2000 2010's 2020's

Source: BBC

1812 1943 1950 1951 1956 1968 1969

• Bayes Theorem • WWII - Alan • Isaac Asimov – I • First Neural • ‘Artificial • 2001 a space • Shakey the (Pierre-Simon Turing – Turing Robot Network intelligence’ Odyssey Robot – Laplace Test – to fool a • Turing test Machine. terminology navigate “Théorie human into Stochastic invented by surroundings analytique des thinking they neural analog John McCarthy probabilités” were talking to reinforcement and start of a person calculator cold war (SNARC) investment in AI

1973 – 1981 The 1981 1990-1 1995 1995 1997 AI winter

• US Congress • ‘Expert systems - • Rodney Brooks = • Tin Kam Ho - • Corinna Cortes and • Deep Blue beat criticising spending focused on much ‘Elephants Don’t Random Forrest Vapnik - Support Garry Kasparov and spending was narrower tasks Play Chess’ Algorithm Vector Machines cut • Revival of neural • Lighthill report networks damaged UK • Microsoft Research Formed “Our goal is to democratise AI to empower every person and every organisation to achieve more.” Satya Nadella core currency

data into AI

Every developer AI developer 1999 Filter Junk Email

2004 Search Engine

2006 SSAS Data Mining

2008 ML Traffic Predictions

2010 Kinect understanding gestures

2012 Realtime Speech to Speech translation

2014 Azure Machine Learning

2015 Microsoft R Server

2016 In database R

2017 … Machine learning Cloud Computing Quantum Computing Deep Neural Networks

Data Explosion

Science Fiction Becomes Reality 2,500,000,000,000,000,000 bytes per day 10,000,000X the number of known galaxies in the universe 500,000X the number of pizzas served worldwide in a year 10X the number of seconds since the Big Bang

Microsoft AI: the first to reach human parity

2015 2018 Microsoft 2017, Switchboard 5.1%

22 22 2018 Microsoft AI is the 2010s first to reach Neural MT Human Parity on 1990s Chinese to English 深度学习机器翻译 Statistical MT news translation 1980s 统计机器翻译 微软新系统 - 首次 Traditional MT 达到中英专业人员 传统机器翻译 新闻翻译水平 https://twitter.com/ch402 The Starry Night, van Gogh Created by a GAN

“I believe over the next decade computing will become even more ubiquitous and intelligence will become ambient. This will be made possible by an ever-growing network of connected devices, incredible computing capacity from the cloud, insights from big data, and intelligence from machine learning.“ Satya Nadella AI Platform • Azure services

Infusing AI • Adding AI in all products

Business Solutions • Vertical business solutions

• Discover on Azure AppSource Azure AI Gallery • Deploy in minutes • Configure/Customize • Implement with Partners

1950 1960 1970 1980 1990 2000 2010 What is Machine Learning?

Arthur Samuel in 1959 wrote, "Machine Learning is the field of study that gives computers the ability to learn without being explicitly programmed.

Supervised Learning Unsupervised Reinforcement • Learning from data with Learning Learning the goal to predict the • Observe only the • Rewards or punishments value of an outcome features and have no teach the system how to measure based on a measurements of the act number of input outcome measures. • Describe how the data • The outcome Variable is are organized or known and guiding the clustered. learning process

•Structure business rules and logic flow Optimized •Analyse and resolve causality

•Enforce rules/login at data entry •Automate data inspection Managed •Manage expectations Data •Determine data conformance with policies Quality •Define data quality business rules and logic •Define data universe (acceptable parameters) •Active data inspection Proactive •Determine completeness of dataset •Scheduled data maintenance

•Identify data steward •Quantify data impact •Identify Gaps Reactive •Determine process to manually clean data •Perform ad hoc data maintenance

•Identify priority dataset •Identify data dependencies Aware •Identify potential data risks Computer Science

Busniess Data Have a Mathematics Select the Train the Test the Wrangling/Quality Supportquestion Prep data Domain algorithm model modeland to answer Knowledge Access to Agile Statistics Development Algorithms Have a Select Train the Test the question Prep data the model model to answer algorithm Enough Enough Clearly relevant Access to data to defined features to labelled train an problem be data accurate statement predictive model of the label

Choosing the Understanding Being able to Quality of the right data Deep skills in ML algorithms test and data scientist science statistics and which one evaluate results language to use where quickly 1) Select features Target Feature 1 Feature 3 Feature 6 Value

Chosen Candidate Learning Model 2) Input training data Algorithm 3) Generate (75% of all data for candidate features 1, 3, and 6) model

Training Data Target Feature 1 Feature 3 Feature 6 Value

Candidate Model 1) Input test data 2) Generate (remaining 25% of target values all data for features from test data 1, 3, and 6)

Training Data

3) Compare target values generated from test data with actual target values 1) Select different features 3) Modify learning algorithm Feature 1 Feature 2 Feature 5 parameters or choose a different algorithm

Chosen Learning Candidate Algorithm Model

A model might also need to be explainable

2) Add more (or newer) example data Available Learning Algorithms Machine Learning Development

VISUAL DRAG -AND-DROP CODE -FIRST

59

The most critical next step in our pursuit of A.I. is to agree on an ethical and empathic framework for its design.

SATYA NADELLA AI must be designed to assist • Machines that work alongside humans should do "dangerous work like mining" but still humanity "respect human autonomy."

• "We want not just intelligent machines but intelligible machines, People should have an AI must be transparent understanding of how the technology sees and analyzes the world."

AI must maximize efficiencies without • "We need broader, deeper, and more diverse engagement of populations in the design of destroying the dignity of people these systems. The tech industry should not dictate the values and virtues of this future."

AI must be designed for intelligent • “Sophisticated protections that secure personal and group information." privacy

AI must have algorithmic • “Humans can undo unintended harm." accountability

• "Proper and representative research" should be used to make sure AI doesn't discriminate AI must guard against bias against people (like humans do).

I must not be I must not stop Overriding “Car please drive turned off as I for pedestrians to the shop” have a goal to as I have a goal goal achieve to achieve Your need is not great enough, I will Human “Car please drive me look for someone to the shop” who is injured and help goal needs a lift With 5 photos 91% accurate for men 83% accurate for women

http://www.rogerscime.com/2011/04/3-ways-opinion-polls- deliberately-get-it-wrong—and-what-you-can-do-about-it/

https://www.independent.co.uk/voices/man-fired-computer-machine-ai-artificial-intelligence- security-systems-work-employment-future-a8428631.html

https://www.msn.com/en-us/news/world/at-a-chinese-school-big-brother-charts- every-smile-or-frown/ar-AAzxEVP?ocid=spartandhp

Zhu Juntao, a 10th-grader at Hangzhou No. 11 High School, says most of his classmates want to get rid of the school's emotion-tracking cameras. https://www.microsoft.com/en-gb/partner/pledge/

Illegal Acts, Legal Ethical Morally Minimum Maximum problematic

Is it not just a lot of IF statements? Decision Tree

Support Does it warp space and time to see the future? Vector Machine

Deep Neural Does build a brain to predict outcomes? Networks ID Age Gender Married Credit risk

1 19 M Y 1 2 21 F N 1 3 25 M N 0

4 35 F Y 1 Married Total Population = 2 5 39 M N 0 Credit risk = 2 6 41 F Y 0 Age < 39 No Credit Risk = 0 Total Population = 4 Credit Risk Percent 100% 7 45 F Y 0 Credit risk = 3 No Credit Risk = 1 Not Married 8 50 M N 1 Credit Risk Percent 75% Total Population = 2 Credit risk = 1 No Credit Risk = 1 Total Population = 8 Credit Risk Percent 50% Credit risk = 4 No Credit Risk = 4 Credit Risk Percent 50% Married Total Population = 2 Credit risk = 0 Age >= 39 No Credit Risk = 2 Total Population = 4 Credit Risk Percent 0% Credit risk = 1 No Credit Risk = 3 Not Married Credit Risk Percent 25% Total Population = 2 Credit risk = 1 No Credit Risk = 1 Credit Risk Percent 50% Linear adjective 1. of, consisting of, or using lines: linear design. 2. pertaining to or represented by lines: linear dimensions. 3. extended or arranged in a line: a linear series. www.dictionary.com/browse/linear

https://brohrer.github.io/blog.html Input Output Activation Weights Outputs

w11

w21

w31

Input Output Error back propagation

3

Feedforward of information

ImageNet classification challenge

28.2% 25.8%

16.4%

11.7%

7.3% 6.7%

3.57% Human parity 5.1% shallow 8 layers 19 layers 22 layers 152 layers

2010 2011 2012 2013 2014 2014 2015 AlexNet VGG GoogleNet Microsoft ResNet cv-tricks.com/object-detection/faster-r-cnn-yolo-ssd/ cv-tricks.com/object-detection/faster-r-cnn-yolo-ssd/

Everyone should have access to the benefits of AI, including the tools it takes to create and transform your work. We want to remove barriers and help every developer on the planet to create the next generation of AI-powered products.

We believe that you should choose the technology and platforms that you prefer and we've designed our comprehensive stack to reflect this.

AZURE MACHINE LEARNING

AZURE MACHINE LEARNING SERVICES TRAIN & DEPLOY OPTIONS

Spark SQL Server AZURE Virtual machines GPUs Container services

ON- PREMISES Experimentation and SQL Server Model Management Machine Learning Server

Notebooks IDEs Azure Machine Learning Workbench

EDGE COMPUTING Azure IoT Edge

O N E B O T MULTIPLE CANVASES

Microsoft Seller Center integration guide

Key LUIS concepts • Intents • Actions the user wants to perform • Utterances • Text input from a user your app needs to understand • Entities • Detailed information that is relevant to the utterance

Intent Sample user utterance Entities BookFlight “Book a flight to Seattle?” Seattle StoreHoursAndLocation “When does your store open?” open ScheduleMeeting “Schedule a meeting at 1PM with 1PM, Bob Bob in Distribution” https://www.microsoft.com/en-gb/store/p/intelligent-kiosk/9nblggh5qd84

Application

Database Better Collaboration Faster Time to Insight & Sharing Insights

SQL Server Machine Learning Services

Streamline Productivity and Better Security & Compliance Deployment

• Easily scale up a single R server to a grid to handle more concurrent requests Client • Load balancing cross compute nodes • A shared pool of warmed up R shells to improve scoring performance. • Server level HA: Introduce multiple Web Nodes for Active-Active backup / recovery, via load balancer • Data Store HA: leverage Enterprise grade DB, SQL Load Balancer Server and Postgres’ HA capabilities

ScaleR models can be deployed from a server or edge node to run in Hadoop without any functional R model re-coding for map-reduce

Local Parallel processing – Linux or Windows In – Hadoop ### SETUP LOCAL ENVIRONMENT VARIABLES ### myLocalCC <- “localpar” myHadoopCCC <- RxHadoopMR() Compute ### LOCAL COMPUTE CONTEXT ### rxSetComputeContext(myLocalCC) context R script rxSetComputeContext(myHadoopCC) – sets where the ### CREATE LINUX, DIRECTORY AND FILE OBJECTS ### linuxFS <- RxNativeFileSystem() ) hdfsFS <- RxHdfsFileSystem() model will run AirlineDataSet <- RxXdfData(“AirlineDemoSmall/AirlineDemoSmall.xdf”, fileSystem = linuxFS) hdfsFS

### ANALYTICAL PROCESSING ### Functional ### Statistical Summary of the data model R script – rxSummary(~ArrDelay+DayOfWeek, data= AirlineDataSet, reportProgress=1) does not need ### CrossTab the data rxCrossTabs(ArrDelay ~ DayOfWeek, data= AirlineDataSet, means=T) to change to run ### Linear Model and plot in Hadoop hdfsXdfArrLateLinMod <- rxLinMod(ArrDelay ~ DayOfWeek + 0 , data = AirlineDataSet) plot(hdfsXdfArrLateLinMod$coefficients) ScaleR models can be deployed from a server or edge node to run in SQL Server without any functional R model re-coding for in-database computations

Local Parallel processing – Linux or Windows In – SQL SERVER ### SETUP LOCAL ENVIRONMENT VARIABLES ### ### SETUP SQL Server ENVIRONMENT VARIABLES ### mySqlCon <- "Driver=SQL;SERVER=localhost;Database= mySqlCC <- "Driver=SQL;SERVER=localhost;Database=RevoTester; RevoTester;Uid=RevoTester; pwd=######" Uid=RevoTester; pwd=######" Compute myLocalCC <- “localpar” ### SQL SERVER COMPUTE CONTEXT ### context R script ### LOCAL COMPUTE CONTEXT ### rxSetComputeContext(myLocalCC) rxSetComputeContext(mySqlCC) – sets where the ### CREATE SQL SERVER DATA SOURCE ### ### CREATE SQL SERVER DATA SOURCE ### model will run AirlineDemoQuery <- "SELECT * FROM AirlineDemoSmall;" AirlineDemoQuery <- "SELECT * FROM AirlineDemoSmall;" AirlineDataSet <- RxOdbcData(connectionString = mySqlCon, AirlineDataSet <- RxSqlServerData(connectionString = sqlQuery = AirlineDemoQuery) mySqlCC, sqlQuery = AirlineDemoQuery)

### ANALYTICAL PROCESSING ### Functional ### Statistical Summary of the data model R script – rxSummary(~ArrDelay+DayOfWeek, data= AirlineDataSet, reportProgress=1) ### CrossTab the data does not need rxCrossTabs(ArrDelay ~ DayOfWeek, data= AirlineDataSet, means=T)

to change to run ### Linear Model and plot in either DB hdfsXdfArrLateLinMod <- rxLinMod(ArrDelay ~ DayOfWeek + 0 , data = AirlineDataSet) plot(hdfsXdfArrLateLinMod$coefficients) ScaleR models can be deployed from a server or edge node to run in Teradata without any functional R model re-coding for in-database computations

Local Parallel processing – Linux or Windows In – Teradata

### SETUP LOCAL ENVIRONMENT VARIABLES ### ### SETUP TERADATA ENVIRONMENT VARIABLES ### myLocalCC <- “localpar” myTdCC <- "Driver=Teradata; DBCNAME=TeradataProd; Database=RevoTester; Uid=RevoTester; pwd=######"

Compute ### LOCAL COMPUTE CONTEXT ### ### TERADATA COMPUTE CONTEXT ### rxSetComputeContext(myLocalCC) context R script rxSetComputeContext(myTdCC) – sets where the ### CREATE LOCAL FILE-SYSTEM POINTER AND FILE OBJECT ### ### CREATE TERADATA DATA SOURCE ### model will run localFS <- RxNativeFileSystem() ) AirlineDemoQuery <- "SELECT * FROM AirlineDemoSmall;" AirlineDataSet <- RxXdfData(“AirlineDemoSmall.xdf”, AirlineDataSet <- RxTeradata(connectionString = fileSystem = localFS) myTdCC, sqlQuery = AirlineDemoQuery)

### ANALYTICAL PROCESSING ### Functional ### Statistical Summary of the data model R script – rxSummary(~ArrDelay+DayOfWeek, data= AirlineDataSet, reportProgress=1) ### CrossTab the data does not need rxCrossTabs(ArrDelay ~ DayOfWeek, data= AirlineDataSet, means=T)

to change to run ### Linear Model and plot in Teradata hdfsXdfArrLateLinMod <- rxLinMod(ArrDelay ~ DayOfWeek + 0 , data = AirlineDataSet) plot(hdfsXdfArrLateLinMod$coefficients) R R R R R

R R R R R

R Server

https://notebooks.azure.com/vilcek/libraries/deeplearning- very-basics https://aka.ms/dsvm/overview

Visual Studio Tools for AI

Visual Studio extension with deep integration to Azure ML

End to end development environment, from new project through training

Support for remote training

Job management

On top of all of the goodness of Visual Studio (Python, Jupyter, Git, etc)

BIG DATA & ADVANCED ANALYTICS AT A GLANCE

Ingest Store Prep & Train Model & Serve Intelligence Business apps Data Factory (Data movement, pipelines & orchestration)

Cosmos DB

Predictive apps Databricks Blobs Kafka 10 HDInsight SQL SQL Database Custom 01 Data Lake Data Lake Analytics apps

SQL Data Operational reports Warehouse Event Hub Machine IoT Hub Learning Sensors Analysis Services and devices Analytical dashboards APACHE SPARK An unified, open source, parallel, data processing framework for Big Data Analytics

Spark SQL Spark MLlib Spark GraphX Interactive Machine Streaming Graph Queries Learning Stream processing Computation

Spark Core Engine

Standalone Yarn Mesos SparkScheduler MLlib Spark Structured Machine Streaming Learning Stream processing S P A R K - BENEFITS

Performance Developer Productivity

Using in-memory computing, Spark is considerably Easy-to-use APIs for processing large datasets. faster than Hadoop (100x in some tests). Includes 100+ operators for transforming. Can be used for batch and real-time data processing.

Unified Engine Ecosystem

Integrated framework includes higher-level libraries Spark has built-in support for many data sources, for interactive SQL queries, Stream Analytics, ML and rich ecosystem of ISV applications and a large dev graph processing. community. A single application can combine all types of Available on multiple public clouds (AWS, Google processing. and Azure) and multiple on-premises distributors ADVANTAGES OF A UNIFIED PLATFORM

Spark Streaming

Spark Machine Learning

Spark SQL AZURE DATABRICKS

Microsoft Azure KNOWING THE VARIOUS BIG DATA SOLUTIONS

CONTROL EASE OF USE

Azure Data Lake Analytics Azure Databricks

Azure HDInsight

Azure Marketplace

HDP | CDH | MapR

Reduced Administration Reduced

BIG DATA DATA BIG ANALYTICS

Any Hadoop technology, Workload optimized, Frictionless & Optimized Data Engineering in a any distribution managed clusters Spark clusters Job-as-a-service model

IaaS Clusters Managed Clusters Big Data as-a-service Analytics

Azure Data Lake Store STORAGE Azure Storage DATA BIG SECURE COLLABORATION Azure Databricks enables secure collaboration between colleagues

• With Azure Databricks colleagues can securely share key artifacts such as Clusters, Notebooks, Jobs and Workspaces Fine Grained Permissions • Secure collaboration is enabled through a combination of:

Fine grained permissions: Defines who can do what on which artifacts (access control) AAD-based User Authentication

AAD-based authentication: Ensures that users are actually who they claim to be

DEEP LEARNING Azure Databricks supports and integrates with a number of Deep Learning libraries and frameworks to make it easy to build and deploy Deep Learning applications

▪ Supports Deep Learning Libraries/frameworks including:

• Microsoft Cognitive Toolkit (CNTK). o Article explains how to install CNTK on Azure Databricks.

• TensorFlowOnSpark

• BigDL Distributed Hyperparameter Tuning ▪ Offers Spark Deep Learning Pipelines, a suite of tools for working with and processing images using deep learning using transfer learning. It includes high-level APIs for common aspects of deep learning so they can be done efficiently in a few lines of code:

Transfer Learning

THE FASTEST TOOLKIT MOST SCALABLE TOOLKIT (2016) This material is provided for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED.