Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Practical guide on PyTorch inference using AWS Inferentia

Practical guide on PyTorch inference using AWS Inferentia

Poster presented in PyTorch conference 2022.
Event Info: https://pytorchconference22.splashthat.com/

Keita Watanabe

December 05, 2022
Tweet

More Decks by Keita Watanabe

Other Decks in Technology

Transcript

  1. Practical guide on PyTorch inference using AWS Inferentia Keita Watanabe

    Senior Solutions Architect, AI/ML Frameworks Amazon Webservices Japan Abstract Data Parallel Inference Amazon EC2 Inf1 Instances Take a photo to learn more: Cost Performance Comparison EKS Deployment • 4 Neuron Cores with up to 128 TOPS • Two-stage memory hierarchy: Large on-chip cache + 8 GB DRAM • Supports FP16, BF16, INT8 data types with mixed precision • 1 to 16 Inferentia cores per instance with high- speed interconnect A1 QR Code Placeholder TPB 5 TPB 6 TPB 8 TPB 7 Memory Memory Memory Memory Neuron Engine Neuron Engine Neuron Engine AWS Inferentia Neuron Core cache Memory Neuron Core cache Memory Neuron Core cache Memory Neuron Core cache Memory Instance Size vCPUs Memory (GIB) Inferentia tips Storage Network Bandwidth EBS Bandwidth inf1.xlarge 4 8 1 EBS Up to 25 Gbps Up to 4.75 Gbps inf1.2xlarge 8 16 1 EBS Up to 25 Gbps Up to 4.75 Gbps inf1.6xlarge 24 48 4 EBS 25 Gbps 4.75 Gbps inf1.24xlarge 96 192 16 EBS 100 Gbps 19 Gbps AWS Deep Learning Containers AWS Deep Learning AMIs (DLAMI) Amazon SageMaker Amazon Elastic Kubernetes Service (Amazon EKS) Amazon Elastic Container Service (Amazon ECS) All AWS managed services for machine learning support Easy to get started Integrated with major frameworks PyTorch/Tensorflow/MXNet Neuron compiler Neuron runtime Profiling tools Minimal code change Deploy existing models with minimal code changes Maintain hardware portability without dependency on AWS software github.com/aws/aws-neuron-sdk Documentation, examples, and support AWS Inferentia Neuron SDK Throughput (seq/sec) PyTorch Neuron Model Tracing NeuronCore Pipeline In this session, we will go through step-by-step how to conduct the inference process of machine learning models using Inferentia. In addition, we compare the inference performance with GPU and discuss the cost advantage. In the later part of the session, we will also cover model deployment on Kubernetes. Data Parallelism is a form of parallelization across multiple devices or cores, referred to as nodes. Each node contains the same model and parameters, but data is distributed across the different nodes NeuronCore Pipeline refers to the process of sharding a compute-graph across multiple NeuronCores, caching the model parameters in each core’s on-chip memory (cache), and then streaming inference requests across the cores in a pipelined manner. $0.000 $0.150 $0.300 $0.450 G4dn.xl G5.xl Inf1.xl Bert-Large $0.000 $0.300 $0.600 $0.900 G4dn.xl G5.xl Inf1.xl Yolov5 $0.000 $0.025 $0.050 $0.075 G4dn.xl G5.xl Inf1.xl Resnet50 $0.000 $0.100 $0.200 $0.300 G4dn.xl G5.xl Inf1.xl Bert-Base -64% -42% -49% -68% Bert-Large Bert-Base Yolov5 Resnet50 $ per Million Sequences