Amazon SageMaker

  • fully managed machine learning service for whole data cycle
  • fetch, clean, prepare, train, tune, evaluate, deploy, monitor
  • data scientists and developers can quickly and easily build and train machine learning models (very niche)
  • Component
    • stage marker studio - build, train, debug, monitor models (IDE for ML lifecycle)
    • sagemarker Domain - EFS volume, users, apps, policies, VPCs…isolation (grouping as a project)
    • Containers - prebuilt docker containers deployed to ML EC2 instance, providing a ML environments
    • Hosting - deploy endpoints for your ML model for other apps to utilize
  • sagemaker itself has no cost, but resources inside it do

SageMaker Feature Stores

  • A “feature” is just a property used to train a machine learning model
  • Machine learning models require fast, secure access to feature data for training.
  • It’s also a challenge to keep it organized and share features across different models
  • It organizes the data in feature group within feature group
    • each features with records identifier, feature name, event name
  • Online store (via PutRecord/ GetRecord API’s from stream)
  • Offline store in S3 (for batch)

SageMaker ML Lineage Tracking

  • Creates & stores your ML workflow (MLOps)
  • Keep a running history of your models
  • Tracking for auditing and compliance
  • Automatically or manually-created tracking entities
  • Integrates with AWS Resource Access Manager for cross-account lineage
  • Lineage Tracking Entities
    • Trial component (processing jobs, training jobs, transform jobs)
    • Trial (a model composed of trial components)
    • Experiment (a group of Trials for a given use case)
    • Context (logical grouping of entities)
    • Action (workflow step, model deployment
    • Artifact (Object or data, such as an S3 bucket or an image in ECR)
    • Association (connects entities together) – has optional AssociationType:
      • ContributedTo
      • AssociatedWith
      • DerivedFrom
      • Produced
      • SameAs
  • Querying Lineage Entities
    • Use the LineageQuery API from Python
    • Do things like find all models / endpoints / etc. that use a given artifact
    • Produce a visualization

SageMaker Data Wrangler

  • Visual interface (in SageMaker Studio) to prepare data for machine learning
  • Import data
  • Visualize data
  • Transform data (300+ transformations to choose from)
  • “Quick Model” to train your model with your data and measure its results
  • feed into SageMaker Processing, SageMaker pipelines, Feature Store
  • Produce code in notebook instead of be a part of pipeline
  • Troubleshooting
    • Make sure your Studio user has appropriate IAM roles
    • Make sure permissions on your data sources allow Data Wrangler access
      • Add AmazonSageMakerFullAccess policy
    • EC2 instance limit
      • If you get “The following instance type is not available…” errors
      • May need to request a quota increase
      • Service Quotas / Amazon SageMaker / Studio KernelGateway Apps running on ml.m5.4xlarge instance