Workflow#
Workflow management:
Reality of AI workloads
Data ingestion
Concept drift monitoring
Data Drift monitoring
Feature storage
Retraining
Workload upgrades
Building a model
Resource scaling
Security
Model versioning
Pipeline Monitoring
A/B testing traffic routing
Model API serving
Accuracy Tracking
Maintenance
Programs for enterprise ML platform
Snowflake (all-in-one) to store both structured and unstructured data
SaturnCloud: data science cloud environment.
ML Life Cycle
Raw data
File
Batch
Streaming
Data Prep
Data preprocessing
Feature engineering
Data transformation
Training
Multiple algorithm s
Hyperparameter
Model comparison
Model evaluation
Deploy
Integration
Monitoring
Argo Project : a a set of Kubernetes-native tools for deploying and running apps, managing clusters, and do GitOps right
Argo Workflows: Kubernetes-native workflow engine
Argo Events: Event-based dependency management for Kubernetes
Argo CD: Declarative continuous delivery with a fully-loaded UI
Argo Rollouts: Advanced K8s progressive deployment strategies
Argo Workflows
The container-native workflow engine for Kubernetes
ML pipelines
Data processing
Infrastructure automation
continuous delivery/Integration
CRDS and Controllers
Kubernetes custom resources that natively integrates with other K8s resources (volumes, secrets, etc.)
Interfaces
CLI: manage workflows and perform operations (submit, suspend, delete/etc.)
Server: REST & GRPC interfaces
UI: manage and visualize workflows, artifacts, logs, resource usages analytic, etc.
Python and Java SDKS
Agile Data Science#
Agile is a work management technique that uses time-limited iterations to complete tasks.
Sprint: 1-4 week cycle delivering working increment (i.e., output that can be tested).
Story: single unit of work completed within a sprint
Epic: collection of related stories
Hydra & hydrazen#
Standardize the process of designing your project
Make your project configurable
Configure deeply-nested parameters
Change algorithms and models robustly
Make your code reproducible (leave breadcrumb)
Enable scalable workflow
Can be used for creating games
Ray#
RAY: simple and universal framework for distributed computing
can be run on AWS, Google Cloud, Azure, local machine.
Ray has library and app ecosystem that cover all steps in a machine learning process:
tune: Hyperparam tuning (has domain specific libraries)
raysgd: training
rllib: training + simulation
Ray Serve: Model serving
Overall: Kubeflow or Apache Airflow
Preprocess: Spark or Dask
Checkpoint: HDF5, S3
Train: XGBoost
Challenges:
Performance overheads
Serialization/Deserialization
data materialized to external storage
Implementation/Operational complexity
Cross-lang, cross-workload
CPUs vs. GPUs
Missing operations
Per-epoch shuffling
Why Ray?
Efficient data layer
Zero-copy reads, shared -memory object store
Locality-aware scheduling
Object transfer protocol
General purpose
Resource-based scheduling
Highly scalable
Robust primitives
Easy to program distributed programs
Ray Datasets (not a dataframe library)
Universal Data loading
Last Mile Preprocessing
Parallel GPU/CPU Compute
Universal Data Loader
HDF5
S3
Spark
Dask
Modin
powered by Apache Arrow
Ray Tune#
Distributed Hyperparameter Optimization
Provides efficient HPO algorithms
Distributes and coordinates parallel trials
HPO Challenges:
Time consuming
Expensive Resource
Ray Tune - distrusted HPO
Efficient parallel algorithms for running trials
Effective resource management
Exhaustive vs. Random Search
Bayesian Optimization with popular libraries:
HyperOpt
Optuna
Scikit-Optimize
Nevergrad
Advanced Scheduling
Early stopping
Population-based Training
Advanced Sampling
BlendSearch
Heteroskedastic Evolutionary Bayesian Optimization
BOHB: combines BO with HyperBand
Architecture requirements
Control over when to
start
pause
early stop
restore
mutate
Master-worker for decision making
Sampler
Scheduler
Snowflake and Tecton#
production ML pipelines must:
Transform raw data from batch, streaming (e.g., Kafka), and real-time (RPC) sources
Serve data with point-in-time correctness for model training
Serve data at low latency and high concurrency for model serving
Ensure model training/serving parity
Backfill streaming and real-time features
Snowflake and Tecton can fix these roadblocks.