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.amp
bazı 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.
Aşağıdaki grafikler ResNet95 için verimi ve P50 gecikmesini tam ve yarı hassasiyette karşılaştırmaktadır.
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.
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.
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
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.
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.
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.
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.
- Gelişmiş (300)
- AI
- yapay zeka
- AI sanat üreteci
- yapay zeka robotu
- Amazon EC2
- yapay zeka
- yapay zeka sertifikası
- bankacılıkta yapay zeka
- yapay zeka robotu
- yapay zeka robotları
- yapay zeka yazılımı
- AWS Makine Öğrenimi
- blockchain
- blockchain konferans ai
- zeka
- konuşma yapay zekası
- kripto konferans ai
- dal-e
- derin öğrenme
- google ai
- makine öğrenme
- Platon
- plato yapay zekası
- Plato Veri Zekası
- Plato Oyunu
- PlatoVeri
- plato oyunu
- ölçek ai
- sözdizimi
- zefirnet