Amazon Adaçayı Yapıcı çok modelli uç noktalar (MME'ler), çok sayıda makine öğrenimi (ML) modelini dağıtmak için ölçeklenebilir ve uygun maliyetli bir yol sağlar. Tek bir uç noktanın arkasındaki tek bir hizmet kapsayıcısında birden çok makine öğrenimi modelini dağıtma olanağı sağlar. Buradan SageMaker, trafik kalıplarınıza göre modelleri sizin adınıza yüklemeyi ve boşaltmayı ve kaynakları ölçeklendirmeyi yönetir. Barındırma kaynaklarının paylaşılmasından ve yeniden kullanılmasından ve çok sayıda modeli yönetmenin operasyonel yükünün azalmasından yararlanacaksınız.
Kasım 2022 olarak, MME'ler GPU için destek eklediTek bir GPU cihazında birden fazla model çalıştırmanıza ve GPU örneklerini tek bir uç noktanın arkasında ölçeklendirmenize olanak tanır. Bu, GPU'larla hızlandırılmış bilgi işlemden yararlanan derin sinir ağı (DNN) modellerine yönelik güçlü MME talebini karşılar. Bunlar, bilgisayarla görme (CV), doğal dil işleme (NLP) ve üretken AI modellerini içerir. Talebin nedenleri arasında şunlar sayılabilir:
- DNN modelleri genellikle boyut ve karmaşıklık açısından büyüktür ve hızlı bir şekilde büyümeye devam eder. Örnek olarak NLP modellerini ele alırsak, birçoğu milyarlarca parametreyi aşıyor, bu da GPU'ların düşük gecikme süresi ve yüksek verimlilik gereksinimlerini karşılamasını gerektiriyor.
- Bireysel kullanıcılara hiper kişiselleştirilmiş deneyimler sunmak için bu modelleri özelleştirmeye yönelik artan bir ihtiyaç gözlemledik. Bu modellerin sayısı arttıkça, birçok modeli geniş ölçekte dağıtmak ve operasyonel hale getirmek için daha kolay bir çözüme ihtiyaç duyulmaktadır.
- GPU bulut sunucuları pahalıdır ve GPU kullanımını en üst düzeye çıkarmak ve işletme maliyetini azaltmak için bu bulut sunucularını mümkün olduğunca çok kullanmak istersiniz.
Tüm bu nedenler GPU'lu MME'lerin DNN modelleri için ideal bir seçenek olduğunu gösterse de, kullanım durumu gereksinimlerinizi karşılayan doğru uç nokta yapılandırmasını bulmak için yük testi yapmanız önerilir. Örnek tipi, örnek sayısı, model boyutu ve model mimarisi gibi birçok faktör yük testi sonuçlarını etkileyebilir. Buna ek olarak, yük testi, yinelemeli deneme yanılma yöntemleri yerine doğru ölçümleri kullanarak otomatik ölçeklendirme stratejilerine rehberlik etmeye yardımcı olabilir.
Bu nedenlerle, GPU'lu MME'lerde uygun yük testi yapmanıza ve makine öğrenimi kullanım durumunuz için en iyi yapılandırmayı bulmanıza yardımcı olmak için bu gönderiyi bir araya getirdik. Farklı örnek türlerinde MME'ler kullanılarak barındırılan NLP ve CV'deki en popüler DNN modellerinden bazıları için yük testi sonuçlarımızı paylaşıyoruz. Kendi dağıtımlarınızı yapılandırma konusunda bilinçli bir karar vermenize yardımcı olmak için test sonuçlarımızdan elde edilen içgörüleri ve sonuçları özetliyoruz. Yol boyunca, GPU'da MME'ler için yük testi gerçekleştirmeye yönelik önerilen yaklaşımımızı da paylaşıyoruz. Önerilen araçlar ve teknik, bulut sunucusu tipi başına yüklenebilecek optimum model sayısını belirler ve en iyi fiyat-performans oranına ulaşmanıza yardımcı olur.
Çözüme genel bakış
MME'lere ve GPU'lu MME'lere giriş için bkz. Çok Modelli Uç Nokta Oluşturma ve Amazon SageMaker çok modelli uç noktalarıyla GPU'da birden çok derin öğrenme modeli çalıştırın. Bu gönderideki yük testi bağlamında, örnek kodumuzu şu adresten indirebilirsiniz: GitHub repo sonuçları yeniden oluşturmak veya kendi modellerinizi kıyaslamak için bir şablon olarak kullanmak için. Depoda sağlanan iki not defteri vardır: biri CV modellerini yük testi için ve diğeri NLP için. Farklı boyut ve mimarilere sahip birkaç model, farklı türde GPU bulut sunucularında kıyaslandı: ml.g4dn.2xlarge, ml.g5.2xlarge ve ml.p3.2xlarge. Bu, her örnek ve model türü için aşağıdaki metriklerde performansın makul bir kesitini sağlamalıdır:
- GPU belleğine yüklenebilen maksimum model sayısı
- Her çıkarım sorgusu için istemci tarafında gözlemlenen uçtan uca yanıt gecikmesi
- Uç noktanın hatasız işleyebileceği saniye başına sorguların maksimum verimi
- Başarısız bir istek gözlemlenmeden önce örnek başına maksimum mevcut kullanıcı sayısı
Aşağıdaki tabloda test edilen modeller listelenmektedir.
Kullanım çantası | Model adı | Diskteki boyut | Parametre Sayısı |
CV | resnet50 |
100Mb | 25M |
CV | convnext_base |
352Mb | 88M |
CV | vit_large_patch16_224 |
1.2Gb | 304M |
NLP | bert-base-uncased |
436Mb | 109M |
NLP | roberta-large |
1.3Gb | 335M |
Aşağıdaki tablo, test edilen GPU örneklerini listeler.
Örnek Türü | GPU Türü | GPU sayısı | GPU Belleği (GiB) |
ml.g4dn.2xlarge | NVIDIA T4 GPU'lar | 1 | 16 |
ml.g5.2xlarge | NVIDIA A10G Tensör Çekirdekli GPU | 1 | 24 |
ml.p3.2xlarge | NVIDIA® V100 Tensör Çekirdekli GPU | 1 | 16 |
Daha önce de belirtildiği gibi, kod örneği diğer modellere ve örnek türlerine uyarlanabilir.
MME'lerin şu anda yalnızca tek GPU örneklerini desteklediğini unutmayın. Desteklenen bulut sunucusu türlerinin listesi için bkz. Desteklenen algoritmalar, çerçeveler ve örnekler.
Kıyaslama prosedürü aşağıdaki adımlardan oluşur:
- Bir model merkezinden önceden eğitilmiş bir model alın.
- Model yapısını SageMaker MME'lerinde sunmak için hazırlayın (bkz. Amazon SageMaker çok modelli uç noktalarıyla GPU'da birden çok derin öğrenme modeli çalıştırın daha fazla ayrıntı için).
- Bir GPU örneğine bir SageMaker MME dağıtın.
- Belirli bir eşik dahilinde GPU belleğine yüklenebilecek maksimum model sayısını belirleyin.
- Örneğe yüklenen modelleri rasgele çağıran trafiği simüle etmek için Locust Load Testing Framework'ü kullanın.
- Verileri toplayın ve sonuçları analiz edin.
- İsteğe bağlı olarak, modeli TensorRT'ye derledikten sonra Adım 2-6'yı tekrarlayın.
4. ve 5. adımlar daha derin bir bakışı garanti eder. Bir SageMaker GPU MME içindeki modeller dinamik bir şekilde belleğe yüklenir. Bu nedenle, Adım 4'te, bir ilk model yapıtı yüklüyoruz. Amazon Basit Depolama Hizmeti (Amazon S3) ve modeli belleğe yüklemek için çağırın. İlk çalıştırmadan sonra, tüketilen GPU belleği miktarını ölçeriz, ilk modelin bir kopyasını yaparız, modelin kopyasını belleğe yüklemek için çağırırız ve tekrar tüketilen toplam GPU belleği miktarını ölçeriz. Bu işlem, GPU bellek kullanımının belirli bir yüzde eşiğine ulaşılana kadar tekrarlanır. Kıyaslama için, daha büyük yığınlarda çıkarım yapmak için makul bir bellek arabelleği sağlamak veya daha az kullanılan diğer modelleri yüklemek için biraz boşluk bırakmak amacıyla eşiği %90 olarak ayarladık.
Kullanıcı trafiğini simüle edin
Model sayısını belirledikten sonra, kullanarak bir yük testi çalıştırabiliriz. Çekirge Yükü Test Çerçevesi. Yük testi, kullanıcı isteklerini rastgele modellere simüle eder ve yanıt gecikmesi ile aktarım hızı gibi ölçümleri otomatik olarak ölçer.
Locust, özel trafik modelleri tanımlamanıza izin veren özel yük testi şekillerini destekler. Bu kıyaslamada kullanılan şekil aşağıdaki tabloda gösterilmektedir. İlk 30 saniyede uç nokta 10 eşzamanlı kullanıcı ile ısınır. 30 saniye sonra, yeni kullanıcılar saniyede iki oranında oluşturulur ve 20 saniyede 40 eşzamanlı kullanıcıya ulaşır. Bitiş noktası daha sonra 20 saniye işaretine kadar 60 eşzamanlı kullanıcıyla istikrarlı bir şekilde kıyaslanır; bu noktada Locust, kullanıcıları eşzamanlı olarak 40 kullanıcıya kadar saniyede ikiye yükseltmeye başlar. Bu hızlanma ve sürekli test modeli, uç nokta 200 eşzamanlı kullanıcıya çıkana kadar tekrarlanır. Kullanım durumunuza bağlı olarak, beklenen trafik modellerinizi daha doğru şekilde yansıtmak için locust_benchmark_sm.py'deki yük testi şeklini ayarlamak isteyebilirsiniz. Örneğin, daha büyük dil modellerini barındırmayı düşünüyorsanız, tek bir örnekte barındırılan bir model için 200 eşzamanlı kullanıcıyla bir yük testi uygun olmayabilir ve bu nedenle kullanıcı sayısını azaltmak veya örnek sayısını artırmak isteyebilirsiniz. Uç noktanın stabilitesini daha uzun bir süre boyunca daha doğru bir şekilde ölçmek için yük testinin süresini de uzatmak isteyebilirsiniz.
stages = [
{"duration": 30, "users": 10, "spawn_rate": 5},
{"duration": 60, "users": 20, "spawn_rate": 1},
{"duration": 90, "users": 40, "spawn_rate": 2},
…
]
PyTorch veya TensorRT kullanan tutarlı hizmet tabanlarında çalışan homojen modellerle uç noktayı yalnızca kıyasladığımıza dikkat edin. Bunun nedeni, MME'lerin bellek tüketimi ve yanıt süresi gibi benzer özelliklere sahip birçok modeli barındırmak için en uygun olmasıdır. sağlanan kıyaslama şablonları GitHub repo MME'lerde heterojen modellerin sunulmasının istenen performans ve kararlılığı sağlayıp sağlamayacağını belirlemek için hala kullanılabilir.
CV modelleri için kıyaslama sonuçları
Görüntü işleme modelleri için yük testi yapmak üzere cv-benchmark.ipynb not defterini kullanın. Önceden eğitilmiş model adını ve bulut sunucusu tipi parametrelerini, farklı model ve bulut sunucusu tipi kombinasyonlarında performans yükü testi yapmak için ayarlayabilirsiniz. En küçüğünden en büyüğüne farklı boyut aralıklarında üç CV modelini kasıtlı olarak test ettik: resnet50
(25M), convnext_base
(88M) ve vit_large_patch16_224
(304M). Bu listenin dışında bir model seçerseniz, koda göre ayarlamanız gerekebilir. ek olarak, dizüstü bilgisayar varsayılan olarak giriş görüntüsü şeklini 224x224x3 görüntü tensörü olarak ayarlar. Farklı boyutta bir görüntü alan modelleri karşılaştırmanız gerekirse, giriş şeklini uygun şekilde ayarlamayı unutmayın.
Tüm not defterini çalıştırdıktan sonra, birkaç performans analizi görselleştirmesi alacaksınız. İlk ikisi, artan eşzamanlı kullanıcılara göre model performansını detaylandırır. Aşağıdaki şekiller, aşağıdakiler için oluşturulan örnek görselleştirmelerdir: ResNet50
ml.g4dn.2xlarge üzerinde çalışan model, PyTorch (solda) ile TensorRT (sağda) karşılaştırması. En üstteki grafikler, x eksenine yansıyan artan sayıda eşzamanlı müşteri çalışanıyla birlikte y eksenindeki model gecikmesini ve verimi gösterir. Alttaki çubuk grafikler, başarılı ve başarısız isteklerin sayısını gösterir.
Test ettiğimiz tüm bilgisayarla görme modellerine baktığımızda aşağıdakileri gözlemledik:
- Daha büyük modeller için gecikme (milisaniye olarak) daha yüksektir ve aktarım hızı (saniye başına istek) daha düşüktür (
resnet50 > convnext_base > vit_large_patch16_224
). - Çıkarım sunucusunda daha fazla istek sıraya alındığından, gecikme artışı kullanıcı sayısıyla orantılıdır.
- Büyük modeller, daha küçük bir modele göre daha fazla bilgi işlem kaynağı tüketir ve maksimum aktarım hızı sınırlarına daha az kullanıcıyla ulaşabilir. Bu ile gözlemlenir
vit_large_patch16_224
140 eşzamanlı kullanıcıda ilk başarısız isteği kaydeden model. Test edilen diğer iki modelden önemli ölçüde daha büyük olduğu için, aynı zamanda daha yüksek eş zamanlılıkta en çok başarısız olan isteklere sahipti. Bu, amaç 140'tan fazla eşzamanlı kullanıcıyı desteklemekse, uç noktanın tek bir örneğin ötesine ölçeklenmesi gerekeceğinin açık bir işaretidir.
Not defteri çalışmasının sonunda, dört temel ölçümün her biri için PyTorch ve TensorRT modellerinin özet karşılaştırmasını da alırsınız. Kıyaslama testimize göre, CV modellerinin tümü, TensorRT derlemesinden sonra model performansında bir artış gördü. bizim alarak ResNet50
Yine örnek olarak modelde, gecikme %32 azalırken verim %18 arttı. Maksimum eşzamanlı kullanıcı sayısı aynı kalmasına rağmen ResNet50
, diğer iki modelin her ikisi de destekleyebilecekleri eşzamanlı kullanıcı sayısında %14'lük bir gelişme gördü. Ancak TensorRT performans iyileştirmesi, daha yüksek bellek kullanımı pahasına gerçekleşti ve MME'ler tarafından daha az modelin yüklenmesiyle sonuçlandı. Etki, evrişimli sinir ağı (CNN) kullanan modeller için daha fazladır. Aslında, ResNet50 modelimiz PyTorch'tan TensorRT'ye geçerken GPU belleğinin yaklaşık iki katını tüketerek %50 daha az modelin yüklenmesine neden oldu (46'ya karşı 23). Bu davranışı aşağıdaki bölümde daha ayrıntılı olarak teşhis edeceğiz.
NLP modelleri için kıyaslama sonuçları
NLP modellerinde, yük testini çalıştırmak için nlp-benchmark.ipynb not defterini kullanın. Dizüstü bilgisayarın kurulumu çok benzer görünmelidir. İki NLP modelini test ettik: bert-base-cased (109M) ve roberta-large (335M). Hem önceden eğitilmiş model hem de belirteç oluşturucu, Hugging Face hub'ından indirilir ve test yükü, örnek bir dize kullanılarak belirteç oluşturucudan oluşturulur. Maksimum dizi uzunluğu varsayılan olarak 128'dir. Daha uzun dizileri test etmeniz gerekirse, bu parametreyi ayarlamayı unutmayın. NLP not defterinde gezinmek aynı görselleştirme kümesini oluşturur: Pytorch (solda) ve TensorRT (sağda).
Bunlardan, TensorRT'nin NLP modelleri için daha da fazla performans avantajı gözlemledik. alarak roberta-large
örneğin bir ml.g4dn.2xlarge örneğindeki modelde, çıkarım gecikmesi önemli ölçüde 180 milisaniyeden 56 milisaniyeye düştü (%70'lik bir gelişme), verim ise %406 oranında artarak saniyede 33 istekten 167'ye yükseldi. kullanıcı sayısı %50 arttı; Orijinal PyTorch modelinde 180 olan eşzamanlı kullanıcıya ulaşana kadar başarısız istekler gözlemlenmedi. Bellek kullanımı açısından, TensorRT için bir model daha az yüklendiğini gördük (dokuz modelden sekize). Ancak olumsuz etki, CNN tabanlı modellerde gözlemlediklerimize kıyasla çok daha küçük.
Bellek kullanımına ilişkin analiz
Aşağıdaki tablo, PyTorch'tan TensorRT'ye giden bellek kullanım etkisinin tam analizini göstermektedir. CNN tabanlı modellerin daha olumsuz etkilendiğinden daha önce bahsetmiştik. bu ResNet50
model, üç GPU bulut sunucusu türünün tamamında yüklenen model sayısında %50'nin üzerinde bir azalmaya sahipti. Convnext_base
genelinde yaklaşık %70 ile daha da büyük bir düşüş yaşadı. Öte yandan, trafo modellerine etkisi küçük veya karışıktır. vit_large_patch16_224
ve roberta-large
sırasıyla yaklaşık %20 ve %3'lük bir ortalama azalmaya sahipken, bert-base-uncased
yaklaşık %40'lık bir iyileşme sağladı.
Gecikme, verim ve güvenilirlikteki üstün performans ve yüklenen maksimum model sayısı üzerindeki küçük etki açısından tüm veri noktalarına bir bütün olarak bakıldığında, trafo tabanlı model mimarileri için TensorRT modelini öneriyoruz. CNN'ler için, performans avantajının ek barındırma altyapısının maliyetinden daha ağır bastığından emin olmak için daha fazla maliyet performans analizinin gerekli olduğuna inanıyoruz.
Makine Öğrenimi Kullanım Örneği | mimari | Model adı | Örnek Türü | iskelet | Yüklenen Maksimum Modeller | Fark (%) | Ort. Fark (%) |
CV | CNN | Resnet50 |
ml.g4dn.2xlarge | PyTorch | 46 | -50% | -50% |
TensorRT | 23 | ||||||
ml.g5.2xlarge | PyTorch | 70 | -51% | ||||
TensorRT | 34 | ||||||
ml.p3.2xlarge | PyTorch | 49 | -51% | ||||
TensorRT | 24 | ||||||
Convnext_base |
ml.g4dn.2xlarge | PyTorch | 33 | -50% | -70% | ||
TensorRT | 10 | ||||||
ml.g5.2xlarge | PyTorch | 50 | -70% | ||||
TensorRT | 16 | ||||||
ml.p3.2xlarge | PyTorch | 35 | -69% | ||||
TensorRT | 11 | ||||||
Trafo | vit_large_patch16_224 |
ml.g4dn.2xlarge | PyTorch | 10 | -30% | -20% | |
TensorRT | 7 | ||||||
ml.g5.2xlarge | PyTorch | 15 | -13% | ||||
TensorRT | 13 | ||||||
ml.p3.2xlarge | PyTorch | 11 | -18% | ||||
TensorRT | 9 | ||||||
NLP | Roberta-large |
ml.g4dn.2xlarge | PyTorch | 9 | -11% | -3% | |
TensorRT | 8 | ||||||
ml.g5.2xlarge | PyTorch | 13 | 0% | ||||
TensorRT | 13 | ||||||
ml.p3.2xlarge | PyTorch | 9 | 0% | ||||
TensorRT | 9 | ||||||
Bert-base-uncased |
ml.g4dn.2xlarge | PyTorch | 26 | İNDİRİM | İNDİRİM | ||
TensorRT | 42 | ||||||
ml.g5.2xlarge | PyTorch | 39 | İNDİRİM | ||||
TensorRT | 50 | ||||||
ml.p3.2xlarge | PyTorch | 28 | İNDİRİM | ||||
TensorRT | 36 |
Aşağıdaki tablolar, üç GPU bulut sunucusu türünün tamamındaki tüm ölçümler için eksiksiz kıyaslama sonuçlarımızı listeler.
ml.g4dn.2xlarge |
||||||||||||
Kullanım çantası | mimari | Model adı | Parametre Sayısı | iskelet | Yüklenen Maksimum Modeller | Fark (%) | Gecikme (ms) | Fark (%) | Verim (qps) | Fark (%) | Maksimum Eşzamanlı Kullanıcı | Fark (%) |
CV | CNN | resnet50 |
25M | PyTorch | 46 | -50% | 164 | -32% | 120 | İNDİRİM | 180 | NA |
TensorRT | 23 | . | 111 | . | 142 | . | 180 | . | ||||
convnext_base |
88M | PyTorch | 33 | -70% | 154 | -22% | 64 | İNDİRİM | 140 | İNDİRİM | ||
TensorRT | 10 | . | 120 | . | 129 | . | 160 | . | ||||
Trafo | vit_large_patch16_224 |
304M | PyTorch | 10 | -30% | 425 | -69% | 26 | İNDİRİM | 140 | İNDİRİM | |
TensorRT | 7 | . | 131 | . | 105 | . | 160 | . | ||||
NLP | bert-base-uncased |
109M | PyTorch | 26 | İNDİRİM | 70 | -39% | 105 | İNDİRİM | 140 | İNDİRİM | |
TensorRT | 42 | . | 43 | . | 254 | . | 180 | . | ||||
roberta-large |
335M | PyTorch | 9 | -11% | 187 | -70% | 33 | İNDİRİM | 120 | İNDİRİM | ||
TensorRT | 8 | . | 56 | . | 167 | . | 180 | . |
ml.g5.2xlarge |
||||||||||||
Kullanım çantası | mimari | Model adı | Parametre Sayısı | iskelet | Yüklenen Maksimum Modeller | Fark (%) | Gecikme (ms) | Fark (%) | Verim (qps) | Fark (%) | Maksimum Eşzamanlı Kullanıcı | Fark (%) |
CV | CNN | resnet50 |
25M | PyTorch | 70 | -51% | 159 | -31% | 146 | İNDİRİM | 180 | İNDİRİM |
TensorRT | 34 | . | 110 | . | 166 | . | 200 | . | ||||
convnext_base |
88M | PyTorch | 50 | -68% | 149 | -23% | 134 | İNDİRİM | 180 | 0% | ||
TensorRT | 16 | . | 115 | . | 152 | . | 180 | . | ||||
Trafo | vit_large_patch16_224 |
304M | PyTorch | 15 | -13% | 149 | -22% | 105 | İNDİRİM | 160 | İNDİRİM | |
TensorRT | 13 | . | 116 | . | 142 | . | 200 | . | ||||
NLP | bert-base-uncased |
109M | PyTorch | 39 | İNDİRİM | 65 | -29% | 183 | İNDİRİM | 180 | İNDİRİM | |
TensorRT | 50 | . | 46 | . | 253 | . | 200 | . | ||||
roberta-large |
335M | PyTorch | 13 | 0% | 97 | -38% | 121 | İNDİRİM | 140 | İNDİRİM | ||
TensorRT | 13 | . | 60 | . | 177 | . | 160 | . |
ml.p3.2xlarge |
||||||||||||
Kullanım çantası | mimari | Model adı | Parametre Sayısı | iskelet | Yüklenen Maksimum Modeller | Fark (%) | Gecikme (ms) | Fark (%) | Verim (qps) | Fark (%) | Maksimum Eşzamanlı Kullanıcı | Fark (%) |
CV | CNN | resnet50 |
25M | PyTorch | 49 | -51% | 197 | -41% | 94 | İNDİRİM | 160 | -12% |
TensorRT | 24 | . | 117 | . | 111 | . | 140 | . | ||||
convnext_base |
88M | PyTorch | 35 | -69% | 178 | -23% | 89 | İNDİRİM | 140 | İNDİRİM | ||
TensorRT | 11 | .137 | 137 | . | 99 | . | 160 | . | ||||
Trafo | vit_large_patch16_224 |
304M | PyTorch | 11 | -18% | 186 | -28% | 83 | İNDİRİM | 140 | İNDİRİM | |
TensorRT | 9 | . | 134 | . | 102 | . | 180 | . | ||||
NLP | bert-base-uncased |
109M | PyTorch | 28 | İNDİRİM | 77 | -40% | 133 | İNDİRİM | 140 | İNDİRİM | |
TensorRT | 36 | . | 46 | . | 212 | . | 200 | . | ||||
roberta-large |
335M | PyTorch | 9 | 0% | 108 | -44% | 88 | İNDİRİM | 160 | 0% | ||
TensorRT | 9 | . | 61 | . | 141 | . | 160 | . |
Aşağıdaki tablo, tüm örnek türleri genelinde sonuçları özetlemektedir. ml.g5.2xlarge bulut sunucusu en iyi performansı sağlarken ml.p3.2xlarge bulut sunucusu, üçü arasında en pahalısı olmasına rağmen genellikle düşük performans gösterir. g5 ve g4dn örnekleri, çıkarım iş yükleri için en iyi değeri gösterir.
Kullanım çantası | mimari | Model adı | Parametre Sayısı | iskelet | Örnek Türü | Yüklenen Maksimum Modeller | Fark (%) | Gecikme (ms) | Fark (%) | Verim (qps) | Fark (%) | Maksimum Eşzamanlı Kullanıcı |
CV | CNN | resnet50 |
25M | PyTorch | ml.g5.2xlarge | 70 | . | 159 | . | 146 | . | 180 |
. | . | . | . | . | ml.p3.2xlarge | 49 | . | 197 | . | 94 | . | 160 |
. | . | . | . | . | ml.g4dn.2xlarge | 46 | . | 164 | . | 120 | . | 180 |
CV | CN | resnet50 |
25M | TensorRT | ml.g5.2xlarge | 34 | -51% | 110 | -31% | 166 | İNDİRİM | 200 |
. | . | . | . | . | ml.p3.2xlarge | 24 | -51% | 117 | -41% | 111 | İNDİRİM | 200 |
. | . | . | . | . | ml.g4dn.2xlarge | 23 | -50% | 111 | -32% | 142 | İNDİRİM | 180 |
NLP | Trafo | bert-base-uncased |
109M | ateş feneri | ml.g5.2xlarge | 39 | . | 65 | . | 183 | . | 180 |
. | . | . | . | . | ml.p3.2xlarge | 28 | . | 77 | . | 133 | . | 140 |
. | . | . | . | . | ml.g4dn.2xlarge | 26 | . | 70 | . | 105 | . | 140 |
NLP | Trafo | bert-base-uncased |
109M | TensorRT | ml.g5.2xlarge | 50 | İNDİRİM | 46 | -29% | 253 | İNDİRİM | 200 |
. | . | . | . | . | ml.p3.2xlarge | 36 | İNDİRİM | 46 | -40% | 212 | İNDİRİM | 200 |
. | . | . | . | . | ml.g4dn.2xlarge | 42 | İNDİRİM | 43 | -39% | 254 | İNDİRİM | 180 |
Temizlemek
Yük testinizi tamamladıktan sonra, ek ücret ödememek için oluşturulan kaynakları temizleyin. Ana kaynaklar, Amazon S3'teki SageMaker uç noktaları ve model yapıt dosyalarıdır. İşinizi kolaylaştırmak için, not defteri dosyalarında silmenize yardımcı olacak aşağıdaki temizleme kodu bulunur:
Sonuç
Bu gönderide, GPU'lu SageMaker çok modelli uç noktalarında çalışan çeşitli derin sinir ağı modelleri için test sonuçlarımızı ve analizlerimizi paylaştık. Paylaştığımız sonuçlar ve içgörüler, farklı ölçümler ve örnek türleri genelinde makul bir performans kesiti sağlamalıdır. Bu süreçte, GPU'lu SageMaker MME'ler için kıyaslama testi yapmak için önerilen yaklaşımımızı da tanıttık. Sağladığımız araçlar ve örnek kod, kıyaslama testinize hızlı bir şekilde başlamanıza ve hızlandırılmış bilgi işlem donanımında yüzlerce DNN modelini uygun maliyetli bir şekilde nasıl barındıracağınız konusunda daha bilinçli bir karar vermenize yardımcı olabilir. GPU için MME desteğiyle kendi modellerinizi kıyaslamaya başlamak için bkz. Desteklenen algoritmalar, çerçeveler ve örnekler ve GitHub repo ek örnekler ve belgeler için.
yazarlar hakkında
James Wu AWS'de Kıdemli AI/ML Uzman Çözüm Mimarıdır. müşterilerin AI/ML çözümleri tasarlamasına ve oluşturmasına yardımcı olur. James'in çalışması, bilgisayar vizyonu, derin öğrenme ve kurum genelinde ML'yi ölçeklendirmeye ilgi duyan çok çeşitli ML kullanım durumlarını kapsar. AWS'ye katılmadan önce James, 10 yılı mühendislik ve 6 yılı pazarlama ve reklamcılık sektörlerinde olmak üzere 4 yılı aşkın bir süredir mimar, geliştirici ve teknoloji lideriydi.
vikram elango Virginia ABD merkezli Amazon Web Services'de AI/ML Uzman Çözüm Mimarıdır. Vikram, finans ve sigorta sektörü müşterilerine, makine öğrenimi uygulamalarını geniş ölçekte oluşturmak ve dağıtmak için tasarım, düşünce liderliği ile yardımcı olur. Şu anda kurum genelinde doğal dil işleme, sorumlu yapay zeka, çıkarım optimizasyonu ve makine öğrenimini ölçeklendirmeye odaklanıyor. Boş zamanlarında ailesiyle seyahat etmeyi, yürüyüş yapmayı, yemek yapmayı ve kamp yapmayı sever.
Simon Zamarin ana odak noktası müşterilerin veri varlıklarından değer elde etmelerine yardımcı olan bir AI / ML Çözümleri Mimarıdır. Simon boş zamanlarında aileyle vakit geçirmekten, bilim kurgu okumaktan ve çeşitli DIY ev projeleri üzerinde çalışmaktan hoşlanıyor.
Saurabh Trikande Amazon SageMaker Inference için Kıdemli Ürün Yöneticisidir. Müşterilerle çalışma konusunda tutkulu ve makine öğrenimini demokratikleştirme hedefiyle motive oluyor. Karmaşık makine öğrenimi uygulamaları, çok kiracılı makine öğrenimi modelleri, maliyet optimizasyonları ve derin öğrenme modellerinin dağıtımını daha erişilebilir hale getirmeyle ilgili temel zorluklara odaklanıyor. Saurabh boş zamanlarında yürüyüş yapmaktan, yenilikçi teknolojiler hakkında bilgi edinmekten, TechCrunch'ı takip etmekten ve ailesiyle vakit geçirmekten hoşlanıyor.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- Plato blok zinciri. Web3 Metaverse Zekası. Bilgi Güçlendirildi. Buradan Erişin.
- Kaynak: https://aws.amazon.com/blogs/machine-learning/achieve-high-performance-at-scale-for-model-serving-using-amazon-sagemaker-multi-model-endpoints-with-gpu/
- 10
- 100
- 11
- 2022
- 7
- a
- kabiliyet
- Hakkımızda
- hızlandırılmış
- ulaşılabilir
- göre
- tam olarak
- Başarmak
- karşısında
- katma
- ilave
- Ek
- Ayrıca
- benimsenen
- reklâm
- Sonra
- AI
- AI / ML
- algoritmalar
- Türkiye
- veriyor
- Rağmen
- Amazon
- Amazon Adaçayı Yapıcı
- Amazon Web Servisleri
- miktar
- analiz
- çözümlemek
- ve
- Başka
- uygulamaları
- yaklaşım
- yaklaşık olarak
- mimari
- Varlıklar
- Oto
- otomatik olarak
- ortalama
- AWS
- bar
- merkezli
- Çünkü
- önce
- arkasında
- olmak
- Inanmak
- kıyaslama
- Benchmarking
- kıyaslama
- yarar
- İYİ
- Ötesinde
- büyük
- milyarlarca
- yazı tahtası
- artırmak
- Alt
- tampon
- inşa etmek
- yük
- dava
- durumlarda
- zorluklar
- özellikleri
- yükler
- Grafik
- Grafikler
- açık
- müşteri
- CNN
- kod
- kombinasyonları
- karşılaştırıldığında
- karşılaştırarak
- karşılaştırma
- tamamlamak
- karmaşık
- karmaşıklık
- oluşur
- hesaplamak
- bilgisayar
- Bilgisayar görüşü
- sonuç
- eşzamanlı
- yapılandırma
- tutarlı
- tüketmek
- tüketilen
- tüketim
- Konteyner
- bağlam
- devam etmek
- çekirdek
- Ücret
- uygun maliyetli
- kapaklar
- Çapraz
- akım
- Şu anda
- görenek
- Müşteriler
- veri
- Veri noktaları
- karar
- derin
- derin öğrenme
- derin
- varsayılan
- teslim etmek
- Talep
- Demokratikleştirilmesi
- göstermek
- bağlı
- dağıtmak
- dağıtma
- açılma
- dağıtımları
- Dizayn
- İstediğiniz
- Rağmen
- ayrıntı
- ayrıntılar
- Belirlemek
- kararlı
- Geliştirici
- cihaz
- farklı
- diy
- belgeleme
- indir
- dramatik
- dinamik
- her
- Daha erken
- kolay
- ya
- Son nokta
- Mühendislik
- kuruluş
- Tüm
- hata
- Hatta
- örnek
- örnekler
- aşmak
- beklenen
- pahalı
- Deneyimler
- uzatmak
- çıkarmak
- Yüz
- faktörler
- başarısız
- aile
- Moda
- mümkün
- rakamlar
- dosyalar
- mali
- bulmak
- Ad
- odak
- odaklanmış
- odaklanır
- takip etme
- iskelet
- çerçeveler
- itibaren
- tam
- daha fazla
- genellikle
- oluşturulan
- üretir
- üretken
- üretken yapay zeka
- almak
- verir
- gol
- gidiş
- GPU
- GPU'lar
- grafikler
- Büyüyen
- rehberlik
- el
- donanım
- yardım et
- yardım
- yardımcı olur
- Yüksek
- daha yüksek
- ev sahibi
- ev sahipliği yaptı
- hosting
- ev
- Ne kadar
- Nasıl Yapılır
- Ancak
- HTML
- HTTPS
- merkez
- Yüzlerce
- ideal
- görüntü
- darbe
- etkiledi
- gelişmiş
- iyileşme
- in
- dahil
- Dahil olmak üzere
- Artırmak
- artmış
- Artışlar
- artan
- bireysel
- Endüstri
- sanayi
- etkilemek
- bilgi
- Altyapı
- ilk
- yenilikçi
- yenilikçi teknolojiler
- giriş
- anlayışlar
- örnek
- sigorta
- niyet
- faiz
- tanıttı
- Giriş
- çağırır
- IT
- birleştirme
- anahtar
- dil
- büyük
- büyük
- büyük
- Gecikme
- lider
- Liderlik
- öğrenme
- ayrılma
- uzunluk
- sınırları
- çizgi
- Liste
- Listeler
- yük
- yükleme
- uzun
- Bakın
- Düşük
- makine
- makine öğrenme
- Ana
- yapmak
- Yapımı
- müdür
- yönetir
- yönetme
- çok
- işaret
- Pazarlama
- Pazarlama reklamı
- maksimum
- Maksimuma çıkarmak
- maksimum
- ölçmek
- önlemler
- Bellek
- adı geçen
- yöntemleri
- Metrikleri
- küçük
- karışık
- ML
- model
- modelleri
- Daha
- çoğu
- En popüler
- motive
- MS
- çoklu
- isim
- Doğal (Madenden)
- Doğal Dil İşleme
- gerek
- negatif
- olumsuz
- ağ
- sinir ağı
- yeni
- nlp
- defter
- Kasım
- numara
- sayılar
- ONE
- işletme
- işletme
- optimizasyon
- optimum
- seçenek
- orijinal
- Diğer
- dışında
- tüm
- kendi
- Barış
- parametre
- parametreler
- tutkulu
- model
- desen
- yüzde
- Yapmak
- performans
- icra
- dönem
- seçmek
- Platon
- Plato Veri Zekası
- PlatoVeri
- Nokta
- noktaları
- Popüler
- mümkün
- Çivi
- Önceden
- birincil
- Önceki
- süreç
- işleme
- PLATFORM
- ürün müdürü
- Projeler
- uygun
- sağlamak
- sağlanan
- sağlar
- koymak
- pytorch
- miktar
- Rampa
- rampa
- rasgele
- menzil
- hızlı
- oran
- ulaşmak
- ulaştı
- uzanarak almak
- Okuma
- makul
- nedenleri
- tavsiye etmek
- Tavsiye edilen
- kaydedilmiş
- azaltmak
- Indirimli
- yansıtmak
- yansıtılan
- Saygılarımızla
- ilgili
- güvenilirlik
- hatırlamak
- tekrar et
- tekrarlanan
- talep
- isteklerinizi
- Yer Alan Kurallar
- gerektirir
- Kaynaklar
- yanıt
- sorumlu
- Ortaya çıkan
- Sonuçlar
- koşmak
- koşu
- sagemaker
- SageMaker Çıkarımı
- aynı
- ölçeklenebilir
- ölçek
- ölçekleme
- bilimkurgu
- İkinci
- saniye
- Bölüm
- kıdemli
- Dizi
- Hizmetler
- servis
- set
- kurulum
- birkaç
- Shape
- şekiller
- paylaş
- Paylaşılan
- paylaşımı
- meli
- şov
- gösterilen
- Gösteriler
- yan
- işaret
- önemli ölçüde
- benzer
- Simon
- Basit
- tek
- beden
- boyutları
- küçük
- daha küçük
- çözüm
- Çözümler
- biraz
- uzay
- uzman
- Belirtilen
- Harcama
- istikrar
- başladı
- kaldı
- istikrarlı
- adım
- Basamaklar
- Yine
- hafızası
- stratejileri
- güçlü
- başarılı
- böyle
- özetlemek
- ÖZET
- üstün
- destek
- destekli
- Destekler
- tablo
- Bizi daha iyi tanımak için
- alma
- TechCrunch
- Teknolojileri
- Teknoloji
- şablon
- şablonları
- şartlar
- test
- Test yapmak
- The
- ve bazı Asya
- bu nedenle
- düşünce
- düşünce liderliği
- üç
- eşik
- İçinden
- verim
- zaman
- için
- birlikte
- araçlar
- üst
- Toplam
- trafik
- Seyahat
- deneme
- Iki kere
- türleri
- tipik
- Amerika Birleşik Devletleri
- kullanım
- kullanım durumu
- kullanıcı
- kullanıcılar
- değer
- çeşitli
- Virjinya
- vizyonumuz
- Varant
- ağ
- web hizmetleri
- Ne
- olup olmadığını
- hangi
- süre
- bütün
- geniş
- Geniş ürün yelpazesi
- irade
- içinde
- olmadan
- İş
- işçiler
- çalışma
- olur
- yıl
- Yol ver
- Sen
- zefirnet