SlideShare a Scribd company logo
1 of 58
Download to read offline
Helixa
Tech Leader’s Guide to
Effective Building of
Machine Learning
Products
Gianmario Spacagna
Chief Scientist @ Helixa
ML for Enterprises Conference
Rome, 28th October 2019
About Me
7+ years experience in building Machine Learning products
Currently leading a team of ML Scientists and ML Engineers
Background in Software Engineering of Distributed Systems
MBA Candidate
Co-author of Python Deep Learning
Contributor of the Professional Data Science Manifesto
Blogger of Data Science Vademecum
Founder of the DataScienceMilan.org community
Stockholm, London, Milan
Gianmario Spacagna
Chief Scientist, Helixa
gspacagna@helixa.ai
Agenda
Manager’s guide (40 minutes)
1. Introducing ML in the Enterprises
2. Defining the ML Product Specifications
3. Planning Under Uncertainty
4. Building a balanced ML Team
Tech Leaders’ guide (20 minutes)
5. ML Product Lifecycle
6. Serverless architectures
5. ML Product Lifecycle
Cloud Providers Disclaimer
The following examples will focus on AWS stack but consider
that other cloud providers offers similar services.
It is not part of this talk to compare different cloud solutions.
* from “The Start-Up Trap” by Robert C. Martin (Uncle Bob)
“The only way to go fast is to go well” cit. Uncle Bob
Overview of a real-world ML production system
Source: https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems
Only a small fraction of real-world ML systems is
composed of the ML Code. The required surrounding
infrastructure is vast and complex.
Overview of a ML component lifecycle
Picture source: https://medium.com/microsoftazure/how-to-accelerate-devops-with-machine-learning-lifecycle-management-2ca4c86387a0
Manage the lifecycle with dedicated platforms
Picture source: www.mlflow.org
Predictions
Model
Serving
Training
Other Machine Learning lifecycle platforms and tools
Picture source: www.mlflow.org
TensorFlow Extended (TFX)
Data Version Control
HopsWorks
Native Cloud Object (Data) Storage
Benefits:
● Cheaper
● Elastic
● Highly available
● Performant
“The benefit of HDFS is minimal and not
worth the operational complexity”
Source: DataBricks
Keep Your Datasets Registered in a Catalog
Production solution: AWS Glue Data CatalogManual solution
Manage training labels using Snorkel
www.snorkel.org
Dev tool stack and workflow
Pull
Notebooks and data
stored in S3 in shared
folders
S3 buckets mounted locally
via Alluxio cache for fast and
cheap access to data
Commit
and
push
Dev Unix
Machine
Notebook name matching
branch ID
Header cell:
1. Pull the latest version of the
code and install locally
2. Print the git status and
dependency versions
Develop code in the laptop
using professional IDEs
Feature branches
matching Jira key
Branching models:
● GitFlow
● Trunk-based
Processing large datasets with Elastic MapReduce (EMR)
Picture source: https://dimensionless.in/different-ways-to-manage-apache-spark-applications-on-amazon-emr/
Ephemeral clusters on spot instances can dramatically
reduce the cost of operations compared to long running
ones.
Processing large datasets from notebooks using
and EMR within the same workflow
Picture source:
Port analysis findings into a production-quality modules with a
task-oriented design and entry points declared in makefiles
Picture source: https://medium.com/@davidstevens_16424/make-my-day-ta-science-easier-e16bc50e719c
Task:
1. Read
2. Transform
3. Write
Deliver jobs inside containers whenever is possible
Advantages:
● Isolated environment
● Different library requirements
● Different resources (memory, CPUs, GPUs)
● Simplified load balancing
● Scalable model serving
Processing chunks of data in parallel batch jobs
Source: https://spotinst.com/blog/cost-efficient-batch-computing-on-spot-instances-aws-batch-integration/
Containerized job logic
Orchestrate pools of containers using Kubernetes (K8s) for
inference services
Automated code testing pyramid
Unit tests
● Single methods of data
processing utils and major
components.
● Replace “assertEqual” with
uncertainty ranges on
predictions
70%
Integration tests
● Test the training, model
selection and tuning.
● Subset of component
integrations (e.g.
transformers followed by
model predictions)
20%
End-to-end tests
● Static and small dataset.
● Dry runs of the execution
plan.
● Check APIs work seamlessly
through every stage of the
pipeline.
10%
Bonus: Metamorphic testing allows to test ML algorithms by
generating complex, deep tests without the use of an oracle
Infrastructure-as-Code (IaC) is fundamental in order to have
fully-portable and consistent replicas of environments
Benefits:
● Reduced labor cost
● Speed of provisioning
● Minimizes errors and security violations
Automate tasks using Continuous Integration
On commit
Deployment tasks:
● Re-training of models
● Model selection
● Hyper-parameters tuning
● Update pipeline components
● Update microservices
● Publish builds and Docker containers
On release
Picture source: https://deploybot.com/blog/the-expert-guide-to-continuous-integration
Release without pain
Source: Spotify Engineering Culture — Part 1
Validate hypothesis and releases with A/B testing
Source: https://www.optimizely.com/optimization-glossary/ab-testing/
Centralized logging with the ELK stack
Generate Logs Aggregation &
Transformation
Storage & Indexing Visualization & Analysis
Infrastructure Monitoring and Alerting
Basic Monitoring:
AWS resources and
custom metrics
generated by your
applications and
services
Focus on IT Monitoring:
Cloud-scale monitoring of
logs, metrics and traces
from distributed, dynamic
and hybrid infrastructure.
Focus on App Monitoring:
All-in-one performance
management tool from the
end user experience,
through servers, down to
the line of application
code.
Governance and Auditability
Audit changes in the
configuration of resources.
Track account activity by
recording AWS console actions
and API calls.
Respect the Responsible AI principles
Source: https://ethical.institute/principles.html
Adopt the eXplainableAI Framework
Source: https://ethical.institute/xai.html
The 43 Rules of ML Engineering
Martin Zinkevich
Google Research Scientist
https://developers.google.com/machine-learning/guid
es/rules-of-ml/
6. Serverless
Serverless, or how to
build and run
applications without
thinking about
servers
In serverless, the cloud provider is responsible for executing a
piece of code by dynamically allocating the resources
Traditional Serverful Way:
Serverless Way:
Source: https://serverless-stack.com/chapters/what-is-serverless.html
Philosophy behind Serverless
"If a tree falls in a forest and no one is
around to hear it, does it make a sound?"
“If a server runs in the cloud and no one
is around to use it, does it need to incur
any costs?”
WinterClouds
Reasons to migrate to Serverless
Secure Scalable Cheap
Always available Worry free Low maintenance
An overview of Serverless services available in AWS
Docker container
execution.
Script execution in
response of events.
Full list available at https://aws.amazon.com/serverless/
Orchestration of
components and
microservices
Queuing +
publisher/subscriber
message services.
NoSQL Key-Value
database.
REST API
management
service.
Query service to
analyze data at scale
using standard SQL
(like PrestoDB).
ETL service to crawl and
process large datasets on
a fully managed Spark
environment.
Lambda function: listing files in a specified S3 directory
Event object Result objectPython script
Lambda cost: $1.04 / million requests
S3 LIST request cost: $5 / million requests
Serverless.com application framework
Hybrid solution for:
Orchestrating functions using state machines via Step Functions
Serverless scientific computing and Map/Reduce with PyWren
Pictures source: https://www.slideshare.net/AmazonWebServices/massively-parallel-data-processing-with-pywren-and-aws-lambda-srv424-reinvent-2017
Final Remarks
* from “The Start-Up Trap” by Robert C. Martin (Uncle Bob)
“The only way to go fast is to go well” cit. Uncle Bob
Overview of a real-world ML production system
Source: https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems
Embrace the serverless movement
Read the
Manager’s Guide
(first part)
Gianmario Spacagna
Chief Scientist at Helixa.ai
gspacagna@helixa.ai
@gm_spacagna
Appendix A:
Summary Steps
Steps to Managing the ML Product Lifecycle
1. Familiarize with the whole lifecycle and most popular tools and libraries.
2. Adopt a platform such as MLflow to track and version models and experiments.
3. Notebooks are good for explorations but the implementation should be in a codebase.
4. Make analysis, code and infrastructure, reproducible and avoid manual operations.
5. Communicate analysis results effectively summarizing only what is relevant.
6. Invest on automated tests at different integration levels.
7. Exploit Continuous Integration (CI) for automating builds and releases.
8. Deliver models and components inside Docker containers, when possible.
9. Centralize the logs collection for debugging and troubleshooting.
10. Monitor the infrastructure health using specific tools.
11. Consider a strategy for implementing Governance and Auditability.
Steps to migrate to Serverless architectures
1. Reverse Conway’s law: “Organizations produce software that resemble their
organizational communication structures”.
2. Divide your architecture in separate and simple services.
3. Adopt the serverless.com framework to make easier to develop lambda functions.
4. Pick the most suitable serverless MapReduce architecture for your needs.
5. Enjoy your team having fun with simplified and scalable deployments.
6. Make a report to your boss showing the consistent amount of saved costs.
Appendix B:
Serverless MapReduce
How can I process
large datasets using
serverless?
Serverless MapReduce with PyWren serializes and run local
Python code and return results back to the driver
Pictures source: https://www.slideshare.net/AmazonWebServices/massively-parallel-data-processing-with-pywren-and-aws-lambda-srv424-reinvent-2017
Serverless MapReduce with events sourced from S3
Picture source: https://aws.amazon.com/it/blogs/compute/ad-hoc-big-data-processing-made-simple-with-serverless-mapreduce/
Serverless MapReduce with Parallel tasks invoking
synchronously up to 10 concurrent lambdas
* A single Lambda function only supports up to 10 concurrent executions when invoked synchronously
Serverless MapReduce with queue polling invoking
asynchronously many concurrent lambdas within AWS limits*
...
Mapper2
Mapper1
Mapper n
SQS queue
Poll the queue
Driver
* StepFunctions has a limit of 1000 transitions/second and a max execution history size of 25k events.
Serverless MapReduce with activity callbacks invoking unlimited
parallel executions without limits
Source: https://semantive.com/part-2-asynchronous-actions-within-aws-step-functions-without-servers/
...
...
mapper1 mapper n
Get activity token and wait for
mapper activity to complete
Start mapper activity asynchronously
with the corresponding token
Send activity task success
s
driver

More Related Content

What's hot

Five building blocks of digital transformation
Five building blocks of digital transformation Five building blocks of digital transformation
Five building blocks of digital transformation Maziar Ebrahimi
 
Bridging enterprise-architecture and systems-thinking
Bridging enterprise-architecture and systems-thinkingBridging enterprise-architecture and systems-thinking
Bridging enterprise-architecture and systems-thinkingTetradian Consulting
 
The Missing Link in Enterprise Data Governance - Automated Metadata Management
The Missing Link in Enterprise Data Governance - Automated Metadata ManagementThe Missing Link in Enterprise Data Governance - Automated Metadata Management
The Missing Link in Enterprise Data Governance - Automated Metadata ManagementDATAVERSITY
 
Bringing Architecture Thinking to the People - An introduction into the PEOPL...
Bringing Architecture Thinking to the People - An introduction into the PEOPL...Bringing Architecture Thinking to the People - An introduction into the PEOPL...
Bringing Architecture Thinking to the People - An introduction into the PEOPL...Craig Martin
 
Data Warehouse or Data Lake, Which Do I Choose?
Data Warehouse or Data Lake, Which Do I Choose?Data Warehouse or Data Lake, Which Do I Choose?
Data Warehouse or Data Lake, Which Do I Choose?DATAVERSITY
 
Apache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop componentsApache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop componentsDataWorks Summit/Hadoop Summit
 
Airbyte - Series-B deck
Airbyte - Series-B deckAirbyte - Series-B deck
Airbyte - Series-B deckAirbyte
 
ISM Executive School modulio "Verslo procesų valdymas" 2015 m. pavasario seme...
ISM Executive School modulio "Verslo procesų valdymas" 2015 m. pavasario seme...ISM Executive School modulio "Verslo procesų valdymas" 2015 m. pavasario seme...
ISM Executive School modulio "Verslo procesų valdymas" 2015 m. pavasario seme...Darius Šilingas
 
Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)Adrien Blind
 
Digital Innovation Management
Digital Innovation ManagementDigital Innovation Management
Digital Innovation ManagementGeorge Fankhauser
 
Driving Digital Transformation
Driving Digital TransformationDriving Digital Transformation
Driving Digital TransformationIron Mountain
 
LDM Slides: How Data Modeling Fits into an Overall Enterprise Architecture
LDM Slides: How Data Modeling Fits into an Overall Enterprise ArchitectureLDM Slides: How Data Modeling Fits into an Overall Enterprise Architecture
LDM Slides: How Data Modeling Fits into an Overall Enterprise ArchitectureDATAVERSITY
 
St. Galler Management-Modell 1973-2002
St. Galler Management-Modell 1973-2002St. Galler Management-Modell 1973-2002
St. Galler Management-Modell 1973-2002stefanstuder
 
‏‏‏‏‏‏Chapter 10: Document and Content Management
‏‏‏‏‏‏Chapter 10: Document and Content Management ‏‏‏‏‏‏Chapter 10: Document and Content Management
‏‏‏‏‏‏Chapter 10: Document and Content Management Ahmed Alorage
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process ModelingSandy Kemsley
 
What Analytics Won't Tell You: Get Essential Insights for Content and Design
What Analytics Won't Tell You: Get Essential Insights for Content and DesignWhat Analytics Won't Tell You: Get Essential Insights for Content and Design
What Analytics Won't Tell You: Get Essential Insights for Content and DesignMelissa Eggleston
 
GraphAware: Insights Discovery with KGs: Bringing Archives to Life (GraphSumm...
GraphAware: Insights Discovery with KGs: Bringing Archives to Life (GraphSumm...GraphAware: Insights Discovery with KGs: Bringing Archives to Life (GraphSumm...
GraphAware: Insights Discovery with KGs: Bringing Archives to Life (GraphSumm...Neo4j
 
Competing IT Priorities - An Operating Model for Data Stewardship and Busines...
Competing IT Priorities - An Operating Model for Data Stewardship and Busines...Competing IT Priorities - An Operating Model for Data Stewardship and Busines...
Competing IT Priorities - An Operating Model for Data Stewardship and Busines...Jaleann M McClurg MPH, CSPO, CSM, DTM
 
Death of the Dashboard
Death of the DashboardDeath of the Dashboard
Death of the DashboardDATAVERSITY
 
Enterprise Architecture Management (EAM) I Best Practices I NuggetHub
Enterprise Architecture Management (EAM) I Best Practices I NuggetHubEnterprise Architecture Management (EAM) I Best Practices I NuggetHub
Enterprise Architecture Management (EAM) I Best Practices I NuggetHubRichardNowack
 

What's hot (20)

Five building blocks of digital transformation
Five building blocks of digital transformation Five building blocks of digital transformation
Five building blocks of digital transformation
 
Bridging enterprise-architecture and systems-thinking
Bridging enterprise-architecture and systems-thinkingBridging enterprise-architecture and systems-thinking
Bridging enterprise-architecture and systems-thinking
 
The Missing Link in Enterprise Data Governance - Automated Metadata Management
The Missing Link in Enterprise Data Governance - Automated Metadata ManagementThe Missing Link in Enterprise Data Governance - Automated Metadata Management
The Missing Link in Enterprise Data Governance - Automated Metadata Management
 
Bringing Architecture Thinking to the People - An introduction into the PEOPL...
Bringing Architecture Thinking to the People - An introduction into the PEOPL...Bringing Architecture Thinking to the People - An introduction into the PEOPL...
Bringing Architecture Thinking to the People - An introduction into the PEOPL...
 
Data Warehouse or Data Lake, Which Do I Choose?
Data Warehouse or Data Lake, Which Do I Choose?Data Warehouse or Data Lake, Which Do I Choose?
Data Warehouse or Data Lake, Which Do I Choose?
 
Apache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop componentsApache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop components
 
Airbyte - Series-B deck
Airbyte - Series-B deckAirbyte - Series-B deck
Airbyte - Series-B deck
 
ISM Executive School modulio "Verslo procesų valdymas" 2015 m. pavasario seme...
ISM Executive School modulio "Verslo procesų valdymas" 2015 m. pavasario seme...ISM Executive School modulio "Verslo procesų valdymas" 2015 m. pavasario seme...
ISM Executive School modulio "Verslo procesų valdymas" 2015 m. pavasario seme...
 
Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)Introdution to Dataops and AIOps (or MLOps)
Introdution to Dataops and AIOps (or MLOps)
 
Digital Innovation Management
Digital Innovation ManagementDigital Innovation Management
Digital Innovation Management
 
Driving Digital Transformation
Driving Digital TransformationDriving Digital Transformation
Driving Digital Transformation
 
LDM Slides: How Data Modeling Fits into an Overall Enterprise Architecture
LDM Slides: How Data Modeling Fits into an Overall Enterprise ArchitectureLDM Slides: How Data Modeling Fits into an Overall Enterprise Architecture
LDM Slides: How Data Modeling Fits into an Overall Enterprise Architecture
 
St. Galler Management-Modell 1973-2002
St. Galler Management-Modell 1973-2002St. Galler Management-Modell 1973-2002
St. Galler Management-Modell 1973-2002
 
‏‏‏‏‏‏Chapter 10: Document and Content Management
‏‏‏‏‏‏Chapter 10: Document and Content Management ‏‏‏‏‏‏Chapter 10: Document and Content Management
‏‏‏‏‏‏Chapter 10: Document and Content Management
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
 
What Analytics Won't Tell You: Get Essential Insights for Content and Design
What Analytics Won't Tell You: Get Essential Insights for Content and DesignWhat Analytics Won't Tell You: Get Essential Insights for Content and Design
What Analytics Won't Tell You: Get Essential Insights for Content and Design
 
GraphAware: Insights Discovery with KGs: Bringing Archives to Life (GraphSumm...
GraphAware: Insights Discovery with KGs: Bringing Archives to Life (GraphSumm...GraphAware: Insights Discovery with KGs: Bringing Archives to Life (GraphSumm...
GraphAware: Insights Discovery with KGs: Bringing Archives to Life (GraphSumm...
 
Competing IT Priorities - An Operating Model for Data Stewardship and Busines...
Competing IT Priorities - An Operating Model for Data Stewardship and Busines...Competing IT Priorities - An Operating Model for Data Stewardship and Busines...
Competing IT Priorities - An Operating Model for Data Stewardship and Busines...
 
Death of the Dashboard
Death of the DashboardDeath of the Dashboard
Death of the Dashboard
 
Enterprise Architecture Management (EAM) I Best Practices I NuggetHub
Enterprise Architecture Management (EAM) I Best Practices I NuggetHubEnterprise Architecture Management (EAM) I Best Practices I NuggetHub
Enterprise Architecture Management (EAM) I Best Practices I NuggetHub
 

Similar to Tech leaders guide to effective building of machine learning products

Serverless machine learning architectures at Helixa
Serverless machine learning architectures at HelixaServerless machine learning architectures at Helixa
Serverless machine learning architectures at HelixaData Science Milan
 
Vertex AI: Pipelines for your MLOps workflows
Vertex AI: Pipelines for your MLOps workflowsVertex AI: Pipelines for your MLOps workflows
Vertex AI: Pipelines for your MLOps workflowsMárton Kodok
 
DevBCN Vertex AI - Pipelines for your MLOps workflows
DevBCN Vertex AI - Pipelines for your MLOps workflowsDevBCN Vertex AI - Pipelines for your MLOps workflows
DevBCN Vertex AI - Pipelines for your MLOps workflowsMárton Kodok
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arpGary Pedretti
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Luciano Resende
 
Managers guide to effective building of machine learning products
Managers guide to effective building of machine learning productsManagers guide to effective building of machine learning products
Managers guide to effective building of machine learning productsGianmario Spacagna
 
Scaling AI/ML with Containers and Kubernetes
Scaling AI/ML with Containers and Kubernetes Scaling AI/ML with Containers and Kubernetes
Scaling AI/ML with Containers and Kubernetes Tushar Katarki
 
Legion - AI Runtime Platform
Legion -  AI Runtime PlatformLegion -  AI Runtime Platform
Legion - AI Runtime PlatformAlexey Kharlamov
 
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdfcNguyn506241
 
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...LOTAR-PDES: Engineering digitalization through task automation and reuse in t...
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...CARLOS III UNIVERSITY OF MADRID
 
MLflow with Databricks
MLflow with DatabricksMLflow with Databricks
MLflow with DatabricksLiangjun Jiang
 
Mlflow with databricks
Mlflow with databricksMlflow with databricks
Mlflow with databricksLiangjun Jiang
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
 MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ... MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...Databricks
 
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...Databricks
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworksYuri Visser
 
MLOps pipelines using MLFlow - From training to production
MLOps pipelines using MLFlow - From training to productionMLOps pipelines using MLFlow - From training to production
MLOps pipelines using MLFlow - From training to productionFabian Hadiji
 
Metaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixMetaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixBill Liu
 
Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowKaxil Naik
 
Object oriented software_engg
Object oriented software_enggObject oriented software_engg
Object oriented software_enggAnnie Thomas
 
ODSC East 2020 Accelerate ML Lifecycle with Kubernetes and Containerized Da...
ODSC East 2020   Accelerate ML Lifecycle with Kubernetes and Containerized Da...ODSC East 2020   Accelerate ML Lifecycle with Kubernetes and Containerized Da...
ODSC East 2020 Accelerate ML Lifecycle with Kubernetes and Containerized Da...Abhinav Joshi
 

Similar to Tech leaders guide to effective building of machine learning products (20)

Serverless machine learning architectures at Helixa
Serverless machine learning architectures at HelixaServerless machine learning architectures at Helixa
Serverless machine learning architectures at Helixa
 
Vertex AI: Pipelines for your MLOps workflows
Vertex AI: Pipelines for your MLOps workflowsVertex AI: Pipelines for your MLOps workflows
Vertex AI: Pipelines for your MLOps workflows
 
DevBCN Vertex AI - Pipelines for your MLOps workflows
DevBCN Vertex AI - Pipelines for your MLOps workflowsDevBCN Vertex AI - Pipelines for your MLOps workflows
DevBCN Vertex AI - Pipelines for your MLOps workflows
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
 
Managers guide to effective building of machine learning products
Managers guide to effective building of machine learning productsManagers guide to effective building of machine learning products
Managers guide to effective building of machine learning products
 
Scaling AI/ML with Containers and Kubernetes
Scaling AI/ML with Containers and Kubernetes Scaling AI/ML with Containers and Kubernetes
Scaling AI/ML with Containers and Kubernetes
 
Legion - AI Runtime Platform
Legion -  AI Runtime PlatformLegion -  AI Runtime Platform
Legion - AI Runtime Platform
 
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
49.INS2065.Computer Based Technologies.TA.NguyenDucAnh.pdf
 
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...LOTAR-PDES: Engineering digitalization through task automation and reuse in t...
LOTAR-PDES: Engineering digitalization through task automation and reuse in t...
 
MLflow with Databricks
MLflow with DatabricksMLflow with Databricks
MLflow with Databricks
 
Mlflow with databricks
Mlflow with databricksMlflow with databricks
Mlflow with databricks
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
 MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ... MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
MLflow: Infrastructure for a Complete Machine Learning Life Cycle with Mani ...
 
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworks
 
MLOps pipelines using MLFlow - From training to production
MLOps pipelines using MLFlow - From training to productionMLOps pipelines using MLFlow - From training to production
MLOps pipelines using MLFlow - From training to production
 
Metaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at NetflixMetaflow: The ML Infrastructure at Netflix
Metaflow: The ML Infrastructure at Netflix
 
Building and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache AirflowBuilding and deploying LLM applications with Apache Airflow
Building and deploying LLM applications with Apache Airflow
 
Object oriented software_engg
Object oriented software_enggObject oriented software_engg
Object oriented software_engg
 
ODSC East 2020 Accelerate ML Lifecycle with Kubernetes and Containerized Da...
ODSC East 2020   Accelerate ML Lifecycle with Kubernetes and Containerized Da...ODSC East 2020   Accelerate ML Lifecycle with Kubernetes and Containerized Da...
ODSC East 2020 Accelerate ML Lifecycle with Kubernetes and Containerized Da...
 

More from Gianmario Spacagna

Latent Panelists Affinities: a Helixa case study
Latent Panelists Affinities: a Helixa case studyLatent Panelists Affinities: a Helixa case study
Latent Panelists Affinities: a Helixa case studyGianmario Spacagna
 
Anomaly Detection using Deep Auto-Encoders
Anomaly Detection using Deep Auto-EncodersAnomaly Detection using Deep Auto-Encoders
Anomaly Detection using Deep Auto-EncodersGianmario Spacagna
 
In-Memory Logical Data Warehouse for accelerating Machine Learning Pipelines ...
In-Memory Logical Data Warehouse for accelerating Machine Learning Pipelines ...In-Memory Logical Data Warehouse for accelerating Machine Learning Pipelines ...
In-Memory Logical Data Warehouse for accelerating Machine Learning Pipelines ...Gianmario Spacagna
 
Logical-DataWarehouse-Alluxio-meetup
Logical-DataWarehouse-Alluxio-meetupLogical-DataWarehouse-Alluxio-meetup
Logical-DataWarehouse-Alluxio-meetupGianmario Spacagna
 
Robust and declarative machine learning pipelines for predictive buying at Ba...
Robust and declarative machine learning pipelines for predictive buying at Ba...Robust and declarative machine learning pipelines for predictive buying at Ba...
Robust and declarative machine learning pipelines for predictive buying at Ba...Gianmario Spacagna
 
Parallel Tuning of Machine Learning Algorithms, Thesis Proposal
Parallel Tuning of Machine Learning Algorithms, Thesis ProposalParallel Tuning of Machine Learning Algorithms, Thesis Proposal
Parallel Tuning of Machine Learning Algorithms, Thesis ProposalGianmario Spacagna
 

More from Gianmario Spacagna (7)

Latent Panelists Affinities: a Helixa case study
Latent Panelists Affinities: a Helixa case studyLatent Panelists Affinities: a Helixa case study
Latent Panelists Affinities: a Helixa case study
 
Anomaly Detection using Deep Auto-Encoders
Anomaly Detection using Deep Auto-EncodersAnomaly Detection using Deep Auto-Encoders
Anomaly Detection using Deep Auto-Encoders
 
In-Memory Logical Data Warehouse for accelerating Machine Learning Pipelines ...
In-Memory Logical Data Warehouse for accelerating Machine Learning Pipelines ...In-Memory Logical Data Warehouse for accelerating Machine Learning Pipelines ...
In-Memory Logical Data Warehouse for accelerating Machine Learning Pipelines ...
 
Logical-DataWarehouse-Alluxio-meetup
Logical-DataWarehouse-Alluxio-meetupLogical-DataWarehouse-Alluxio-meetup
Logical-DataWarehouse-Alluxio-meetup
 
Robust and declarative machine learning pipelines for predictive buying at Ba...
Robust and declarative machine learning pipelines for predictive buying at Ba...Robust and declarative machine learning pipelines for predictive buying at Ba...
Robust and declarative machine learning pipelines for predictive buying at Ba...
 
TunUp final presentation
TunUp final presentationTunUp final presentation
TunUp final presentation
 
Parallel Tuning of Machine Learning Algorithms, Thesis Proposal
Parallel Tuning of Machine Learning Algorithms, Thesis ProposalParallel Tuning of Machine Learning Algorithms, Thesis Proposal
Parallel Tuning of Machine Learning Algorithms, Thesis Proposal
 

Recently uploaded

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Tech leaders guide to effective building of machine learning products

  • 1. Helixa Tech Leader’s Guide to Effective Building of Machine Learning Products Gianmario Spacagna Chief Scientist @ Helixa ML for Enterprises Conference Rome, 28th October 2019
  • 2. About Me 7+ years experience in building Machine Learning products Currently leading a team of ML Scientists and ML Engineers Background in Software Engineering of Distributed Systems MBA Candidate Co-author of Python Deep Learning Contributor of the Professional Data Science Manifesto Blogger of Data Science Vademecum Founder of the DataScienceMilan.org community Stockholm, London, Milan Gianmario Spacagna Chief Scientist, Helixa gspacagna@helixa.ai
  • 3. Agenda Manager’s guide (40 minutes) 1. Introducing ML in the Enterprises 2. Defining the ML Product Specifications 3. Planning Under Uncertainty 4. Building a balanced ML Team Tech Leaders’ guide (20 minutes) 5. ML Product Lifecycle 6. Serverless architectures
  • 4. 5. ML Product Lifecycle
  • 5. Cloud Providers Disclaimer The following examples will focus on AWS stack but consider that other cloud providers offers similar services. It is not part of this talk to compare different cloud solutions.
  • 6. * from “The Start-Up Trap” by Robert C. Martin (Uncle Bob) “The only way to go fast is to go well” cit. Uncle Bob
  • 7. Overview of a real-world ML production system Source: https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems Only a small fraction of real-world ML systems is composed of the ML Code. The required surrounding infrastructure is vast and complex.
  • 8. Overview of a ML component lifecycle Picture source: https://medium.com/microsoftazure/how-to-accelerate-devops-with-machine-learning-lifecycle-management-2ca4c86387a0
  • 9. Manage the lifecycle with dedicated platforms Picture source: www.mlflow.org Predictions Model Serving Training
  • 10. Other Machine Learning lifecycle platforms and tools Picture source: www.mlflow.org TensorFlow Extended (TFX) Data Version Control HopsWorks
  • 11. Native Cloud Object (Data) Storage Benefits: ● Cheaper ● Elastic ● Highly available ● Performant “The benefit of HDFS is minimal and not worth the operational complexity” Source: DataBricks
  • 12. Keep Your Datasets Registered in a Catalog Production solution: AWS Glue Data CatalogManual solution
  • 13. Manage training labels using Snorkel www.snorkel.org
  • 14. Dev tool stack and workflow Pull Notebooks and data stored in S3 in shared folders S3 buckets mounted locally via Alluxio cache for fast and cheap access to data Commit and push Dev Unix Machine Notebook name matching branch ID Header cell: 1. Pull the latest version of the code and install locally 2. Print the git status and dependency versions Develop code in the laptop using professional IDEs Feature branches matching Jira key Branching models: ● GitFlow ● Trunk-based
  • 15. Processing large datasets with Elastic MapReduce (EMR) Picture source: https://dimensionless.in/different-ways-to-manage-apache-spark-applications-on-amazon-emr/ Ephemeral clusters on spot instances can dramatically reduce the cost of operations compared to long running ones.
  • 16. Processing large datasets from notebooks using and EMR within the same workflow Picture source:
  • 17. Port analysis findings into a production-quality modules with a task-oriented design and entry points declared in makefiles Picture source: https://medium.com/@davidstevens_16424/make-my-day-ta-science-easier-e16bc50e719c Task: 1. Read 2. Transform 3. Write
  • 18. Deliver jobs inside containers whenever is possible Advantages: ● Isolated environment ● Different library requirements ● Different resources (memory, CPUs, GPUs) ● Simplified load balancing ● Scalable model serving
  • 19. Processing chunks of data in parallel batch jobs Source: https://spotinst.com/blog/cost-efficient-batch-computing-on-spot-instances-aws-batch-integration/ Containerized job logic
  • 20. Orchestrate pools of containers using Kubernetes (K8s) for inference services
  • 21. Automated code testing pyramid Unit tests ● Single methods of data processing utils and major components. ● Replace “assertEqual” with uncertainty ranges on predictions 70% Integration tests ● Test the training, model selection and tuning. ● Subset of component integrations (e.g. transformers followed by model predictions) 20% End-to-end tests ● Static and small dataset. ● Dry runs of the execution plan. ● Check APIs work seamlessly through every stage of the pipeline. 10%
  • 22. Bonus: Metamorphic testing allows to test ML algorithms by generating complex, deep tests without the use of an oracle
  • 23. Infrastructure-as-Code (IaC) is fundamental in order to have fully-portable and consistent replicas of environments Benefits: ● Reduced labor cost ● Speed of provisioning ● Minimizes errors and security violations
  • 24. Automate tasks using Continuous Integration On commit Deployment tasks: ● Re-training of models ● Model selection ● Hyper-parameters tuning ● Update pipeline components ● Update microservices ● Publish builds and Docker containers On release Picture source: https://deploybot.com/blog/the-expert-guide-to-continuous-integration
  • 25. Release without pain Source: Spotify Engineering Culture — Part 1
  • 26. Validate hypothesis and releases with A/B testing Source: https://www.optimizely.com/optimization-glossary/ab-testing/
  • 27. Centralized logging with the ELK stack Generate Logs Aggregation & Transformation Storage & Indexing Visualization & Analysis
  • 28. Infrastructure Monitoring and Alerting Basic Monitoring: AWS resources and custom metrics generated by your applications and services Focus on IT Monitoring: Cloud-scale monitoring of logs, metrics and traces from distributed, dynamic and hybrid infrastructure. Focus on App Monitoring: All-in-one performance management tool from the end user experience, through servers, down to the line of application code.
  • 29. Governance and Auditability Audit changes in the configuration of resources. Track account activity by recording AWS console actions and API calls.
  • 30. Respect the Responsible AI principles Source: https://ethical.institute/principles.html
  • 31. Adopt the eXplainableAI Framework Source: https://ethical.institute/xai.html
  • 32. The 43 Rules of ML Engineering Martin Zinkevich Google Research Scientist https://developers.google.com/machine-learning/guid es/rules-of-ml/
  • 34. Serverless, or how to build and run applications without thinking about servers
  • 35. In serverless, the cloud provider is responsible for executing a piece of code by dynamically allocating the resources Traditional Serverful Way: Serverless Way: Source: https://serverless-stack.com/chapters/what-is-serverless.html
  • 36. Philosophy behind Serverless "If a tree falls in a forest and no one is around to hear it, does it make a sound?" “If a server runs in the cloud and no one is around to use it, does it need to incur any costs?” WinterClouds
  • 37. Reasons to migrate to Serverless Secure Scalable Cheap Always available Worry free Low maintenance
  • 38. An overview of Serverless services available in AWS Docker container execution. Script execution in response of events. Full list available at https://aws.amazon.com/serverless/ Orchestration of components and microservices Queuing + publisher/subscriber message services. NoSQL Key-Value database. REST API management service. Query service to analyze data at scale using standard SQL (like PrestoDB). ETL service to crawl and process large datasets on a fully managed Spark environment.
  • 39. Lambda function: listing files in a specified S3 directory Event object Result objectPython script Lambda cost: $1.04 / million requests S3 LIST request cost: $5 / million requests
  • 41. Orchestrating functions using state machines via Step Functions
  • 42. Serverless scientific computing and Map/Reduce with PyWren Pictures source: https://www.slideshare.net/AmazonWebServices/massively-parallel-data-processing-with-pywren-and-aws-lambda-srv424-reinvent-2017
  • 44. * from “The Start-Up Trap” by Robert C. Martin (Uncle Bob) “The only way to go fast is to go well” cit. Uncle Bob
  • 45. Overview of a real-world ML production system Source: https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems
  • 48. Gianmario Spacagna Chief Scientist at Helixa.ai gspacagna@helixa.ai @gm_spacagna
  • 50. Steps to Managing the ML Product Lifecycle 1. Familiarize with the whole lifecycle and most popular tools and libraries. 2. Adopt a platform such as MLflow to track and version models and experiments. 3. Notebooks are good for explorations but the implementation should be in a codebase. 4. Make analysis, code and infrastructure, reproducible and avoid manual operations. 5. Communicate analysis results effectively summarizing only what is relevant. 6. Invest on automated tests at different integration levels. 7. Exploit Continuous Integration (CI) for automating builds and releases. 8. Deliver models and components inside Docker containers, when possible. 9. Centralize the logs collection for debugging and troubleshooting. 10. Monitor the infrastructure health using specific tools. 11. Consider a strategy for implementing Governance and Auditability.
  • 51. Steps to migrate to Serverless architectures 1. Reverse Conway’s law: “Organizations produce software that resemble their organizational communication structures”. 2. Divide your architecture in separate and simple services. 3. Adopt the serverless.com framework to make easier to develop lambda functions. 4. Pick the most suitable serverless MapReduce architecture for your needs. 5. Enjoy your team having fun with simplified and scalable deployments. 6. Make a report to your boss showing the consistent amount of saved costs.
  • 53. How can I process large datasets using serverless?
  • 54. Serverless MapReduce with PyWren serializes and run local Python code and return results back to the driver Pictures source: https://www.slideshare.net/AmazonWebServices/massively-parallel-data-processing-with-pywren-and-aws-lambda-srv424-reinvent-2017
  • 55. Serverless MapReduce with events sourced from S3 Picture source: https://aws.amazon.com/it/blogs/compute/ad-hoc-big-data-processing-made-simple-with-serverless-mapreduce/
  • 56. Serverless MapReduce with Parallel tasks invoking synchronously up to 10 concurrent lambdas * A single Lambda function only supports up to 10 concurrent executions when invoked synchronously
  • 57. Serverless MapReduce with queue polling invoking asynchronously many concurrent lambdas within AWS limits* ... Mapper2 Mapper1 Mapper n SQS queue Poll the queue Driver * StepFunctions has a limit of 1000 transitions/second and a max execution history size of 25k events.
  • 58. Serverless MapReduce with activity callbacks invoking unlimited parallel executions without limits Source: https://semantive.com/part-2-asynchronous-actions-within-aws-step-functions-without-servers/ ... ... mapper1 mapper n Get activity token and wait for mapper activity to complete Start mapper activity asynchronously with the corresponding token Send activity task success s driver