SlideShare a Scribd company logo
1 of 30
Tsahi Glik
Sep 12, 2019
ML Infra @ Dropbox
Overview
ML @ dropbox
Our signal sources:
Files
Multi-exabyte data
File Metadata
Trillions
User interactions
Billions / day
ML @ dropbox
ML Impact at Dropbox:
โ— Smart Sync
โ— Content Suggestions
โ— Team Activity Ranking
โ— Search Ranking
โ— OCR
And many more โ€ฆ
ML Platform
Challenges:
โ— Huge data sources that are isolated in various system across production
โ— Multiple privacy levels of data
โ— Custom work and build dedicated services for each new use case
โ— Manual training which is hard to reproduce
โ— Wide variety of development processes and ML frameworks
ML Platform
Mission:
Accelerate intelligent product development at Dropbox
By:
โ— Scalable access to data for offline and online
โ— Ensures sensitive data is protected and accessed only in approved ways
โ— Easy model deployment & experimentation
โ— Automate workflows
โ— Standardize the process, frameworks and tools
Platform Architecture
Online Data Collection
Antenna
What is Antenna?
โ— User activity service
โ— Provides various ways to query activity events
โ— Support aggregations for simple summaries and histograms of activity data
Example usage of Antenna
Antenna Architecture
Content Ingestion pipeline
Read more in our blog post:
OCR
Content Ingestion Architecture
Offline Data Preparation
Data Preparation - ETL pipeline
Data Preparation - Predict logger
- Converting raw logs into labeled datasets
- Logging partial information from different services at different times
- Eliminate discrepancies between online and offline
Offline Training &
Evaluation
Prototyping
HDFS
Signal and training
data store
Spark
Zeppelin Notebooks
Multi-user notebook environment
Workbench
40 cores, 400GB ram
dbxlearn
Elastic ML training and
hyperparameter tuning
dbxlearn
What is dbxlearn?
โ— dbxlearn provides an easy way to use computing at scale for training
โ— Core problems dbxlearn is addressing:
โ—‹ Elasticity
โ—‹ Standard way to train on different hw configurations (GPU, TPU) on
different cloud platforms.
โ— Hybrid cloud architecture - Interface with private cluster and well as public
clouds
โ— Currently integrated with AWS and use SageMaker
dbxlearn Architecture
dbxlearn
Datasets
Training script
bazelized binary
Dropbox Data Center
Public Cloud (AWS)
S3
Data and code store
AWS Sagemaker
Trainers cluster
Training Instances
Training Instances
S3
Model store
deploy
train/tuneexport
dbxlearn workflow
$ dbxlearn train --py-binary <script>
--train_uri <...> --validation_uri <...> [--local]
$ dbxlearn tune --py-binary <script> --train_uri <...> --validation_uri <...>
$ dbxlearn query --tuning_job_id <id> print_top_summary
$ dbxlearn deploy-model --tuning-job_id <id> <experiment-group>
Model Deployment
Predict service
Live experimentation - Suggest backend
Shadow experimentation - Suggest backend
โ— Send live traffic to shadow cluster with a different experiment variant
โ— Results are logged for experiment analysis
โ— Useful to collect labeled datasets using Predict Logger
Example
Campaign Ranker - Using Multi Arm Bandits
Campaign Ranker - Using Multi Arm Bandits
Summary
โ— End-to-End platform that supports all steps in ML development
workflow
โ— Deep integration with Dropbox large scale data sources
โ— Flexible APIs to support wide variety of use cases
โ— Hybrid cloud architecture for elasticity and early adoption of new
technologies
Next Challenges
โ— Better representation of data relations across multiple systems
โ— Democratize ML at dropbox, extending our tools from ML
developers to more engineers
Thank You

More Related Content

What's hot

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
ย 
Machine Learning for AdTech in Action with Cyrille Dubarry and Han Ju
Machine Learning for AdTech in Action with Cyrille Dubarry and Han JuMachine Learning for AdTech in Action with Cyrille Dubarry and Han Ju
Machine Learning for AdTech in Action with Cyrille Dubarry and Han Ju
Databricks
ย 

What's hot (20)

Using ClickHouse for Experimentation
Using ClickHouse for ExperimentationUsing ClickHouse for Experimentation
Using ClickHouse for Experimentation
ย 
A Multi-Armed Bandit Framework For Recommendations at Netflix
A Multi-Armed Bandit Framework For Recommendations at NetflixA Multi-Armed Bandit Framework For Recommendations at Netflix
A Multi-Armed Bandit Framework For Recommendations at Netflix
ย 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data Alerts
ย 
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...
ย 
Productionizing Machine Learning with a Microservices Architecture
Productionizing Machine Learning with a Microservices ArchitectureProductionizing Machine Learning with a Microservices Architecture
Productionizing Machine Learning with a Microservices Architecture
ย 
Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se...
 Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se... Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se...
Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se...
ย 
Sequential Decision Making in Recommendations
Sequential Decision Making in RecommendationsSequential Decision Making in Recommendations
Sequential Decision Making in Recommendations
ย 
Iceberg: a fast table format for S3
Iceberg: a fast table format for S3Iceberg: a fast table format for S3
Iceberg: a fast table format for S3
ย 
Whatโ€™s New with Databricks Machine Learning
Whatโ€™s New with Databricks Machine LearningWhatโ€™s New with Databricks Machine Learning
Whatโ€™s New with Databricks Machine Learning
ย 
MLflow Model Serving
MLflow Model ServingMLflow Model Serving
MLflow Model Serving
ย 
Scaling Data and ML with Apache Spark and Feast
Scaling Data and ML with Apache Spark and FeastScaling Data and ML with Apache Spark and Feast
Scaling Data and ML with Apache Spark and Feast
ย 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
ย 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
ย 
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Building a Streaming Microservice Architecture: with Apache Spark Structured ...Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
ย 
Time, Context and Causality in Recommender Systems
Time, Context and Causality in Recommender SystemsTime, Context and Causality in Recommender Systems
Time, Context and Causality in Recommender Systems
ย 
Machine Learning for AdTech in Action with Cyrille Dubarry and Han Ju
Machine Learning for AdTech in Action with Cyrille Dubarry and Han JuMachine Learning for AdTech in Action with Cyrille Dubarry and Han Ju
Machine Learning for AdTech in Action with Cyrille Dubarry and Han Ju
ย 
Past, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry Perspective
ย 
Context Aware Recommendations at Netflix
Context Aware Recommendations at NetflixContext Aware Recommendations at Netflix
Context Aware Recommendations at Netflix
ย 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
ย 
Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...
Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...
Advanced MLflow: Multi-Step Workflows, Hyperparameter Tuning and Integrating ...
ย 

Similar to ML Infrastracture @ Dropbox

Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload Deployment
Databricks
ย 

Similar to ML Infrastracture @ Dropbox (20)

Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload Deployment
ย 
Scaling Data Science on Big Data
Scaling Data Science on Big DataScaling Data Science on Big Data
Scaling Data Science on Big Data
ย 
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
ย 
Dsdt meetup 2017 11-21
Dsdt meetup 2017 11-21Dsdt meetup 2017 11-21
Dsdt meetup 2017 11-21
ย 
DSDT Meetup Nov 2017
DSDT Meetup Nov 2017DSDT Meetup Nov 2017
DSDT Meetup Nov 2017
ย 
Google Cloud Platform (GCP) At a Glance
Google Cloud Platform (GCP)  At a GlanceGoogle Cloud Platform (GCP)  At a Glance
Google Cloud Platform (GCP) At a Glance
ย 
Introduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP CampaignIntroduction to Google Cloud & GCCP Campaign
Introduction to Google Cloud & GCCP Campaign
ย 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudExtending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud
ย 
Deploy Deep Learning Models with TensorFlow + Lambda
Deploy Deep Learning Models with TensorFlow + LambdaDeploy Deep Learning Models with TensorFlow + Lambda
Deploy Deep Learning Models with TensorFlow + Lambda
ย 
201908 Overview of Automated ML
201908 Overview of Automated ML201908 Overview of Automated ML
201908 Overview of Automated ML
ย 
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
ย 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud
ย 
Day 13 - Creating Data Processing Services | Train the Trainers Program
Day 13 - Creating Data Processing Services | Train the Trainers ProgramDay 13 - Creating Data Processing Services | Train the Trainers Program
Day 13 - Creating Data Processing Services | Train the Trainers Program
ย 
Extending twitter's data platform to google cloud
Extending twitter's data platform to google cloud Extending twitter's data platform to google cloud
Extending twitter's data platform to google cloud
ย 
Cloud-based Energy Efficient Software
Cloud-based Energy Efficient SoftwareCloud-based Energy Efficient Software
Cloud-based Energy Efficient Software
ย 
Alluxio Monthly Webinar - Accelerate AI Path to Production
Alluxio Monthly Webinar - Accelerate AI Path to ProductionAlluxio Monthly Webinar - Accelerate AI Path to Production
Alluxio Monthly Webinar - Accelerate AI Path to Production
ย 
Session 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers ProgramSession 8 - Creating Data Processing Services | Train the Trainers Program
Session 8 - Creating Data Processing Services | Train the Trainers Program
ย 
Integrating with Aws s3
Integrating with Aws s3Integrating with Aws s3
Integrating with Aws s3
ย 
MongoDB 4.0 ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์†Œ๊ฐœ
MongoDB 4.0 ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์†Œ๊ฐœMongoDB 4.0 ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์†Œ๊ฐœ
MongoDB 4.0 ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์†Œ๊ฐœ
ย 
Categorizing Docker Hub Public Images
Categorizing Docker Hub Public ImagesCategorizing Docker Hub Public Images
Categorizing Docker Hub Public Images
ย 

Recently uploaded

Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort ServiceCall Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
ย 
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
dharasingh5698
ย 
Call Now โ‰ฝ 9953056974 โ‰ผ๐Ÿ” Call Girls In New Ashok Nagar โ‰ผ๐Ÿ” Delhi door step de...
Call Now โ‰ฝ 9953056974 โ‰ผ๐Ÿ” Call Girls In New Ashok Nagar  โ‰ผ๐Ÿ” Delhi door step de...Call Now โ‰ฝ 9953056974 โ‰ผ๐Ÿ” Call Girls In New Ashok Nagar  โ‰ผ๐Ÿ” Delhi door step de...
Call Now โ‰ฝ 9953056974 โ‰ผ๐Ÿ” Call Girls In New Ashok Nagar โ‰ผ๐Ÿ” Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
ย 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
ย 

Recently uploaded (20)

Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
ย 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
ย 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
ย 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
ย 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
ย 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
ย 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
ย 
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort ServiceCall Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
Call Girls in Ramesh Nagar Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9953056974 ๐Ÿ” Escort Service
ย 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
ย 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
ย 
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
ย 
Call Now โ‰ฝ 9953056974 โ‰ผ๐Ÿ” Call Girls In New Ashok Nagar โ‰ผ๐Ÿ” Delhi door step de...
Call Now โ‰ฝ 9953056974 โ‰ผ๐Ÿ” Call Girls In New Ashok Nagar  โ‰ผ๐Ÿ” Delhi door step de...Call Now โ‰ฝ 9953056974 โ‰ผ๐Ÿ” Call Girls In New Ashok Nagar  โ‰ผ๐Ÿ” Delhi door step de...
Call Now โ‰ฝ 9953056974 โ‰ผ๐Ÿ” Call Girls In New Ashok Nagar โ‰ผ๐Ÿ” Delhi door step de...
ย 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
ย 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
ย 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
ย 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
ย 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
ย 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
ย 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
ย 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ย 

ML Infrastracture @ Dropbox

Editor's Notes

  1. Understand the scale of our data sources that we use for ml features, not necessarily for training huge file repository. probably one of the largest in the world. containing exabytes of data with millions of new files added every day. And we have file system trees which provides our systems valuable signals on content organization and grouping. billions of events every day of the users interaction with these files. Which provide our systems valuable signals on how users are working with files and collaborate with one another in their workplace. These are huge data sources that present lots of potential for ML, but also lots of challenges to ML developers.
  2. Go through some of the use cases Smart sync is trying to predict which files you will need on each device so we can make it available locally and vacuum unneeded files. Content suggestion is trying to simplify retrieval process and predict which file you are looking for Team Activity ranking is trying to increase awareness of what others are doing while filtering the noise Search ranking - use a ml model for ranking search results OCR - we extract text from each image which is uploaded to dropbox So these are some of the highlights, but there are many more.
  3. So what are the challenges that we are trying to solve? Our huge data sources are isolated in various system across production, which makes it challenging to access for training. Multiple privacy levels of data, some of which is not reviewable by engineers Teams are doing custom work and build new services for solve their problems There are manual complex training workflows which are hard to reproduce Wide variety of ml frameworks and tools in use across teams
  4. So Our mission: Accelerate intelligence products development at Dropbox And we trying to solve it by: provide scalable access to context to models both offline and online Ensures sensitive data is protected and accessed only in approved ways Make it easy to deploy models without building new services and make it easy to experiment with new models Automate development workflows Standardize the process, frameworks and tools for Intelligent product development and release
  5. All ml development has a common basic workflow that includes: Data collection, Data preparation, Training & evaluation, And model deployment to production. We have developed components to support each step in this basic workflow. Online components integrates with DBX production systems to provide data in realtime. And make it easy to deploy and experiment with new models. Our offline components capture historical data and make it easy to access it for training and prototyping. And Management components are making it easy to automate these workflows.
  6. Serves user activity to online production services Given a user what are all the all the files that the user have interacted on. Given a file who are all the users that have interacted with that file. We also support simple aggregations like how many edits a user had on a specific file or creating histograms of number of events across different days of week
  7. In this example we are creating suggestions for a user that try to predict which file the user will open next To do that it will first query Antenna our user activity service for the user activity from the last few months. It will then use that to generate a candidate list of files for suggestions and aggregations of the user activity on each file candidate. Then an ml model will rank them and return the top N. It is important that the data will be fresh. The user recent activity, even from the last few minutes, is relevant for what the user want to do next.
  8. Online ingestion hosts will process events in realtime , updating indexes and aggregations and provide fresh data. Offline components persist the raw events in a durable store and rebuild the indexes and aggregations periodically ml developers can define new aggregators and indexes that will be run in both in online ingestion and in offline workers and get automatically backfilled
  9. Antenna is our ingestion infrastructure for user activity, lets now talk about content ingestion infrastructure OCR is a good example that will demonstrate how an ML model will run in our content ingestion infrastructure It is actually a multistep process of not one but several models . Every image that passes through our ingestion pipeline classified whether it contain OCR-able content, image is rectified to align the text , deep net model is use to extract word boxes, LSTM model is used to convert each word box to a sequence of characters, and finally a lexicon based algorithm is converting these sequence of characters to actual words.
  10. Every File update in ingested by our indexers that call a plugin framework to do a transform on the user content, which is in our case an OCR model, and then it store the results in Doc Store. Which contain all derived data for each file. When running a transform on raw user content, there are security concerns for exploits and vulnerabilities, so the plugin framework run each plugin in a sandboxed environment we call jail. This can allow us to be sure that any exploits in the frameworks that we are using, like ImageMagick and TF, cannot be used to to gain access to our systems. One of the challenges that we are dealing with here is how to simplify model deployment to this jailed environment and enable easy experimentation with different model variants.
  11. Our ETL pipeline makes it easy to generate training data and signals from our data sources We maintain interfaces for spark jobs to import data from our data lake and Antenna Using periodical Spark jobs orchestrated by Airflow to generate signals and training data Then ML developer can access the output signal and training data for training.
  12. We provide a more specialized pipeline that help automate the generation of labeled datasets from live traffic. Which we call the predict logger The predict logger define an api with a set of predict events that define the life cycle of online predictions Like : requested, predicted, viewed, actions This events are being logged from different services at different time. And the predict logger merge them in a consistent way that help developers avoid incidental complexities The result labeled dataset is ready for use in training with all the signals and context as was seen in serving time, so this help us avoid the discrepancies between online and offline data
  13. Before full scale training, developers first need to prototype For prototyping they need access to training and signal data from the etl pipeline which they use for exploration and offline evaluations We use workbenches in production that are integretage with a Spark cluster to provide them access to all the offline data After prototyping, they use dbxlearn for large scale training and hyperparameter tuning.
  14. Training jobs require lots of computing power dbxlearn provides our developers an easy way to use computing at scale for training by enabling them to submit training jobs to remote clusters. It provides us elasticy, make sure that each job will get all the resources that it needs when it needs them Also a standard way to train on different hw configuration, so we can use specialized hw configuration in training like GPUs. We have build a hybrid cloud architecture that interface with our private cluster as well as public clouds. We have integrated currently with AWS and use SageMaker for training.
  15. Typical workflow with dbxlearn Use dbxlearn train --local to test the training script locally Remove --local to test the training script in the cloud. If it runs well in the cloud, use dbxlearn tune to find the optimal hyperparameters automatically Use dbxlearn query to check the status and the results of all training jobs If the results are good, use dbxlearn deploy-model to deploy the best model to the model store
  16. We have a central service to host models in production called predict service Loads models from the model store and provide an standard API to do realtime inference. Support multiple model inference partitions for resources isolation. The inference api can also provide a proxy for running inference on public cloud services
  17. Help reduce boilerplate of running live experiments Simple config defines which signals to collect and which model to run . Client send requests with target experiment variant Suggest backend run the signal collector that was defined in the config And then run configured model Standard logging to monitor experiments results Provide signal collector abstraction that developers can customize
  18. The example is a campaign ranker that was implemented as a contextual multi-arm bandits problem At dropbox we have a campaign framework that makes it easy to define campaigns that can be displayed in various ui surfaces for various populations. In this case one of our web pages is displaying a campaign for Dropbox business. For each impression there are many competing campaigns, that can be modeled as a multi-arm bandits problem, where we need to choose which arm to play. And we use ui features and user features as context for this decision.
  19. Impressions are being logged by UI surfaces and by predict service from the backend, using the predict logger This generates a batch of new training data periodically by our ETL pipeline A training job then update the policies in the contextual bandits model and store it in the model store The predict service then load the new model and use it for future decisions And this repeats itself forever This demonstrate the use of our ETL pipeline to automate the full workflow of labeled data generation, training and model deployment
  20. We have built an End-to-End platform that supports all steps in ML development workflow We provide Deep integration with Dropbox large scale data sources to make this data accessible for offline training and online inference We built our components with flexible APIs to support wide variety of use cases We chose a hybrid cloud architecture for easier elasticity and early adoption of new technologies
  21. Currently the exabytes of data are in multiple systems. But there are relationships that would be useful to know across these systems. So our challenge is how can we present the interaction among data across systems so the ML team can use them for features? Currently our tools are used mainly by ml developers with high ML expertise. We would like to make our tools accessible to more engineers with better and simpler interfaces