SlideShare a Scribd company logo
AI for Good @
Deep Art Generation, Unsupervised Object Detection,
and Distributed Intelligent Microservices
Mark Hamilton
marhamil@microsoft.com
Overview
 AI for Cultural Institutions: The MET
 GAN image synthesis
 Reverse Image Search
 Intelligent Image Search
 AI for Earth: The Snow Leopard Trust
 Unsupervised Object Detection
 LIME
 AI for Accessibility: Seeing AI
 Currency Detection
 The Tech Stack
 Spark, MMLSpark, Kubernetes, Microservices
Seeing AI
AI for Cultural Institutions
Celebrating 2 years of Open Access at The MET
4
https://gen.studio
 In 2016 The MET Released 400k
Images under Open Access
 This past Winter the MET released a
new subject-keyword dataset of
image annotations
 MIT, The MET, and Microsoft
participated in a 3-day hackathon to
create intelligent experiences using
the new collection
Goals:
Create new
works of art
Use new work
to explore
existing art
Explore further
with intelligent
search
Generative
Adversarial
Networks
Reverse Image
Search
Elasticsearch
with Cognitive
Services
Needed Technologies:
Generative Adversarial Art
https://gen.studio
Real or
Generated?
Noise
Vector
Generator
Generated
Image
Training Data
Discriminator
Real or
Generated?
Custom Reverse Image Search
Filters from Zeiler + Fergus 2013
Query
Image
ResNet
Featurizer
Deep
Features
Closest
Match
Fast Nearest
Neighbor
Lookup
MMLSpark SparkML LSH or Annoy
Example Nearest NeighborsQueryImages
Nearest
Neighbors
Intelligent Search Index
 Pipe images through
Computer Vision API
to annotate image for
searching
 Stream images and
intelligent
annotations to Azure
Search
A picture
containing a
person
A picture
containing a
glass, cup
A fish
swimming
underwater
Query
Image:
Describe
Image
Output:
Deep
Feature
Nearest
Neighbors:
End Application: Gen Studio
10
https://gen.studio
AI for Earth
Endangered Status Matters
Classifying all 1.3
million images will
take 20k hours
Remote Camera Traps
AI for Good at Microsoft
Creating a labelled Training Dataset
Creating a labelled Training Dataset
Input Images
Low Level
Features
Mid Level
Features
Logistic
Regression
Output Classes
Filters from Zeiler + Fergus 2013
Any SparkML
Model
Other
Leopard
Predictions
Transfer Learning with ResNet 50
Performance
With Deep Featurization,
Augmentation, and
Temporal Ensembling
Without Deep
Featurization
Accuracy 65.6% Accuracy 94.7%
Goal: Identify Individual Leopards
Source: HotSpotter - Patterned Species Instance Recognition
Automating Detection with LIME on Spark
LIME on Spark
End to End Architecture
Results
Human Labels
Unsupervised
FRCNN Outputs Human Labels
Unsupervised
FRCNN Outputs
AI for Accessibility
Seeing AI
Currency Identification
A Familiar Architecture…
Union +
Distinct
MobileNet
Logistic
Regression
Bing
Image
Search
Deep Features
Azure Machine
Learning +
Spark Serving
Queries
1 Dollar
5 Dollars
10 Dollars
20 Dollars
Labelled Images
$1
$5
$2
0
Prep Data Train Deploy
The Tech Stack
 A fault-tolerant distributed
computing framework
 Map Reduce + SQL
 Whole program optimization +
query pushdown
 Elastic
 Scala, Python, R, Java, Julia
 ML, Graph Processing, Streaming
Driver
Worker
110
0.9
0
20
40
60
80
100
120
Running Time(s)
Hadoop Spark
Worker Worker
Data Source (ADLS, Blob, Local, Cosmos, etc)
Age:
Int
Name:
String
15 Bob
25 Alice
33 Mary
Age:
Int
Name:
String
1 Sam
2 Claire
53 Tina
Age:
Int
Name:
String
25 Bob
25 Tom
66 Ted
● Code
● Data
ML
 High level library for distributed
machine learning
 More general than SciKit-Learn
 All models have a uniform
interface
Can compose models into
complex pipelines
Can save, load, and transport
models
Load Data
Tokenizer
Term Hashing
Logistic Reg
Evaluate
Pipeline
Evaluate
Load Data
● Estimator
● Transformer
30#UnifiedAnalytics #SparkAISummit
Microsoft Machine Learning for
Apache Spark v0.17
Microsoft’s Open Source
Contributions to Apache Spark
www.aka.ms/spark Azure/mmlspark
Cognitive
Services
Spark Serving Model
Interpretability
LightGBM Gradient
Boosting
Deep Networks
with CNTK
HTTP on
Spark
CNTK on Spark
 GPU/CPU acceleration
 Automated gradient calculations
 Flexible language for defining
huge space of models
 State of the art performance and
accuracy
 ONNX Runtime
 Large scale parallelism
 Fault tolerance
 Auto-scaling / elasticity
 High throughput streaming
 Data source + orchestrator
agnostic
Azure Cognitive Services on Spark
 Easy to use integration
between Spark and the
Azure Cognitive Services
 Composable and
pipelinable with all other
SparkML models!
 Python, Scala, R (Beta) val df = new TextSentiment()
.setTextCol(“text”)
.setOutputCol(“sentiment”)
.transform(inputs)
Spark Worker
Partition Partition Partition
Client Client Client
Web Service
Spark Serving
 Sub-millisecond RESTful Model
Deployment on Spark Clusters
Spark Worker
Partition Partition Partition
Server
Spark Worker
Partition Partition Partition
Server
Spark Master
Users / Apps
Load Balancer HTTP Requests and
Responses
spark.read.parquet.load(…)
.select(…)
spark.readStream.kafka.load(…)
.select(…)
Batch API:
Streaming API:
Serving API:
spark.readStream.server(“0.0.0.0”, 5000).load(…)
.select(…)
Azure Kubernetes Service + Helm
• Works on any k8s cluster
• Helm: Package Manager
for Kubernetes
34
Kubernetes (AKS, ACS, GKE, On-Prem etc)
K8s workerK8s worker
Spark
Worker
Spark
Worker
K8s worker
Cognitive
Service
Container
HTTP on Spark
Spark
Worker
Cognitive
Service
Container
HTTP on Spark
Spark
Worker
Cognitive
Service
Container
HTTP on Spark
Spark
Serving Load
Balancer
Jupyter,
Zepplin,
LIVY, or
Spark
Submit LB
Zepplin
Jupyter
Storage or
other
Databases
Cloud
Cognitive
Services
Spark Serving Hotpath
HTTP on Spark
Spark Readers
REST Requests to
Deployed Models
Submit Jobs, Run Notebooks,
Manage Cluster, etc
Users / Apps
helm repo add mmlspark 
https://dbanda.github.io/charts
helm install mmlspark/spark 
--set localTextApi=true
Dalitso Banda, dbanda@microsoft.com
Microsoft AI Development Acceleration Program
Thanks to
 You all!
 Joseph Sirosh, Sudarshan Raghunathan, Ilya Matiach, Eli Barzilay, Tong
Wen
 Microsoft NERD Garage Team + MIT Externship Program
 Microsoft Development Acceleration Team:
 Dalitso Banda, Casey Hong, Karthik Rajendran, Manon Knoertzer, Tayo
Amuneke, Alejandro Buendia
 Pablo Castro, Chris Hoder, Ryan Gaspar, Henrik Neilsen, Andrew
Schonhoffer, Daniel Ciborowski, Markus Cosowicz
 Azure CAT, AzureML, and Azure Search Teams

More Related Content

PPTX
AI for Earth: Analyzing Global Data with Azure
PPTX
Real Time Dashboard - Architecture
PDF
Poznań JUG: Listening to the sounds of your application
PPTX
Architecting an Open Source AI Platform 2018 edition
PDF
PredictionIO – A Machine Learning Server in Scala – SF Scala
PPTX
Build your open source data science platform
PDF
Machine Learning for Developers
PDF
IoT Sensor Analytics with Python, Jupyter, TensorFlow, Keras, Apache Kafka, K...
AI for Earth: Analyzing Global Data with Azure
Real Time Dashboard - Architecture
Poznań JUG: Listening to the sounds of your application
Architecting an Open Source AI Platform 2018 edition
PredictionIO – A Machine Learning Server in Scala – SF Scala
Build your open source data science platform
Machine Learning for Developers
IoT Sensor Analytics with Python, Jupyter, TensorFlow, Keras, Apache Kafka, K...

What's hot (18)

PPTX
Blind spots in big data erez koren @ forter
PDF
Machine Learning Trends of 2018 combined with the Apache Kafka Ecosystem
PDF
One Kubernetes to rule them all (ZEUS 2019 Keynote)
PPTX
Deep Learning with Microsoft Cognitive Toolkit
PDF
Deep Learning Streaming Platform with Kafka Streams, TensorFlow, DeepLearning...
PPTX
ConFoo - Exploring .NET’s memory management – a trip down memory lane
PDF
Azure によるスピードレイヤの分析アーキテクチャ
PPTX
El camino a las Cloud Native Apps - Azure AI
PDF
Deep Learning at Extreme Scale (in the Cloud) 
with the Apache Kafka Open Sou...
PDF
Get Value From Your Data
PDF
Kai Waehner - KSQL – The Open Source SQL Streaming Engine for Apache Kafka - ...
PDF
Data analytics master class: predict hotel revenue
PDF
How to Leverage the Apache Kafka Ecosystem to Productionize Machine Learning ...
PPTX
Azure Databricks & Spark @ Techorama 2018
PPTX
PuppetConf 2017: Moving faster with Puppet & Splunk- Hal Rottenberg, Andrew B...
PDF
Multi runtime serving pipelines for machine learning
PPTX
Microsoft Machine Learning Server. Architecture View
PDF
R and Athena … there is another way!?
Blind spots in big data erez koren @ forter
Machine Learning Trends of 2018 combined with the Apache Kafka Ecosystem
One Kubernetes to rule them all (ZEUS 2019 Keynote)
Deep Learning with Microsoft Cognitive Toolkit
Deep Learning Streaming Platform with Kafka Streams, TensorFlow, DeepLearning...
ConFoo - Exploring .NET’s memory management – a trip down memory lane
Azure によるスピードレイヤの分析アーキテクチャ
El camino a las Cloud Native Apps - Azure AI
Deep Learning at Extreme Scale (in the Cloud) 
with the Apache Kafka Open Sou...
Get Value From Your Data
Kai Waehner - KSQL – The Open Source SQL Streaming Engine for Apache Kafka - ...
Data analytics master class: predict hotel revenue
How to Leverage the Apache Kafka Ecosystem to Productionize Machine Learning ...
Azure Databricks & Spark @ Techorama 2018
PuppetConf 2017: Moving faster with Puppet & Splunk- Hal Rottenberg, Andrew B...
Multi runtime serving pipelines for machine learning
Microsoft Machine Learning Server. Architecture View
R and Athena … there is another way!?
Ad

Similar to AI for Good at Microsoft (20)

PPTX
Deep Learning and Streaming in Apache Spark 2.x with Matei Zaharia
PPTX
Deep Learning and Streaming in Apache Spark 2.x with Matei Zaharia
PDF
The Azure Cognitive Services on Spark: Clusters with Embedded Intelligent Ser...
PDF
Yu's resume
PPTX
Microsoft AI Platform Overview
PDF
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
PDF
Microsoft & Machine Learning / Artificial Intelligence
PDF
Spark streaming State of the Union - Strata San Jose 2015
PDF
Big data apache spark + scala
PDF
Expanding Apache Spark Use Cases in 2.2 and Beyond with Matei Zaharia and dem...
PPTX
AWS re:Invent 2016 : announcement, technical demos and feedbacks
PDF
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
PPTX
Designing Artificial Intelligence
PDF
Strata NYC 2015 - What's coming for the Spark community
PDF
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...
PPTX
IBM Strategy for Spark
PPTX
Leonard Austin (Ravelin) - DevOps in a Machine Learning World
PDF
Machine Learning on the Cloud with Apache MXNet
PDF
Khan farhan cv
PDF
Spark's Role in the Big Data Ecosystem (Spark Summit 2014)
Deep Learning and Streaming in Apache Spark 2.x with Matei Zaharia
Deep Learning and Streaming in Apache Spark 2.x with Matei Zaharia
The Azure Cognitive Services on Spark: Clusters with Embedded Intelligent Ser...
Yu's resume
Microsoft AI Platform Overview
Deep learning and streaming in Apache Spark 2.2 by Matei Zaharia
Microsoft & Machine Learning / Artificial Intelligence
Spark streaming State of the Union - Strata San Jose 2015
Big data apache spark + scala
Expanding Apache Spark Use Cases in 2.2 and Beyond with Matei Zaharia and dem...
AWS re:Invent 2016 : announcement, technical demos and feedbacks
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Designing Artificial Intelligence
Strata NYC 2015 - What's coming for the Spark community
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...
IBM Strategy for Spark
Leonard Austin (Ravelin) - DevOps in a Machine Learning World
Machine Learning on the Cloud with Apache MXNet
Khan farhan cv
Spark's Role in the Big Data Ecosystem (Spark Summit 2014)
Ad

Recently uploaded (20)

PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
A Presentation on Artificial Intelligence
PPT
Teaching material agriculture food technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation theory and applications.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Electronic commerce courselecture one. Pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
A comparative analysis of optical character recognition models for extracting...
MYSQL Presentation for SQL database connectivity
Assigned Numbers - 2025 - Bluetooth® Document
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine learning based COVID-19 study performance prediction
Spectral efficient network and resource selection model in 5G networks
Digital-Transformation-Roadmap-for-Companies.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
A Presentation on Artificial Intelligence
Teaching material agriculture food technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The AUB Centre for AI in Media Proposal.docx
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation theory and applications.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Electronic commerce courselecture one. Pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf

AI for Good at Microsoft

  • 1. AI for Good @ Deep Art Generation, Unsupervised Object Detection, and Distributed Intelligent Microservices Mark Hamilton marhamil@microsoft.com
  • 2. Overview  AI for Cultural Institutions: The MET  GAN image synthesis  Reverse Image Search  Intelligent Image Search  AI for Earth: The Snow Leopard Trust  Unsupervised Object Detection  LIME  AI for Accessibility: Seeing AI  Currency Detection  The Tech Stack  Spark, MMLSpark, Kubernetes, Microservices Seeing AI
  • 3. AI for Cultural Institutions
  • 4. Celebrating 2 years of Open Access at The MET 4 https://gen.studio  In 2016 The MET Released 400k Images under Open Access  This past Winter the MET released a new subject-keyword dataset of image annotations  MIT, The MET, and Microsoft participated in a 3-day hackathon to create intelligent experiences using the new collection
  • 5. Goals: Create new works of art Use new work to explore existing art Explore further with intelligent search Generative Adversarial Networks Reverse Image Search Elasticsearch with Cognitive Services Needed Technologies:
  • 6. Generative Adversarial Art https://gen.studio Real or Generated? Noise Vector Generator Generated Image Training Data Discriminator Real or Generated?
  • 7. Custom Reverse Image Search Filters from Zeiler + Fergus 2013 Query Image ResNet Featurizer Deep Features Closest Match Fast Nearest Neighbor Lookup MMLSpark SparkML LSH or Annoy
  • 9. Intelligent Search Index  Pipe images through Computer Vision API to annotate image for searching  Stream images and intelligent annotations to Azure Search A picture containing a person A picture containing a glass, cup A fish swimming underwater Query Image: Describe Image Output: Deep Feature Nearest Neighbors:
  • 10. End Application: Gen Studio 10 https://gen.studio
  • 13. Classifying all 1.3 million images will take 20k hours Remote Camera Traps
  • 15. Creating a labelled Training Dataset
  • 16. Creating a labelled Training Dataset
  • 17. Input Images Low Level Features Mid Level Features Logistic Regression Output Classes Filters from Zeiler + Fergus 2013 Any SparkML Model Other Leopard Predictions Transfer Learning with ResNet 50
  • 18. Performance With Deep Featurization, Augmentation, and Temporal Ensembling Without Deep Featurization Accuracy 65.6% Accuracy 94.7%
  • 19. Goal: Identify Individual Leopards Source: HotSpotter - Patterned Species Instance Recognition
  • 20. Automating Detection with LIME on Spark
  • 22. End to End Architecture
  • 23. Results Human Labels Unsupervised FRCNN Outputs Human Labels Unsupervised FRCNN Outputs
  • 26. A Familiar Architecture… Union + Distinct MobileNet Logistic Regression Bing Image Search Deep Features Azure Machine Learning + Spark Serving Queries 1 Dollar 5 Dollars 10 Dollars 20 Dollars Labelled Images $1 $5 $2 0 Prep Data Train Deploy
  • 28.  A fault-tolerant distributed computing framework  Map Reduce + SQL  Whole program optimization + query pushdown  Elastic  Scala, Python, R, Java, Julia  ML, Graph Processing, Streaming Driver Worker 110 0.9 0 20 40 60 80 100 120 Running Time(s) Hadoop Spark Worker Worker Data Source (ADLS, Blob, Local, Cosmos, etc) Age: Int Name: String 15 Bob 25 Alice 33 Mary Age: Int Name: String 1 Sam 2 Claire 53 Tina Age: Int Name: String 25 Bob 25 Tom 66 Ted ● Code ● Data
  • 29. ML  High level library for distributed machine learning  More general than SciKit-Learn  All models have a uniform interface Can compose models into complex pipelines Can save, load, and transport models Load Data Tokenizer Term Hashing Logistic Reg Evaluate Pipeline Evaluate Load Data ● Estimator ● Transformer
  • 30. 30#UnifiedAnalytics #SparkAISummit Microsoft Machine Learning for Apache Spark v0.17 Microsoft’s Open Source Contributions to Apache Spark www.aka.ms/spark Azure/mmlspark Cognitive Services Spark Serving Model Interpretability LightGBM Gradient Boosting Deep Networks with CNTK HTTP on Spark
  • 31. CNTK on Spark  GPU/CPU acceleration  Automated gradient calculations  Flexible language for defining huge space of models  State of the art performance and accuracy  ONNX Runtime  Large scale parallelism  Fault tolerance  Auto-scaling / elasticity  High throughput streaming  Data source + orchestrator agnostic
  • 32. Azure Cognitive Services on Spark  Easy to use integration between Spark and the Azure Cognitive Services  Composable and pipelinable with all other SparkML models!  Python, Scala, R (Beta) val df = new TextSentiment() .setTextCol(“text”) .setOutputCol(“sentiment”) .transform(inputs) Spark Worker Partition Partition Partition Client Client Client Web Service
  • 33. Spark Serving  Sub-millisecond RESTful Model Deployment on Spark Clusters Spark Worker Partition Partition Partition Server Spark Worker Partition Partition Partition Server Spark Master Users / Apps Load Balancer HTTP Requests and Responses spark.read.parquet.load(…) .select(…) spark.readStream.kafka.load(…) .select(…) Batch API: Streaming API: Serving API: spark.readStream.server(“0.0.0.0”, 5000).load(…) .select(…)
  • 34. Azure Kubernetes Service + Helm • Works on any k8s cluster • Helm: Package Manager for Kubernetes 34 Kubernetes (AKS, ACS, GKE, On-Prem etc) K8s workerK8s worker Spark Worker Spark Worker K8s worker Cognitive Service Container HTTP on Spark Spark Worker Cognitive Service Container HTTP on Spark Spark Worker Cognitive Service Container HTTP on Spark Spark Serving Load Balancer Jupyter, Zepplin, LIVY, or Spark Submit LB Zepplin Jupyter Storage or other Databases Cloud Cognitive Services Spark Serving Hotpath HTTP on Spark Spark Readers REST Requests to Deployed Models Submit Jobs, Run Notebooks, Manage Cluster, etc Users / Apps helm repo add mmlspark https://dbanda.github.io/charts helm install mmlspark/spark --set localTextApi=true Dalitso Banda, dbanda@microsoft.com Microsoft AI Development Acceleration Program
  • 35. Thanks to  You all!  Joseph Sirosh, Sudarshan Raghunathan, Ilya Matiach, Eli Barzilay, Tong Wen  Microsoft NERD Garage Team + MIT Externship Program  Microsoft Development Acceleration Team:  Dalitso Banda, Casey Hong, Karthik Rajendran, Manon Knoertzer, Tayo Amuneke, Alejandro Buendia  Pablo Castro, Chris Hoder, Ryan Gaspar, Henrik Neilsen, Andrew Schonhoffer, Daniel Ciborowski, Markus Cosowicz  Azure CAT, AzureML, and Azure Search Teams