NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai.

NLP ve CV PyTorch modelleri için Amazon EC2 G5 bulut sunucuları ile çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek ML çıkarım verimi elde edin

Amazon Elastik Bilgi İşlem Bulutu (Amazon EC2) G5 örnekleri bulutta, çok çeşitli yoğun grafik ve makine öğrenimi (ML) kullanım durumları için kullanabileceğiniz NVIDIA A10G Tensor Core GPU'larını içeren ilk ve tek örneklerdir. G5 bulut sunucularıyla makine öğrenimi müşterileri, doğal dil işleme (NLP), bilgisayarla görme (CV) ve öneri motoru kullanım senaryolarına yönelik daha büyük ve daha karmaşık modelleri eğitmek ve dağıtmak için yüksek performansa ve uygun maliyetli bir altyapıya sahip olur.

Bu gönderinin amacı, büyük ölçekli makine öğrenimi çıkarımı iş yükleri için G5 bulut sunucularının performans avantajlarını göstermektir. Bunu, NLP ve CV modellerinin fiyat-performansını (milyon çıkarım başına $ olarak ölçülen) G4dn bulut sunucularıyla karşılaştırarak yapıyoruz. Kıyaslama yaklaşımımızı açıklayarak başlıyoruz ve ardından toplu iş boyutları ve veri türü hassasiyetine göre verim ve gecikme eğrilerini sunuyoruz. G4dn bulut sunucularıyla karşılaştırıldığında, G5 bulut sunucularının NLP ve CV modelleri için hem tam duyarlık hem de karma duyarlık modları için milyon çıkarım başına sürekli olarak daha düşük maliyet sunduğunu, aynı zamanda daha yüksek verim ve daha düşük gecikme elde ettiğini gördük.

Karşılaştırma yaklaşımı

G5 ve G4dn arasında bir fiyat-performans çalışması geliştirmek için iş hacmini, gecikmeyi ve milyon çıkarım başına maliyeti parti boyutunun bir fonksiyonu olarak ölçmemiz gerekiyor. Ayrıca tam hassasiyetin ve karma hassasiyetin etkisini de inceliyoruz. Çıkarımdan önce hem model grafiği hem de girdiler CUDA'ya yüklenir.

Aşağıdaki mimari diyagramında gösterildiği gibi, öncelikle temel EC2 bulut sunucusu (G4dn, G5) için CUDA ile ilgili temel konteyner görüntülerini oluşturuyoruz. Temel kapsayıcı görüntülerini oluşturmak için şununla başlıyoruz: AWS Derin Öğrenme KaplarıDerin öğrenme ortamlarını dakikalar içinde dağıtmak için önceden paketlenmiş Docker görüntülerini kullanan. Görüntüler gerekli derin öğrenme PyTorch kitaplıklarını ve araçlarını içerir. İzleme, uyumluluk ve veri işleme üzerinde daha yüksek düzeyde kontrol sağlamak için bu görüntülerin üzerine kendi kitaplıklarınızı ve araçlarınızı ekleyebilirsiniz.

Daha sonra ileri geçişleri çalıştırmak için model yapılandırmasını, model izlemeyi ve ilgili kodu içeren modele özgü bir konteyner görüntüsü oluştururuz. Tüm kapsayıcı görüntüleri şuraya yüklenir: Amazon ECR'si çeşitli model konfigürasyonları için bu modellerin yatay ölçeklendirilmesine olanak sağlamak. Kullanırız Amazon Basit Depolama Hizmeti (Amazon S3), özetleme amacıyla yapılandırmayı indirmek ve kıyaslama sonuçlarını yüklemek için ortak bir veri deposu olarak. Bu mimariyi, karşılaştırma sonuçlarını yeniden oluşturmak ve çoğaltmak ve EC2 bulut sunucusu türleri (CPU, GPU, Inf1) genelinde çeşitli model türlerini (Hugging Face modelleri, PyTorch modelleri, diğer özel modeller gibi) karşılaştırmak için yeniden kullanmak için kullanabilirsiniz.

Bu deneyi kurarak amacımız gecikmeyi üretimin bir fonksiyonu olarak incelemektir. Bu eğri, uygulama tasarımının hedef uygulama için uygun maliyetli bir altyapıya ulaşması açısından önemlidir. Bunu başarmak için, birden fazla iş parçacığından gelen sorguları sıraya koyarak ve ardından tamamlanan her istek için gidiş-dönüş süresini ölçerek farklı yükleri simüle ediyoruz. Verim, birim saat süresi başına tamamlanan isteklerin sayısına göre ölçülür. Ayrıca, gösterge niteliğindeki performans ölçümlerine ulaşmak amacıyla tasarım alanını kapsamlı bir şekilde taramak için parti boyutlarını ve dizi uzunluğu, tam hassasiyet ve yarı hassasiyet gibi diğer değişkenleri değiştirebilirsiniz. Çalışmamızda, toplu iş boyutunun ve çok iş parçacıklı istemcilerden gelen sorguların parametrik olarak taranması yoluyla, verim ve gecikme eğrisi belirlenir. Özellikle hesaplama düğümünü tam olarak kullanamayan küçük istekler için, hızlandırıcının tam kullanımını sağlamak için her istek toplu olarak işlenebilir. En iyi performans için istemci tarafı toplu iş boyutunu belirlemek amacıyla da bu kurulumu kullanabilirsiniz.

Özetle, bu sorunu matematiksel olarak şu şekilde temsil edebiliriz: (Verim, Gecikme) = (Toplu Boyut, İş Parçacığı Sayısı, Hassasiyet) işlevi.

Bu, kapsamlı alan göz önüne alındığında deney sayısının fazla olabileceği anlamına gelir. Neyse ki her deney bağımsız olarak yürütülebilir. kullanmanızı öneririz AWS Toplu İş Bu yatay ölçeklendirilmiş kıyaslamayı, teste yönelik doğrusal bir yaklaşımla karşılaştırıldığında kıyaslama maliyetinde bir artış olmadan sıkıştırılmış zamanda gerçekleştirmek. Sonuçları kopyalamaya yönelik kod, GitHub deposu AWS Re:Invent 2021 için hazırlanmıştır. Depo, farklı hızlandırıcılar üzerinde karşılaştırma yapabilecek kadar kapsamlıdır. Kabı oluşturmak için kodun GPU yönüne başvurabilirsiniz (Dockerfile-gpu) ve ardından içindeki koda bakın Container-Root BERT ve ResNet50'ye özel örnekler için.

İki model tipinde performans çalışmaları geliştirmek için önceki yaklaşımı kullandık: Bert-tabansız (110 milyon parametre, NLP) ve ResNet50 (25.6 milyon parametre, CV). Aşağıdaki tablo model ayrıntılarını özetlemektedir.

Model Tipi Model - Detaylar
NLP twmkn9/bert-base-uncaseed-squad2 110 milyon parametre Sıra uzunluğu = 128
CV ResNet50 25.6 milyon parametre

Ek olarak, veri türleri arasında (tam, yarı duyarlık) kıyaslama yapmak için şunu kullanırız: torch.cuda.ampbazı operasyonların kullandığı karışık hassasiyeti işlemek için uygun yöntemler sağlayan torch.float32 (float) veri türü ve diğer işlemlerin kullanımı torch.float16 (yarım). Örneğin, doğrusal katmanlar ve evrişimler gibi operatörler float16 ile çok daha hızlıdır, oysa indirgemeler gibi diğerleri genellikle float32'nin dinamik aralığını gerektirir. Otomatik karma hassasiyet, ağın çalışma süresini ve bellek alanını optimize etmek için her operatörü uygun veri türüyle eşleştirmeye çalışır.

Kıyaslama sonuçları

Adil bir karşılaştırma için seçtik G4dn.4xlarge ve G5.4xlarge aşağıdaki tabloda listelendiği gibi benzer özelliklere sahip örnekler.

örnek GPU'lar GPU Belleği (GiB) vCPU'lar Bellek (GiB) Örnek Depolama (GB) Ağ Performansı (Gbps) EBS Bant Genişliği (Gbps) Linux İsteğe Bağlı Fiyatlandırması (us-east-1)
G5.4xlarge 1 24 16 64 1x600 NVMe SSD 25 kadar 8 $ 1.204 / saat
G4dn.4xlarge 1 16 16 64 1x225 NVMe SSD 25 kadar 4.75 $ 1.624 / saat

Aşağıdaki bölümlerde, iş hacmine ulaşmak için BERT ve RESNET50 modellerinin ML çıkarım performansını, belirli toplu iş boyutları (32, 16, 8, 4, 1) ve veri türü hassasiyeti (tam ve yarı hassasiyet) için ızgara tarama yaklaşımıyla karşılaştırıyoruz. vs. gecikme eğrisi. Ek olarak, hem tam hem de yarım hassasiyet için iş hacmi ve toplu iş boyutunun etkisini araştırıyoruz. Son olarak, parti büyüklüğünün bir fonksiyonu olarak milyon çıkarım başına maliyeti ölçüyoruz. Bu deneylerdeki birleştirilmiş sonuçlar bu yazının ilerleyen kısımlarında özetlenmiştir.

Verim ve gecikme

Aşağıdaki şekillerde NLP ve CV iş yükleri için G4dn ve G5 bulut sunucuları hem tam hem de yarı hassasiyette karşılaştırılmaktadır. G4dn bulut sunucularıyla karşılaştırıldığında G5 bulut sunucusu, BERT temel modeli için yaklaşık beş kat daha yüksek (tam hassasiyet) ve yaklaşık 2.5 kat daha yüksek (yarı hassasiyet) ve ResNet2 modeli için yaklaşık 2.5-50 kat daha yüksek bir aktarım hızı sağlar. Genel olarak G5, performans açısından hem tam hem de karma hassasiyet için her iki modelde artan parti boyutlarıyla tercih edilen bir seçimdir.

Aşağıdaki grafikler BERT için verimi ve P95 gecikmesini tam ve yarı hassasiyette karşılaştırmaktadır.

NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai. NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai.

Aşağıdaki grafikler ResNet95 için verimi ve P50 gecikmesini tam ve yarı hassasiyette karşılaştırmaktadır.

NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai. NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai.

Performans ve gecikme ile toplu iş boyutu karşılaştırması

Aşağıdaki grafikler, parti boyutunun bir fonksiyonu olarak verimi göstermektedir. Düşük toplu iş boyutlarında, hızlandırıcı tam kapasitesiyle çalışmaz ve toplu iş boyutu arttıkça, gecikme maliyeti karşılığında iş hacmi artar. Çıkış eğrisi, hızlandırıcı performansının bir fonksiyonu olan maksimum değere asimptottur. Eğrinin iki farklı özelliği vardır: yükselen bölüm ve düz asimptotik bölüm. Belirli bir model için, performanslı bir hızlandırıcı (G5), yükselen bölümü G4dn'den daha yüksek parti boyutlarına ve daha yüksek bir verimde asimptot'a uzatabilir. Ayrıca gecikme ile toplu iş boyutu arasında doğrusal bir denge vardır. Bu nedenle, eğer uygulama gecikmeye bağlıysa, optimum toplu iş boyutunu belirlemek için P95 gecikmesi ve toplu iş boyutunu kullanabiliriz. Bununla birlikte, amaç en düşük gecikmede verimi en üst düzeye çıkarmaksa, yükselen ve asimptotik bölümler arasındaki "diz"e karşılık gelen toplu iş boyutunu seçmek daha iyidir, çünkü toplu iş boyutunda daha fazla artış aynı iş hacmiyle sonuçlanacaktır. daha kötü gecikme. En düşük gecikme süresinde daha yüksek verimi hedefleyerek en iyi fiyat-performans oranına ulaşmak için, yalnızca toplu iş boyutunu artırmak yerine bu optimumu birden fazla çıkarım sunucusu aracılığıyla yatay olarak ölçeklendirmeniz daha iyi olur.

NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai.

Maliyet ve parti büyüklüğü karşılaştırması

Bu bölümde, çıkarım maliyetlerinin (milyon çıkarım başına $) parti büyüklüğüne göre karşılaştırmalı sonuçlarını sunuyoruz. Aşağıdaki şekilden, maliyetin (milyon çıkarım başına $ olarak ölçülen) G5 ile G4dn'nin her ikisinde de (tam ve yarı hassasiyet) sürekli olarak daha düşük olduğunu açıkça gözlemleyebiliriz.

NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai. NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai.

Aşağıdaki tablo, belirli toplu iş boyutları için her iki hassas moddaki BERT ve RESNET50 modelleri için üretim, gecikme ve maliyet (milyon çıkarım başına $) karşılaştırmalarını özetlemektedir. Bulut sunucusu başına daha yüksek maliyete rağmen G5, tüm toplu iş boyutları için çıkarım gecikmesi, aktarım hızı ve maliyet (çıkarım başına milyon dolar) açısından tüm yönlerde sürekli olarak G4dn'den daha iyi performans gösteriyor. Farklı metrikleri bir maliyette (milyon çıkarım başına $) birleştiren G32'li BERT modeli (5 parti boyutu, tam hassasiyet), G3.7dn'den 4 kat daha avantajlıdır ve ResNet50 modeliyle (32 parti boyutu, tam hassasiyet) 1.6'dır. G4dn'den kat daha avantajlı.

Model Parti boyutu Hassas

çıktı

(Toplu boyut X İstek/sn)

Gecikme (ms)

$/milyon

Çıkarımlar (İstek Üzerine)

Fayda maliyet

(G5dn üzerinden G4)

. . . G5 G4dn G5 G4dn G5 G4dn
Bert-tabansız 32 Her Şey Dahil 723 154 44 208 $0.6 $2.2 3.7X
Karışık 870 410 37 79 $0.5 $0.8 1.6X
16 Her Şey Dahil 651 158 25 102 $0.7 $2.1 3.0X
Karışık 762 376 21 43 $0.6 $0.9 1.5X
8 Her Şey Dahil 642 142 13 57 $0.7 $2.3 3.3X
Karışık 681 350 12 23 $0.7 $1.0 1.4X
. 1 Her Şey Dahil 160 116 6 9 $2.8 $2.9 1.0X
Karışık 137 102 7 10 $3.3 $3.3 1.0X
ResNet50 32 Her Şey Dahil 941 397 34 82 $0.5 $0.8 1.6X
Karışık 1533 851 21 38 $0.3 $0.4 1.3X
16 Her Şey Dahil 888 384 18 42 $0.5 $0.9 1.8X
Karışık 1474 819 11 20 $0.3 $0.4 1.3X
8 Her Şey Dahil 805 340 10 24 $0.6 $1.0 1.7X
Karışık 1419 772 6 10 $0.3 $0.4 1.3X
. 1 Her Şey Dahil 202 164 5 6 $2.2 $2 0.9X
Karışık 196 180 5 6 $2.3 $1.9 0.8X

Ek çıkarım kriterleri

Önceki bölümlerdeki BERT tabanı ve ResNet50 sonuçlarına ek olarak, PyTorch'ta yaygın olarak kullanılan diğer büyük NLP ve CV modelleri için ek kıyaslama sonuçları sunuyoruz. G5'in G4dn'ye göre performans avantajı, BERT Large modelleri için çeşitli hassasiyetlerde ve Yolo-v5 modelleri için çeşitli boyutlar için sunulmuştur. Karşılaştırmayı çoğaltma kodu için bkz. Tensör Çekirdekleri için NVIDIA Derin Öğrenme Örnekleri. Bu sonuçlar, farklı model türlerini kapsayan çok çeşitli çıkarım görevleri için G5'i G4dn'ye göre kullanmanın faydasını göstermektedir.

Model Hassas Parti boyutu Sıra Uzunluğu Verim (gönderilen/sn) Verim: G4dn G4dn Üzerinden Hızlanma
BERT-büyük FP16 1 128 93.5 40.31 2.3
BERT-büyük FP16 4 128 264.2 87.4 3.0
BERT-büyük FP16 8 128 392.1 107.5 3.6
BERT-büyük FP32 1 128 68.4 22.67 3.0
BERT-büyük 4 128 118.5 32.21 3.7
BERT-büyük 8 128 132.4 34.67 3.8
Model GFLOPS Parametre Sayısı Ön işleme (ms) Çıkarım (ms) Çıkarım (Maksimum bastırma olmayan) (NMS/görüntü)
YOLOv5'ler 16.5 7.2M 0.2 3.6 4.5
YOLOv5 dk 49.1 21M 0.2 6.5 4.5
YOLOv5l 109.3 46M 0.2 9.1 3.5
YOLOv5x 205.9 86M 0.2 14.4 1.3

Sonuç

Bu yazıda, büyük NLP ve CV PyTorch modelleriyle çıkarım yapmak için EC2 G5 bulut sunucularının G4dn bulut sunucularına kıyasla daha iyi bir seçim olduğunu gösterdik. G5 bulut sunucularının isteğe bağlı saatlik maliyeti G4dn bulut sunucularından daha yüksek olsa da, daha yüksek performansı, NLP ve CV modelleri için herhangi bir hassasiyette 2-5 kat aktarım hızına ulaşabilir; bu da milyon çıkarım başına maliyeti, G1.5dn bulut sunucularına göre 3.5-4 kat daha avantajlı hale getirir. G5dn örnekleri. Gecikmeye bağlı uygulamalarda bile G2.5, NLP ve CV modelleri için G5dn'den 4-XNUMX kat daha iyidir.

Özetle, AWS G5 bulut sunucuları hem performans hem de çıkarım başına maliyet açısından çıkarım ihtiyaçlarınız için mükemmel bir seçimdir. CUDA çerçevesinin evrenselliği ve AWS'deki G5 bulut sunucusu havuzunun ölçeği ve derinliği, size geniş ölçekte çıkarım yapma konusunda benzersiz bir yetenek sağlar.


yazarlar hakkında

NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai.Ankur Srivastava ML Frameworks Ekibinde Kıdemli Çözümler Mimarıdır. AWS'de müşterilere kendi kendini yöneten dağıtılmış eğitim ve geniş ölçekte çıkarımla yardımcı olmaya odaklanıyor. Tecrübesi endüstriyel kestirimci bakım, dijital ikizler, olasılıksal tasarım optimizasyonunu içerir ve doktora çalışmalarını Rice Üniversitesi'nde Makine Mühendisliği'nde ve doktora sonrası araştırmalarını Massachusetts Teknoloji Enstitüsü'nde tamamlamıştır.

NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai.Sundar Ranganathan Amazon EC2 ekibinde İş Geliştirme, ML Çerçeveleri Başkanıdır. Amazon EKS, Amazon ECS, Elastic Fabric Adapter, AWS Batch ve Amazon SageMaker gibi AWS hizmetlerinde büyük ölçekli makine öğrenimi iş yüklerine odaklanıyor. Deneyimi, NetApp, Micron Technology, Qualcomm ve Mentor Graphics'te ürün yönetimi ve ürün geliştirmede liderlik rollerini içermektedir.

NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai.Mahadevan Balasubramanyam Fizik destekli derin öğrenme, dijital ikizleri geniş ölçekte endüstriyel sistemler için oluşturma ve dağıtma alanında yaklaşık 20 yıllık deneyime sahip Otonom Bilgi İşlem için Baş Çözüm Mimarıdır. Mahadevan, Massachusetts Teknoloji Enstitüsü'nden Makine Mühendisliği alanında doktora derecesini almıştır ve kendisine ait 25'in üzerinde patent ve yayına sahiptir.

NLP ve CV PyTorch modelleri PlatoBlockchain Veri Zekası için Amazon EC2 G5 bulut sunucularıyla çıkarım başına üç kat daha düşük maliyetle dört kat daha yüksek makine öğrenimi çıkarımı verimi elde edin. Dikey Arama. Ai. Amr Ragab AWS için EC2 Hızlandırılmış Platformların Baş Çözüm Mimarıdır ve kendini müşterilerin hesaplamalı iş yüklerini uygun ölçekte çalıştırmasına yardımcı olmaya adamıştır. Boş zamanlarında seyahat etmeyi ve teknolojiyi günlük hayata entegre etmenin yeni yollarını bulmayı seviyor.

Zaman Damgası:

Den fazla AWS Makine Öğrenimi