SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
Open Source ML Systems
That Need To Be Built
Nikhil Garg
@nikhilgarg28
#MLSummit 6/5/17
A bit about me...
● Currently leading two ML teams at Quora:
○ Ads
○ ML Platform
● Previously, led Content Quality and
Core-product teams
● Interested in the intersection of distributed
systems, machine learning and human
psychology @nikhilgarg28
To Grow And Share World’s Knowledge
Over 200 million monthly uniques
Millions of questions & answers
In hundreds of thousands of topics
Supported by < 100 engineers
ML @ Quora
Data: Billions of relationships
Users
Answers
Questions
Topics Votes
Follow
Ask
Write
Cast
Have
Contain
Get
Comments
Get
Follow
Write
Have Have
Data: Billions of words in high quality corpus
● Questions
● Answers
● Comments
● Topic biographies
● ...
Data: Interaction History
● Highly engaged users => long history of activity e.g search queries, upvotes etc.
● Ever-green content => long history of users engaging with the content in search, feed etc.
● Answer ranking
● Feed ranking
● Search ranking
● User recommendations
● Topic recommendations
● Duplicate questions
● Email Digest
● Request Answers
● Trending now
● Topic expertise prediction
● Spam, abuse detection
● ….
ML Applications At Quora
● Logistic Regression
● Elastic Nets
● Random Forests
● Gradient Boosted Decision Trees
● Matrix Factorization
● (Deep) Neural Networks
● LambdaMart
● Clustering
● Random walk based methods
● Word Embeddings
● LDA
● ...
ML Algorithms At Quora
What We Care About
Relevance
Quality
Ads
Targeting
Is content high quality?
Is user an expert in the topic?
Is user deliberating a purchase decision?
Will user click on an ad?
Would user be interested in reading answer?
Would user be able to answer the question?
ML As Quora’s Core Competency
● ML is the most promising tool for all our core problems
● ML can make our network effects even more powerful
Why ML Platform Team?
Why ML Platform Team?
1. Applied ML is bottlenecked on engineering
2. Most ML tasks require similar system primitives
Defining Times For ML Systems
Similar to Big Data 10-15 years ago
GOAL
Mobilize Discussions In
Open Source ML Systems Community
DISCLAIMER
All my ideas are probably
wrong/unoriginal/incomplete
...and I’m shit scared right now!
1. Model Management
2. Feature Extraction Framework
1. Model Management
2. Feature Extraction Framework
● Difficulty reproducing a model trained in
R/Python in production on C++/Java
● Training using new library requires changing
production too
● New library gives good metrics but is too slow
in production
● Hard to manage too many versions of the
same ML model in production
Sounds Familiar?
Coupling Between Model Training And Serving
Candidate Generation
Feature Extraction
Scoring
Post Processing
Data
Candidate Generation
Feature Extraction
Training
Model
Coupling Between Model Training And Serving
Candidate Generation
Feature Extraction
Scoring
Post Processing
Data
Candidate Generation
Feature Extraction
Training
Model
Not a new idea...
MODEL
Collection (file) of learnt parameters
Universal model definition language
● Model files will be agnostic of training library/language
● Library plugins to convert existing models to a file in the
universal model language
Language-agnostic production systems to serve models
Fast standardized serving
● A remote service usually works well and is sometimes
necessary (e.g large memory footprint of a model)
● Local serving for cases where network round trip is too
costly
● Fast standard model serving systems, supporting smart
batching, GPU support etc.
● ‘Compiling’ the model for cases where interpreting it is too
slow
Versioning support
● Running multiple versions of a model - gradual roll
outs, hot-swaps etc.
● Tensorflow serving does this very well, though need to
add support for general model definition language.
Remote File Store
Versioning
Layer
Python Remote
Model Serving
C++ Local
Model Serving
Python
Model Training
Store
Model
File
Thrift
Layer
Serving
Layer
Get
Model
File
Serve
Model
Training Library
Remote Model Server
● Reproducibility -- could store features, hyper-parameters,
algorithms, datasets and metrics used to train a model
● Repository of all previously trained models
Model Repository
Many Open Questions...
● Where does online-learning happen?
● Who takes care of the availability of the model service?
● Should versioning be a concern of the model service or the
application?
● ...
1. Model Management
2. Feature Extraction Framework
class AnswerLength(BaseFeature):
…
def extract(self, aid):
<some code>
…
● Diverging implementations of ‘BaseFeature’ classes
● Trouble discovering and reusing features across
applications
● Problems integrating features across languages
● Hard to manage feature dependency graph,
sometimes across applications and languages
● Ad-hoc testing/monitoring for feature values
Sounds familiar?
Feature extraction framework for
standardization and reusability
Feature Extractors
● Libraries/plugins for domain specific extractor
building blocks e.g text, image, video
● Native support for distributed counting in a rolling
window
● Feature transformers e.g log, bucketizer, centering,
normalizing
● Encoders for categorical features e.g one-hot
● Combining multiple features e.g max, sum
Feature Storage And Serving
● Storage/caching/dirtying mechanisms
● Columnar storage for offline storage and training
● Central feature repository with discovery mechanism
● Central service serving all features behind language
agnostic declarations
● Code can also be shipped to Spark workers
Feature Reliability
● Anomaly detection in feature value distributions
● Ground-truth feature tables
● Strong versioning support
● Feature debug/introspection UI
● Both models and features can depend on other
features
● Features can work as a simple model
● Models can be a feature into another model
● Both need similar tooling support -- versioning,
monitoring, debugging, repository etc.
Models and features are functionally isomorphic
https://proopnarine.wordpress.com/2010/02/20/random-graphs-and-food-webs/
Summary
● Defining times for ML Systems space
● Need powerful abstractions higher up in the ML stack
● Model management & feature extraction could use more
open-source love
● Models & features are more similar than we might think
Nikhil Garg
@nikhilgarg28
Thank You!
YES, WE ARE HIRING :)

Contenu connexe

Tendances

Pythonsevilla2019 - Introduction to MLFlow
Pythonsevilla2019 - Introduction to MLFlowPythonsevilla2019 - Introduction to MLFlow
Pythonsevilla2019 - Introduction to MLFlowFernando Ortega Gallego
 
ML Infra for Netflix Recommendations - AI NEXTCon talk
ML Infra for Netflix Recommendations - AI NEXTCon talkML Infra for Netflix Recommendations - AI NEXTCon talk
ML Infra for Netflix Recommendations - AI NEXTCon talkFaisal Siddiqi
 
“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOpsRui Quintino
 
MLconf 2017 Seattle Lunch Talk - Using Optimal Learning to tune Deep Learning...
MLconf 2017 Seattle Lunch Talk - Using Optimal Learning to tune Deep Learning...MLconf 2017 Seattle Lunch Talk - Using Optimal Learning to tune Deep Learning...
MLconf 2017 Seattle Lunch Talk - Using Optimal Learning to tune Deep Learning...SigOpt
 
Apache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
Apache Liminal (Incubating)—Orchestrate the Machine Learning PipelineApache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
Apache Liminal (Incubating)—Orchestrate the Machine Learning PipelineDatabricks
 
Automatic Machine Learning, AutoML
Automatic Machine Learning, AutoMLAutomatic Machine Learning, AutoML
Automatic Machine Learning, AutoMLHimadri Mishra
 
MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle Databricks
 
What's Next for MLflow in 2019
What's Next for MLflow in 2019What's Next for MLflow in 2019
What's Next for MLflow in 2019Anyscale
 
mlflow: Accelerating the End-to-End ML lifecycle
mlflow: Accelerating the End-to-End ML lifecyclemlflow: Accelerating the End-to-End ML lifecycle
mlflow: Accelerating the End-to-End ML lifecycleDatabricks
 
Basic Data Engineering
Basic Data EngineeringBasic Data Engineering
Basic Data EngineeringNovita Sari
 
2019 Slides - Michelangelo Palette: A Feature Engineering Platform at Uber
2019 Slides - Michelangelo Palette: A Feature Engineering Platform at Uber2019 Slides - Michelangelo Palette: A Feature Engineering Platform at Uber
2019 Slides - Michelangelo Palette: A Feature Engineering Platform at UberKarthik Murugesan
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleMLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleDatabricks
 
High Performance Transfer Learning for Classifying Intent of Sales Engagement...
High Performance Transfer Learning for Classifying Intent of Sales Engagement...High Performance Transfer Learning for Classifying Intent of Sales Engagement...
High Performance Transfer Learning for Classifying Intent of Sales Engagement...Databricks
 
Presentacion day f-core v1.2.1.2-technical - english
Presentacion day f-core v1.2.1.2-technical - englishPresentacion day f-core v1.2.1.2-technical - english
Presentacion day f-core v1.2.1.2-technical - englishJose Luis Sanchez del Coso
 
10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systemsXavier Amatriain
 
Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa...
 Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa... Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa...
Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa...Databricks
 
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARN
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARNHadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARN
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARNJosh Patterson
 

Tendances (19)

Pythonsevilla2019 - Introduction to MLFlow
Pythonsevilla2019 - Introduction to MLFlowPythonsevilla2019 - Introduction to MLFlow
Pythonsevilla2019 - Introduction to MLFlow
 
ML Infra for Netflix Recommendations - AI NEXTCon talk
ML Infra for Netflix Recommendations - AI NEXTCon talkML Infra for Netflix Recommendations - AI NEXTCon talk
ML Infra for Netflix Recommendations - AI NEXTCon talk
 
MLOps at OLX
MLOps at OLXMLOps at OLX
MLOps at OLX
 
“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps
 
MLconf 2017 Seattle Lunch Talk - Using Optimal Learning to tune Deep Learning...
MLconf 2017 Seattle Lunch Talk - Using Optimal Learning to tune Deep Learning...MLconf 2017 Seattle Lunch Talk - Using Optimal Learning to tune Deep Learning...
MLconf 2017 Seattle Lunch Talk - Using Optimal Learning to tune Deep Learning...
 
Apache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
Apache Liminal (Incubating)—Orchestrate the Machine Learning PipelineApache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
Apache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
 
Automatic Machine Learning, AutoML
Automatic Machine Learning, AutoMLAutomatic Machine Learning, AutoML
Automatic Machine Learning, AutoML
 
MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle
 
What's Next for MLflow in 2019
What's Next for MLflow in 2019What's Next for MLflow in 2019
What's Next for MLflow in 2019
 
mlflow: Accelerating the End-to-End ML lifecycle
mlflow: Accelerating the End-to-End ML lifecyclemlflow: Accelerating the End-to-End ML lifecycle
mlflow: Accelerating the End-to-End ML lifecycle
 
Basic Data Engineering
Basic Data EngineeringBasic Data Engineering
Basic Data Engineering
 
2019 Slides - Michelangelo Palette: A Feature Engineering Platform at Uber
2019 Slides - Michelangelo Palette: A Feature Engineering Platform at Uber2019 Slides - Michelangelo Palette: A Feature Engineering Platform at Uber
2019 Slides - Michelangelo Palette: A Feature Engineering Platform at Uber
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleMLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
 
High Performance Transfer Learning for Classifying Intent of Sales Engagement...
High Performance Transfer Learning for Classifying Intent of Sales Engagement...High Performance Transfer Learning for Classifying Intent of Sales Engagement...
High Performance Transfer Learning for Classifying Intent of Sales Engagement...
 
Presentacion day f-core v1.2.1.2-technical - english
Presentacion day f-core v1.2.1.2-technical - englishPresentacion day f-core v1.2.1.2-technical - english
Presentacion day f-core v1.2.1.2-technical - english
 
MLflow with R
MLflow with RMLflow with R
MLflow with R
 
10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems
 
Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa...
 Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa... Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa...
Bighead: Airbnb’s End-to-End Machine Learning Platform with Krishna Puttaswa...
 
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARN
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARNHadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARN
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARN
 

Similaire à Open source ml systems that need to be built

Scaling Recommendations at Quora (RecSys talk 9/16/2016)
Scaling Recommendations at Quora (RecSys talk 9/16/2016)Scaling Recommendations at Quora (RecSys talk 9/16/2016)
Scaling Recommendations at Quora (RecSys talk 9/16/2016)Nikhil Dandekar
 
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning InfrastructureML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning InfrastructureFei Chen
 
AI hype or reality
AI  hype or realityAI  hype or reality
AI hype or realityAwantik Das
 
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016MLconf
 
DEMO On PYTHON WEB Development.pptx
DEMO On PYTHON WEB Development.pptxDEMO On PYTHON WEB Development.pptx
DEMO On PYTHON WEB Development.pptxSHAIKIRFAN715544
 
Scaling up Machine Learning Development
Scaling up Machine Learning DevelopmentScaling up Machine Learning Development
Scaling up Machine Learning DevelopmentMatei Zaharia
 
Ideas spracklen-final
Ideas spracklen-finalIdeas spracklen-final
Ideas spracklen-finalsupportlogic
 
Open, Secure & Transparent AI Pipelines
Open, Secure & Transparent AI PipelinesOpen, Secure & Transparent AI Pipelines
Open, Secure & Transparent AI PipelinesNick Pentreath
 
Gdsc IIIT Surat Orientation 2022.pdf
Gdsc IIIT Surat Orientation 2022.pdfGdsc IIIT Surat Orientation 2022.pdf
Gdsc IIIT Surat Orientation 2022.pdfSparshJhariya2
 
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15MLconf
 
10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConf10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConfXavier Amatriain
 
Introduction to MLflow
Introduction to MLflowIntroduction to MLflow
Introduction to MLflowDatabricks
 
What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...Stefano Fago
 
Transformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTransformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTeamstudio
 
Sf big analytics: bighead
Sf big analytics: bigheadSf big analytics: bighead
Sf big analytics: bigheadChester Chen
 
Building multi billion ( dollars, users, documents ) search engines on open ...
Building multi billion ( dollars, users, documents ) search engines  on open ...Building multi billion ( dollars, users, documents ) search engines  on open ...
Building multi billion ( dollars, users, documents ) search engines on open ...Andrei Lopatenko
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyMarcos Labad
 
RoboCon 2018: How did we get here? Where do we go next?
RoboCon 2018: How did we get here? Where do we go next?RoboCon 2018: How did we get here? Where do we go next?
RoboCon 2018: How did we get here? Where do we go next?Pekka Klärck
 
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Xavier Amatriain
 
Rsqrd AI: ML Tooling at an AI-first Startup
Rsqrd AI: ML Tooling at an AI-first StartupRsqrd AI: ML Tooling at an AI-first Startup
Rsqrd AI: ML Tooling at an AI-first StartupSanjana Chowdhury
 

Similaire à Open source ml systems that need to be built (20)

Scaling Recommendations at Quora (RecSys talk 9/16/2016)
Scaling Recommendations at Quora (RecSys talk 9/16/2016)Scaling Recommendations at Quora (RecSys talk 9/16/2016)
Scaling Recommendations at Quora (RecSys talk 9/16/2016)
 
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning InfrastructureML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
ML Platform Q1 Meetup: Airbnb's End-to-End Machine Learning Infrastructure
 
AI hype or reality
AI  hype or realityAI  hype or reality
AI hype or reality
 
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
 
DEMO On PYTHON WEB Development.pptx
DEMO On PYTHON WEB Development.pptxDEMO On PYTHON WEB Development.pptx
DEMO On PYTHON WEB Development.pptx
 
Scaling up Machine Learning Development
Scaling up Machine Learning DevelopmentScaling up Machine Learning Development
Scaling up Machine Learning Development
 
Ideas spracklen-final
Ideas spracklen-finalIdeas spracklen-final
Ideas spracklen-final
 
Open, Secure & Transparent AI Pipelines
Open, Secure & Transparent AI PipelinesOpen, Secure & Transparent AI Pipelines
Open, Secure & Transparent AI Pipelines
 
Gdsc IIIT Surat Orientation 2022.pdf
Gdsc IIIT Surat Orientation 2022.pdfGdsc IIIT Surat Orientation 2022.pdf
Gdsc IIIT Surat Orientation 2022.pdf
 
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
 
10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConf10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConf
 
Introduction to MLflow
Introduction to MLflowIntroduction to MLflow
Introduction to MLflow
 
What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...What drives Innovation? Innovations And Technological Solutions for the Distr...
What drives Innovation? Innovations And Technological Solutions for the Distr...
 
Transformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTransformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPages
 
Sf big analytics: bighead
Sf big analytics: bigheadSf big analytics: bighead
Sf big analytics: bighead
 
Building multi billion ( dollars, users, documents ) search engines on open ...
Building multi billion ( dollars, users, documents ) search engines  on open ...Building multi billion ( dollars, users, documents ) search engines  on open ...
Building multi billion ( dollars, users, documents ) search engines on open ...
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing Company
 
RoboCon 2018: How did we get here? Where do we go next?
RoboCon 2018: How did we get here? Where do we go next?RoboCon 2018: How did we get here? Where do we go next?
RoboCon 2018: How did we get here? Where do we go next?
 
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
Recsys 2016 tutorial: Lessons learned from building real-life recommender sys...
 
Rsqrd AI: ML Tooling at an AI-first Startup
Rsqrd AI: ML Tooling at an AI-first StartupRsqrd AI: ML Tooling at an AI-first Startup
Rsqrd AI: ML Tooling at an AI-first Startup
 

Dernier

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Open source ml systems that need to be built

  • 1. Open Source ML Systems That Need To Be Built Nikhil Garg @nikhilgarg28 #MLSummit 6/5/17
  • 2. A bit about me... ● Currently leading two ML teams at Quora: ○ Ads ○ ML Platform ● Previously, led Content Quality and Core-product teams ● Interested in the intersection of distributed systems, machine learning and human psychology @nikhilgarg28
  • 3.
  • 4.
  • 5. To Grow And Share World’s Knowledge
  • 6. Over 200 million monthly uniques Millions of questions & answers In hundreds of thousands of topics Supported by < 100 engineers
  • 8. Data: Billions of relationships Users Answers Questions Topics Votes Follow Ask Write Cast Have Contain Get Comments Get Follow Write Have Have
  • 9. Data: Billions of words in high quality corpus ● Questions ● Answers ● Comments ● Topic biographies ● ...
  • 10. Data: Interaction History ● Highly engaged users => long history of activity e.g search queries, upvotes etc. ● Ever-green content => long history of users engaging with the content in search, feed etc.
  • 11. ● Answer ranking ● Feed ranking ● Search ranking ● User recommendations ● Topic recommendations ● Duplicate questions ● Email Digest ● Request Answers ● Trending now ● Topic expertise prediction ● Spam, abuse detection ● …. ML Applications At Quora
  • 12. ● Logistic Regression ● Elastic Nets ● Random Forests ● Gradient Boosted Decision Trees ● Matrix Factorization ● (Deep) Neural Networks ● LambdaMart ● Clustering ● Random walk based methods ● Word Embeddings ● LDA ● ... ML Algorithms At Quora
  • 13. What We Care About Relevance Quality Ads Targeting Is content high quality? Is user an expert in the topic? Is user deliberating a purchase decision? Will user click on an ad? Would user be interested in reading answer? Would user be able to answer the question?
  • 14. ML As Quora’s Core Competency ● ML is the most promising tool for all our core problems ● ML can make our network effects even more powerful
  • 16. Why ML Platform Team? 1. Applied ML is bottlenecked on engineering 2. Most ML tasks require similar system primitives
  • 17. Defining Times For ML Systems Similar to Big Data 10-15 years ago
  • 18.
  • 19. GOAL Mobilize Discussions In Open Source ML Systems Community
  • 20. DISCLAIMER All my ideas are probably wrong/unoriginal/incomplete ...and I’m shit scared right now!
  • 21. 1. Model Management 2. Feature Extraction Framework
  • 22. 1. Model Management 2. Feature Extraction Framework
  • 23. ● Difficulty reproducing a model trained in R/Python in production on C++/Java ● Training using new library requires changing production too ● New library gives good metrics but is too slow in production ● Hard to manage too many versions of the same ML model in production Sounds Familiar?
  • 24. Coupling Between Model Training And Serving Candidate Generation Feature Extraction Scoring Post Processing Data Candidate Generation Feature Extraction Training Model
  • 25. Coupling Between Model Training And Serving Candidate Generation Feature Extraction Scoring Post Processing Data Candidate Generation Feature Extraction Training Model
  • 26. Not a new idea...
  • 27. MODEL Collection (file) of learnt parameters
  • 28. Universal model definition language ● Model files will be agnostic of training library/language ● Library plugins to convert existing models to a file in the universal model language Language-agnostic production systems to serve models
  • 29. Fast standardized serving ● A remote service usually works well and is sometimes necessary (e.g large memory footprint of a model) ● Local serving for cases where network round trip is too costly ● Fast standard model serving systems, supporting smart batching, GPU support etc. ● ‘Compiling’ the model for cases where interpreting it is too slow
  • 30. Versioning support ● Running multiple versions of a model - gradual roll outs, hot-swaps etc. ● Tensorflow serving does this very well, though need to add support for general model definition language.
  • 31. Remote File Store Versioning Layer Python Remote Model Serving C++ Local Model Serving Python Model Training Store Model File Thrift Layer Serving Layer Get Model File Serve Model Training Library Remote Model Server
  • 32. ● Reproducibility -- could store features, hyper-parameters, algorithms, datasets and metrics used to train a model ● Repository of all previously trained models Model Repository
  • 33. Many Open Questions... ● Where does online-learning happen? ● Who takes care of the availability of the model service? ● Should versioning be a concern of the model service or the application? ● ...
  • 34. 1. Model Management 2. Feature Extraction Framework
  • 35. class AnswerLength(BaseFeature): … def extract(self, aid): <some code> … ● Diverging implementations of ‘BaseFeature’ classes ● Trouble discovering and reusing features across applications ● Problems integrating features across languages ● Hard to manage feature dependency graph, sometimes across applications and languages ● Ad-hoc testing/monitoring for feature values Sounds familiar?
  • 36. Feature extraction framework for standardization and reusability
  • 37. Feature Extractors ● Libraries/plugins for domain specific extractor building blocks e.g text, image, video ● Native support for distributed counting in a rolling window ● Feature transformers e.g log, bucketizer, centering, normalizing ● Encoders for categorical features e.g one-hot ● Combining multiple features e.g max, sum
  • 38. Feature Storage And Serving ● Storage/caching/dirtying mechanisms ● Columnar storage for offline storage and training ● Central feature repository with discovery mechanism ● Central service serving all features behind language agnostic declarations ● Code can also be shipped to Spark workers
  • 39. Feature Reliability ● Anomaly detection in feature value distributions ● Ground-truth feature tables ● Strong versioning support ● Feature debug/introspection UI
  • 40. ● Both models and features can depend on other features ● Features can work as a simple model ● Models can be a feature into another model ● Both need similar tooling support -- versioning, monitoring, debugging, repository etc. Models and features are functionally isomorphic https://proopnarine.wordpress.com/2010/02/20/random-graphs-and-food-webs/
  • 42. ● Defining times for ML Systems space ● Need powerful abstractions higher up in the ML stack ● Model management & feature extraction could use more open-source love ● Models & features are more similar than we might think