Bugün mevcut olan en popüler modellerden biri XGBoost'tur. Sınıflandırma ve regresyon gibi çeşitli sorunları çözme yeteneği ile XGBoost, ağaç tabanlı modeller kategorisine de giren popüler bir seçenek haline geldi. Bu yazıda, nasıl olduğunu görmek için derinlere iniyoruz Amazon Adaçayı Yapıcı kullanarak bu modelleri sunabilir NVIDIA Triton Çıkarım Sunucusu. Gerçek zamanlı çıkarım iş yükleri, gecikme ve verimlilik açısından değişen düzeylerde gereksinimlere ve hizmet düzeyi anlaşmalarına (SLA'lar) sahip olabilir ve SageMaker gerçek zamanlı uç noktaları kullanılarak karşılanabilir.
SageMaker sağlar tek model uç noktaları, mantıksal bir uç noktaya karşı tek bir makine öğrenimi (ML) modeli dağıtmanıza olanak tanır. Diğer kullanım durumları için, kullanarak maliyet ve performansı yönetmeyi seçebilirsiniz. çok modelli uç noktalar, mantıksal bir uç noktanın arkasında barındırılacak birden çok model belirtmenize olanak tanır. Seçtiğiniz seçenek ne olursa olsun, SageMaker uç noktaları, en zorlu kurumsal müşteriler için bile ölçeklenebilir bir mekanizma sağlarken, aşağıdakiler de dahil olmak üzere çok sayıda özellikle değer sağlar. gölge varyantları, otomatik ölçeklendirmeve yerel entegrasyon Amazon Bulut İzleme (daha fazla bilgi için bkz. Çok Modelli Uç Nokta Dağıtımları için CloudWatch Metrikleri).
Triton, çıkarım için çeşitli makine öğrenimi modellerinin çalıştırılmasını ve sunulmasını destekleyen motorlar olarak çeşitli arka uçları destekler. Herhangi bir Triton dağıtımında, arka uç davranışının iş yüklerinizi nasıl etkilediğini ve başarılı olabilmeniz için ne bekleyeceğinizi bilmek çok önemlidir. Bu yazıda, anlamanıza yardımcı oluyoruz Orman Çıkarım Kitaplığı (FIL) arka ucuSageMaker'da Triton tarafından desteklenen, böylece iş yükleriniz için bilinçli bir karar verebilir ve mümkün olan en iyi performansı ve maliyet optimizasyonunu elde edebilirsiniz.
FIL arka ucuna derinlemesine dalış
Triton'un desteklediği FIL arka ucu gibi ağaç modellerine hizmet etmek için XGBoost, LightGBM, scikit-öğrenme Rastgele Orman, RAPIDS cuML Rastgele Ormanve tarafından desteklenen diğer tüm modeller Treelit. Bu modeller uzun süredir sınıflandırma veya regresyon gibi problemlerin çözümünde kullanılmaktadır. Bu tür modeller geleneksel olarak CPU'larda çalışsa da, bu modellerin popülaritesi ve çıkarım talepleri, çıkarım performansını artırmak için çeşitli tekniklerin kullanılmasına yol açmıştır. FIL arka ucu, cuML yapılarını kullanarak bu tekniklerin çoğunu kullanır ve GPU hızlandırıcılarında çıkarım performansını optimize etmek için C++ ve CUDA çekirdek kitaplığı üzerine kuruludur.
FIL arka ucu, öğrenmeyi hızlandırmak için CPU veya GPU çekirdeklerini kullanmak üzere cuML kitaplıklarını kullanır. Bu işlemcileri kullanmak için, verilere ana bilgisayar belleğinden (örneğin, NumPy dizileri) veya GPU dizilerinden (uDF, Numba, cuPY veya destekleyen herhangi bir kitaplık) başvurulur. __cuda_array_interface__
) API'si. Veriler bellekte hazırlandıktan sonra, FIL arka ucu işlemeyi mevcut tüm CPU veya GPU çekirdeklerinde çalıştırabilir.
FIL arka uç iş parçacıkları, ana bilgisayarın paylaşılan belleğini kullanmadan birbirleriyle iletişim kurabilir, ancak topluluk iş yüklerinde ana bilgisayar belleği dikkate alınmalıdır. Aşağıdaki diyagram, Triton (C++) ile Python işlemi (Python arka ucu) arasındaki işlemler arası iletişim için kullanılan CPU adreslenebilir paylaşılan bellek dahil olmak üzere bellek alanlarında ince ayar yapma olanağına sahip olduğunuz bir topluluk zamanlayıcı çalışma zamanı mimarisini gösterir. FIL arka ucu ile tensörler (giriş/çıkış).
Triton Inference Server, geliştiricilerin iş yüklerini ayarlamaları ve model performansını optimize etmeleri için yapılandırılabilir seçenekler sunar. yapılandırma dynamic_batching
Triton'un müşteri tarafı isteklerini tutmasına ve FIL'in paralel hesaplamasını verimli bir şekilde kullanarak tüm partiyi birlikte çıkarsamak için sunucu tarafında toplu halde tutmasına izin verir. Seçenek max_queue_delay_microseconds
Triton'un bir parti oluşturmak için ne kadar süre beklediğine dair hatasız bir kontrol sunar.
FIL'e özgü bir dizi başka mevcut seçenekler performansı ve davranışı etkileyen ile başlamanızı öneririz. storage_type
. Arka ucu GPU'da çalıştırırken FIL, FIL'in performansı ve ayak izini etkileyebileceği ağacın bir temsili olan yeni bir bellek/veri yapısı oluşturur. Bu, ortam parametresi aracılığıyla yapılandırılabilir storage_type
, yoğun, seyrek ve otomatik seçeneklere sahiptir. Yoğun seçeneğin seçilmesi daha fazla GPU belleği tüketir ve her zaman daha iyi performans sağlamaz, bu nedenle kontrol etmek en iyisidir. Aksine, seyrek seçeneği daha az GPU belleği tüketir ve muhtemelen yoğundan daha iyi veya daha iyi performans gösterebilir. Otomatik'in seçilmesi, seyrek bellekten önemli ölçüde daha fazla GPU belleği tüketmediği sürece, modelin varsayılan olarak yoğun olmasına neden olur.
Model performansı söz konusu olduğunda, threads_per_tree
seçenek. Gerçek dünya senaryolarında gereğinden fazla hizmet edebileceğiniz bir şey, threads_per_tree
verim üzerinde diğer tüm parametrelerden daha büyük bir etkiye sahip olabilir. 2–1 arasında 32'nin herhangi bir kuvvetine ayarlamak meşrudur. Bu parametre için en uygun değeri tahmin etmek zordur, ancak sunucunun daha yüksek yükle uğraşması veya daha büyük parti boyutlarını işlemesi beklendiğinde, bir seferde birkaç satırı işlediği zamana göre daha büyük bir değerden yararlanma eğilimi gösterir.
Dikkat edilmesi gereken bir diğer parametre ise algo
, GPU üzerinde çalışıyorsanız da mevcuttur. Bu parametre, çıkarım isteklerini işlemek için kullanılan algoritmayı belirler. Bunun için desteklenen seçenekler şunlardır: ALGO_AUTO
, NAIVE
, TREE_REORG
, ve BATCH_TREE_REORG
. Bu seçenekler, bir ağaçtaki düğümlerin nasıl organize edildiğini belirler ve ayrıca performans kazanımlarıyla sonuçlanabilir. bu ALGO_AUTO
seçenek varsayılan olarak NAIVE
seyrek depolama için ve BATCH_TREE_REORG
yoğun depolama için.
Son olarak, FIL, kullanılarak etkinleştirilebilen Shapley açıklayıcı ile birlikte gelir. treeshap_output
parametre. Ancak, Shapley çıktılarının, çıktı boyutu nedeniyle performansı düşürdüğünü unutmamalısınız.
model formatı
Şu anda orman tabanlı modelleri depolamak için standart bir dosya biçimi yoktur; her çerçeve kendi biçimini tanımlama eğilimindedir. FIL, birden çok girdi dosyası biçimini desteklemek için açık kaynak Treelit kütüphane. Bu, FIL'in aşağıdakiler gibi popüler çerçevelerde eğitilen modelleri desteklemesini sağlar: XGBoost ve LightGBM. Sağladığınız modelin biçiminin, model_type
belirtilen yapılandırma değeri config.pbtxt
dosyası.
config.pbtxt
Her model bir model deposu model hakkında gerekli ve isteğe bağlı bilgileri sağlayan bir model yapılandırması içermelidir. Tipik olarak, bu yapılandırma bir config.pbtxt
olarak belirtilen dosya ModelConfig protobuf'u. Yapılandırma ayarları hakkında daha fazla bilgi edinmek için bkz. Model Yapılandırması. Aşağıdakiler, model yapılandırma parametrelerinden bazılarıdır:
- max_batch_size – Bu, bu modele aktarılabilecek maksimum parti boyutunu belirler. Genel olarak, bir FIL arka ucuna iletilen toplu işlerin boyutuyla ilgili tek sınır, bunların işleneceği kullanılabilir bellektir. GPU çalıştırmaları için kullanılabilir bellek, sunucu başlatılırken bir komut satırı bağımsız değişkeni aracılığıyla ayarlanabilen Triton'un CUDA bellek havuzunun boyutuna göre belirlenir.
- giriş – Bu bölümdeki seçenekler, Triton'a her girdi örneği için beklenecek özelliklerin sayısını söyler.
- çıktı – Bu bölümdeki seçenekler, Triton'a her örnek için kaç çıkış değeri olacağını söyler. Eğer
predict_proba
seçeneği true olarak ayarlanırsa, her sınıf için bir olasılık değeri döndürülür. Aksi takdirde, verilen örnek için tahmin edilen sınıfı gösteren tek bir değer döndürülür. - örnek_grubu – Bu, bu modelin kaç örneğinin oluşturulacağını ve bunların GPU mu yoksa CPU mu kullanacağını belirler.
- Model türü – Bu dize, modelin hangi biçimde olduğunu gösterir (
xgboost_json
bu örnekte amaxgboost
,lightgbm
, vetl_checkpoint
geçerli biçimlerdir). - tahmin_proba – Doğru olarak ayarlanırsa, yalnızca bir sınıf tahmini yerine her sınıf için olasılık değerleri döndürülür.
- çıktı_sınıfı – Bu, sınıflandırma modelleri için doğru ve regresyon modelleri için yanlış olarak ayarlanır.
- eşik – Bu, sınıflandırmayı belirlemek için bir puan eşiğidir. Ne zaman
output_class
true olarak ayarlanırsa, bu sağlanmalı, ancak şu durumlarda kullanılmayacaktır:predict_proba
ayrıca true olarak ayarlanmıştır. - depolama türü – Genel olarak, bu ayar için OTOMATİK'in kullanılması çoğu kullanım durumunu karşılamalıdır. OTO depolama seçilirse, FIL, modelin yaklaşık boyutuna göre seyrek veya yoğun bir temsil kullanarak modeli yükler. Bazı durumlarda, büyük modellerin bellek ayak izini azaltmak için bunu açıkça SPARSE olarak ayarlamak isteyebilirsiniz.
SageMaker'da Triton Çıkarım Sunucusu
SageMaker veriyor NVIDIA Triton Inference Server ile hem tek modelli hem de çok modelli uç noktaları konuşlandırabilirsiniz. Aşağıdaki şekil, Triton Çıkarım Sunucusu üst düzey mimarisini göstermektedir. bu model deposu Triton'un çıkarım için uygun hale getireceği modellerin dosya sistemi tabanlı bir deposudur. Çıkarım istekleri sunucuya ulaşır ve her model için uygun planlayıcıya yönlendirilir. Triton uygular çoklu zamanlama ve harmanlama algoritmaları model bazında yapılandırılabilir. Her modelin programlayıcısı isteğe bağlı olarak çıkarım isteklerini toplu olarak gerçekleştirir ve ardından istekleri arka uç model tipine karşılık gelir. Arka uç, istenen çıktıları üretmek için toplu isteklerde sağlanan girdileri kullanarak çıkarım gerçekleştirir. Çıkışlar daha sonra döndürülür.
SageMaker uç noktaları için otomatik ölçeklendirme gruplarınızı yapılandırırken şunları göz önünde bulundurmak isteyebilirsiniz: SageMakerVariantInvocationsPerInstance
otomatik ölçeklendirme grubunuzun ölçeklendirme özelliklerini belirlemek için birincil kriter olarak. Ek olarak, modellerinizin GPU veya CPU üzerinde çalışmasına bağlı olarak, CPUUtilization veya GPUUtilization kullanmayı da ek kriter olarak düşünebilirsiniz. Tek modelli uç noktalar için dağıtılan modellerin hepsi aynı olduğu için SLA'larınızı karşılayacak uygun ilkeleri belirlemenin oldukça kolay olduğunu unutmayın. Çok modelli uç noktalar için, daha istikrarlı öngörülebilir performansa sahip olmak için benzer modelleri belirli bir uç noktanın arkasına dağıtmanızı öneririz. Farklı boyut ve gereksinimlere sahip modellerin kullanıldığı kullanım durumlarında, en iyi maliyet ve performans dengesini elde etmek için bu iş yüklerini birden çok çok modelli uç noktaya ayırmak veya otomatik ölçeklendirme grup ilkenizde ince ayar yapmak için biraz zaman harcamak isteyebilirsiniz.
SageMaker çıkarımı tarafından desteklenen NVIDIA Triton Derin Öğrenme Kapsayıcılarının (DLC'ler) listesi için bkz. Kullanılabilir Derin Öğrenme Kapsayıcıları Resimleri.
SageMaker not defteri incelemesi
Makine öğrenimi uygulamaları karmaşıktır ve genellikle verilerin ön işlenmesini gerektirebilir. Bu not defterinde, bir SageMaker çoklu model uç noktasında Triton'daki FIL arka ucunu kullanarak XGBoost gibi ağaç tabanlı bir makine öğrenimi modelinin nasıl konuşlandırılacağını ele alıyoruz. Ayrıca, Triton'daki topluluk özelliğini kullanarak Python tabanlı bir veri ön işleme çıkarım hattını modeliniz için nasıl uygulayacağınızı da ele alıyoruz. Bu, müşteri tarafından ham verileri göndermemize ve optimum çıkarım performansı için bir Triton SageMaker uç noktasında hem veri ön işleme hem de model çıkarımının gerçekleşmesine olanak sağlayacaktır.
Triton modeli topluluk özelliği
Triton Inference Server, yapay zeka modellerinin üretimde ölçekte dağıtımını büyük ölçüde basitleştirir. Triton Inference Server, ön işleme ve son işleme boru hatları oluşturmayı basitleştiren uygun bir çözümle birlikte gelir. Triton Inference Server platformu, verimlilik sağlarken ve iş hacmini optimize ederken çıkarım sürecine katılan boru hattı modellerinden sorumlu topluluk zamanlayıcı sağlar. Topluluk modellerini kullanmak, ara tensörleri aktarma ek yükünü önleyebilir ve Triton'a gönderilmesi gereken istek sayısını en aza indirebilir.
Bu not defterinde, XGBoost model çıkarımı ile bir veri ön işleme ardışık düzeni oluşturmak için topluluk özelliğinin nasıl kullanılacağını gösteriyoruz ve ardışık düzene özel son işleme eklemek için ondan tahminde bulunabilirsiniz.
ortamı kurun
Gerekli ortamı kurarak başlıyoruz. Triton Inference Server'ı kullanarak model boru hattımızı paketlemek ve çıkarımları çalıştırmak için gereken bağımlılıkları kuruyoruz. Ayrıca şunları da tanımlarız: AWS Kimlik ve Erişim Yönetimi SageMaker'ın model yapıtlarına ve NVIDIA Triton'a erişmesini sağlayacak (IAM) rolü Amazon Elastik Konteyner Kayıt Defteri (Amazon ECR) görüntüsü. Aşağıdaki koda bakın:
Bağımlılıkları ön işlemek için bir Conda ortamı oluşturun
Triton'daki Python arka ucu, bir Conda herhangi bir ek bağımlılık için ortam. Bu durumda, ham verileri FIL arka ucunda çalışan XGBoost modeline beslemeden önce ön işlemek için Python arka ucunu kullanırız. Veri ön işlemesini yapmak için orijinal olarak RAPIDS cuDF ve cuML'yi kullanmış olsak da, burada çıkarım sırasında ön işleme bağımlılıkları olarak Pandas ve scikit-learn kullanıyoruz. Bunu üç nedenden dolayı yapıyoruz:
- Bağımlılıklarınız için bir Conda ortamını nasıl oluşturacağınızı ve onu nasıl paketleyeceğinizi gösteriyoruz. biçim bekleniyor Triton'un Python arka ucu tarafından.
- XGBoost, FIL arka ucunda GPU üzerinde çalışırken, CPU üzerinde Python arka ucunda çalışan ön işleme modelini göstererek, Triton'un topluluk boru hattındaki her bir modelin farklı bir çerçeve arka ucunda ve farklı donanım yapılandırmalarında nasıl çalışabileceğini gösteriyoruz.
- RAPIDS kitaplıklarının (cuDF, cuML) CPU benzerleriyle (Pandas, scikit-learn) nasıl uyumlu olduğunu vurgular. Örneğin, nasıl olduğunu gösterebiliriz.
LabelEncoders
cuML'de oluşturulan, scikit-learn'de kullanılabilir ve bunun tersi de geçerlidir.
gelen talimatları uyguluyoruz. Triton belgeleri Python arka ucunda bir Conda ortamı TAR dosyası olarak kullanılacak paketleme ön işleme bağımlılıkları (scikit-learn ve Pandas) için. Bash betiği create_prep_env.sh Conda ortamı TAR dosyasını oluşturur, ardından onu preprocessing model dizinine taşırız. Aşağıdaki koda bakın:
Önceki betiği çalıştırdıktan sonra, preprocessing_env.tar.gz
ön işleme dizinine kopyaladığımız:
Triton Python arka ucuyla ön işlemeyi kurun
Ön işleme için Triton kullanıyoruz Python arka ucu sunucuya gelen ham veri istekleri için çıkarım sırasında tablosal veri ön işleme (kategorik kodlama) gerçekleştirmek. Eğitim sırasında yapılan ön işleme hakkında daha fazla bilgi için bkz. eğitim defteri.
Python arka ucu, ön işleme, son işleme ve diğer tüm özel mantığın Python'da uygulanmasına ve Triton ile sunulmasına olanak tanır. SageMaker'da Triton'u kullanmak, önce hizmet etmek istediğimiz modelleri içeren bir model deposu klasörü oluşturmamızı gerektirir. Python veri ön işleme için önceden işleme adı verilen bir model kurduk. cpu_model_repository
ve gpu_model_repository
.
Triton'un model deposu düzeni için özel gereksinimleri vardır. Üst düzey model deposu dizini içinde, her modelin ilgili model için bilgileri içeren kendi alt dizini vardır. Triton'daki her model dizini, modelin bir sürümünü temsil eden en az bir sayısal alt dizine sahip olmalıdır. 1 değeri, Python ön işleme modelimizin 1. sürümünü temsil eder. Her model belirli bir arka uç tarafından çalıştırılır, bu nedenle her sürüm alt dizininde o arka uç için gerekli olan model yapısı bulunmalıdır. Bu örnek için, sunduğunuz Python dosyasının model.py olarak adlandırılmasını gerektiren ve dosyanın uygulanması gereken Python arka ucunu kullanıyoruz. belirli işlevler. Bir PyTorch arka ucu kullanıyor olsaydık, bir model.pt dosyası gerekli olurdu ve bu böyle devam ederdi. Model dosyaları için adlandırma kuralları hakkında daha fazla ayrıntı için bkz. Model Dosyaları.
The model.py Burada kullandığımız Python dosyası, ham verileri XGBoost modelimize beslenebilecek özelliklere dönüştürmek için tüm tablosal veri ön işleme mantığını uygular.
Her Triton modeli ayrıca şunları sağlamalıdır: config.pbtxt
model yapılandırmasını açıklayan dosya. Yapılandırma ayarları hakkında daha fazla bilgi edinmek için bkz. Model Yapılandırması. Bizim yapılandırma.pbtxt file, arka ucu python olarak ve ham veriler için tüm giriş sütunlarını ve 15 özellikten oluşan önceden işlenmiş çıktıyı belirtir. Ayrıca bu Python ön işleme modelini CPU üzerinde çalıştırmak istediğimizi belirtiyoruz. Aşağıdaki koda bakın:
FIL arka ucu için ağaç tabanlı bir makine öğrenimi modeli kurun
Ardından, FIL arka ucunu kullanacak olan XGBoost gibi ağaç tabanlı bir makine öğrenimi modeli için model dizinini kurduk.
için beklenen düzen cpu_memory_repository
ve gpu_memory_repository
daha önce gösterdiğimize benziyor.
Burada, FIL
modelin adıdır. gibi farklı bir isim verebiliriz. xgboost
Eğer istersek. 1
model yapıtını içeren sürüm alt dizinidir. Bu durumda, xgboost.json
kurtardığımız model. Bu beklenen düzeni oluşturalım:
Yapılandırma dosyasına sahip olmamız gerekiyor config.pbtxt
Triton'daki FIL arka ucunun ona nasıl hizmet edeceğini anlayabilmesi için ağaç tabanlı makine öğrenimi modeli için model yapılandırmasını açıklamak. Daha fazla bilgi için en son jenerik Triton yapılandırma seçenekleri ve belirli yapılandırma seçenekleri FIL arka ucu. Bu örnekte en yaygın ve ilgili seçeneklerden yalnızca birkaçına odaklanıyoruz.
oluşturmak config.pbtxt
için model_cpu_repository
:
Benzer şekilde, kurulum config.pbtxt
için model_gpu_repository
(farkın olduğuna dikkat edin USE_GPU = True
):
Toplulukları kullanarak Python arka ucunu ve FIL arka ucunu ön işlemeye tabi tutan veriler için bir çıkarım ardışık düzeni kurun
Artık veri ön işleme ve ağaç tabanlı model çıkarımı için çıkarım ardışık düzenini kurmaya hazırız. topluluk modeli. Bir topluluk modeli, bir veya daha fazla modelden oluşan bir boru hattını ve bu modeller arasındaki giriş ve çıkış tensörlerinin bağlantısını temsil eder. Burada, Python arka ucunda bir veri ön işleme hattı oluşturmak için topluluk modelini ve ardından FIL arka ucunda XGBoost'u kullanıyoruz.
için beklenen düzen ensemble
model dizini daha önce gösterdiğimiz dizine benzer:
Topluluk modelini oluşturduk yapılandırma.pbtxt rehberliği takip ederek Takım Modelleri. Daha da önemlisi, topluluk zamanlayıcısını içinde kurmamız gerekiyor. config.pbtxt
topluluk içindeki modeller arasındaki veri akışını belirtir. Topluluk programlayıcı, her adımda çıkış tensörlerini toplar ve bunları, spesifikasyona göre diğer adımlar için giriş tensörleri olarak sağlar.
Model deposunu paketleyin ve Amazon S3'e yükleyin
Son olarak, XGBoost FIL modeli ve model topluluğu ile birlikte bir Python ön işleme modeli ve bağımlılıklarını içeren aşağıdaki model deposu dizin yapısını elde ederiz.
Dizini ve içeriğini şu şekilde paketliyoruz: model.tar.gz
yüklemek için Amazon Basit Depolama Hizmeti (Amazon S3). Bu örnekte iki seçeneğimiz var: CPU tabanlı bir örnek veya GPU tabanlı bir örnek kullanmak. Daha yüksek işlem gücüne ihtiyaç duyduğunuzda ve CUDA çekirdeklerini kullanmak istediğinizde GPU tabanlı bir bulut sunucusu daha uygundur.
Aşağıdaki kodla CPU tabanlı bir örnek (CPU için optimize edilmiş) için model paketi oluşturun ve yükleyin:
Aşağıdaki kodla GPU tabanlı bir örnek (GPU için optimize edilmiş) için model paketi oluşturun ve yükleyin:
SageMaker uç noktası oluşturun
Artık bir S3 kovasında depolanan model yapıtlarımız var. Bu adımda, ek ortam değişkenini de sağlayabiliriz. SAGEMAKER_TRITON_DEFAULT_MODEL_NAME
Triton tarafından yüklenecek modelin adını belirtir. Bu anahtarın değeri, Amazon S3'e yüklenen model paketindeki klasör adıyla eşleşmelidir. Bu değişken, tek bir model olması durumunda isteğe bağlıdır. Topluluk modellerinde, Triton'un SageMaker'da başlaması için bu anahtarın belirtilmesi gerekir.
Ek olarak, ayarlayabilirsiniz SAGEMAKER_TRITON_BUFFER_MANAGER_THREAD_COUNT
ve SAGEMAKER_TRITON_THREAD_COUNT
iplik sayımlarını optimize etmek için.
Uç noktada istediğimiz örneklerin türünü ve sayısını belirtebileceğimiz bir uç nokta yapılandırması oluşturmak için önceki modeli kullanırız.
Bir SageMaker uç noktası oluşturmak ve konuşlandırmanın bitmesini beklemek için bu uç nokta yapılandırmasını kullanırız. SageMaker MME'leri ile, bu işlemi tekrarlayarak birden çok topluluk modelini barındırma seçeneğine sahibiz, ancak bu örnek için bir dağıtıma bağlı kalıyoruz:
Durum şu şekilde değişecektir: InService
dağıtım başarılı olduğunda.
SageMaker uç noktasında barındırılan modelinizi çağırın
Uç nokta çalıştıktan sonra, yük formatı olarak JSON'u kullanarak çıkarım yapmak için bazı örnek ham verileri kullanabiliriz. Çıkarım talebi formatı için Triton, KFServing
topluluk standardı çıkarım protokolleri. Aşağıdaki koda bakın:
Blogda atıfta bulunulan not defteri şu adreste bulunabilir: GitHub deposu.
En iyi uygulamalar
Veri bilimcileri, daha önce bahsettiğimiz FIL arka ucunun ayarlarında ince ayar yapma seçeneklerine ek olarak, arka uç için girdi verilerinin motor tarafından işlenmek üzere optimize edilmesini de sağlayabilir. Mümkün olduğunda, verileri GPU dizisine ana satır biçiminde girin. Diğer biçimler, dahili dönüştürme gerektirecek ve döngüleri alarak performansı düşürecektir.
FIL veri yapılarının GPU belleğinde tutulma şekli nedeniyle ağaç derinliğine dikkat edin. Ağaç derinliği ne kadar derin olursa, GPU bellek ayak iziniz o kadar büyük olur.
Kullan instance_group_count
Çalışan işlemleri eklemek ve FIL arka ucunun verimini artırmak için parametre, bu da daha büyük CPU ve GPU bellek tüketimine neden olur. Ek olarak, HTTP iş parçacıkları, HTTP arabellek boyutu, toplu iş boyutu ve maksimum gecikme gibi verimi artırmak için kullanılabilen SageMaker'a özgü değişkenleri göz önünde bulundurun.
Sonuç
Bu gönderide, Triton Inference Server'ın SageMaker'da desteklediği FIL arka ucunu derinlemesine inceleyeceğiz. Bu arka uç, popüler XGBoost algoritması gibi ağaç tabanlı modellerinizin hem CPU hem de GPU hızlandırmasını sağlar. Toplu iş boyutları, veri giriş biçimleri ve ihtiyaçlarınızı karşılamak üzere ayarlanabilecek diğer faktörler gibi en iyi çıkarım performansını elde etmek için göz önünde bulundurulması gereken birçok seçenek vardır. SageMaker, performans ve maliyet tasarrufunu dengelemek için bu özelliği tekli ve çok modelli uç noktalarla kullanmanıza olanak tanır.
Bu gönderideki bilgileri almanızı ve SageMaker'ın ağaç tabanlı modeller sunmak için barındırma ihtiyaçlarınızı karşılayıp karşılayamayacağını, maliyet azaltma ve iş yükü performansı gereksinimlerinizi karşılayıp karşılamadığını görmenizi öneririz.
Bu gönderide atıfta bulunulan not defteri, SageMaker örneklerinde bulunabilir. GitHub deposu. Ayrıca, FIL arka ucuyla ilgili en son belgeleri şu adreste bulabilirsiniz: GitHub.
Yazarlar Hakkında
Raghu Rameşa Amazon SageMaker Hizmet ekibinde Kıdemli Makine Öğrenimi Çözümleri Mimarıdır. Müşterilerin makine öğrenimi üretim iş yüklerini uygun ölçekte oluşturmasına, dağıtmasına ve SageMaker'a taşımasına yardımcı olmaya odaklanır. Makine öğrenimi, yapay zeka ve bilgisayar görüşü alanlarında uzmandır ve UT Dallas'ta Bilgisayar Bilimi alanında yüksek lisans derecesine sahiptir. Boş zamanlarında seyahat etmekten ve fotoğraf çekmekten hoşlanır.
James Park Amazon Web Services'te Çözüm Mimarıdır. AWS'de teknoloji çözümleri tasarlamak, oluşturmak ve dağıtmak için Amazon.com ile birlikte çalışıyor ve yapay zeka ve makine öğrenimine özel bir ilgi duyuyor. Boş zamanlarında yeni kültürler, yeni deneyimler aramayı ve en son teknoloji trendlerini takip etmeyi sever.
Dhaval Patel AWS'de Baş Makine Öğrenimi Mimarıdır. Dağıtılmış bilgi işlem ve yapay zeka ile ilgili sorunlar üzerinde büyük işletmelerden orta ölçekli girişimlere kadar çeşitli kuruluşlarla çalıştı. NLP ve bilgisayarla görme alanları dahil olmak üzere derin öğrenmeye odaklanmaktadır. Müşterilerin Amazon SageMaker'da yüksek performanslı model çıkarımı yapmasına yardımcı olur.
Jiahong Liu NVIDIA'da Bulut Hizmeti Sağlayıcı ekibinde bir Çözüm Mimarıdır. Müşterilere, eğitim ve çıkarım zorluklarını ele almak için NVIDIA hızlandırılmış bilgi işlemden yararlanan makine öğrenimi ve yapay zeka çözümlerini benimsemelerinde yardımcı olur. Boş zamanlarında origami yapmaktan, kendin yap projelerinden ve basketbol oynamaktan hoşlanıyor.
Kşitiz Gupta NVIDIA'da Çözüm Mimarıdır. Bulut müşterilerini NVIDIA'nın sunduğu GPU AI teknolojileri hakkında eğitmekten ve makine öğrenimi ve derin öğrenme uygulamalarını hızlandırmalarında onlara yardımcı olmaktan keyif alıyor. İş dışında koşmayı, yürüyüş yapmayı ve vahşi yaşamı izlemeyi seviyor.
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- PlatoAiStream. Web3 Veri Zekası. Bilgi Genişletildi. Buradan Erişin.
- Adryenn Ashley ile Geleceği Basmak. Buradan Erişin.
- Kaynak: https://aws.amazon.com/blogs/machine-learning/hosting-ml-models-on-amazon-sagemaker-using-triton-xgboost-lightgbm-and-treelite-models/
- :vardır
- :dır-dir
- :olumsuzluk
- :Neresi
- $UP
- 1
- 100
- 11
- 13
- 200
- 23
- 24
- 7
- 8
- 9
- a
- kabiliyet
- Hakkımızda
- hızlandırmak
- hızlandırılmış
- hızlanan
- hızlandırıcılar
- erişim
- Göre
- göre
- Hesap
- Başarmak
- karşısında
- eklemek
- ilave
- Ek
- adres
- adreslenebilir
- Benimsemek
- Sonra
- karşı
- anlaşmalar
- AI
- algoritma
- Türkiye
- tahsisler
- izin vermek
- veriyor
- boyunca
- zaten
- Ayrıca
- Rağmen
- her zaman
- Amazon
- Amazon Adaçayı Yapıcı
- Amazon Web Servisleri
- Amazon.com
- miktar
- an
- ve
- herhangi
- api
- uygulamaları
- uygun
- mimari
- ARE
- alanlar
- tartışma
- Dizi
- yapay
- yapay zeka
- AS
- asist
- At
- Oto
- mevcut
- önlemek
- AWS
- Backend
- Bakiye
- merkezli
- darbe
- temel
- Basketbol
- BE
- Çünkü
- müşterimiz
- olmuştur
- önce
- başlamak
- arkasında
- altında
- yarar
- İYİ
- Daha iyi
- arasında
- büyük
- Blog
- vücut
- her ikisi de
- tampon
- inşa etmek
- bina
- yapılı
- fakat
- by
- C + +
- denilen
- CAN
- kart
- dava
- durumlarda
- Kategoriler
- Sebeb olmak
- zorluklar
- değişiklik
- özellikleri
- Kontrol
- yonga
- Klinik
- seçme
- Şehir
- sınıf
- sınıflandırma
- müşteri
- istemciler
- bulut
- kod
- Sütunlar
- COM
- geliyor
- gelecek
- ortak
- iletişim kurmak
- Yakın İletişim
- topluluk
- uyumlu
- karmaşık
- hesaplama
- bilgisayar
- Bilgisayar Bilimleri
- Bilgisayar görüşü
- bilgisayar
- yapılandırma
- bağ
- Düşünmek
- kabul
- tüketmek
- tüketim
- Konteyner
- Konteynerler
- içeren
- içindekiler
- kontrast
- kontrol
- Uygun
- Dönüştürme
- dönüştürmek
- çekirdek
- uyan
- Ücret
- maliyet azaltma
- tasarruf
- kapak
- yaratmak
- çevrimiçi kurslar düzenliyorlar.
- oluşturur
- kriterleri
- çok önemli
- Şu anda
- görenek
- Müşteriler
- döngüleri
- Dallas
- veri
- Tarih
- gün
- anlaşma
- karar
- derin
- derin öğrenme
- derin
- Varsayılan
- varsayılan
- derece
- geciktirmek
- talep
- talepleri
- bağlı
- dağıtmak
- konuşlandırılmış
- dağıtma
- açılma
- derinlik
- Dizayn
- ayrıntılar
- Belirlemek
- kararlı
- belirleyen
- belirlenmesi
- geliştiriciler
- fark
- farklı
- dağıtıldı
- Dağıtılmış bilgi işlem
- diy
- do
- belgeleme
- Değil
- yapıyor
- etki
- yapılmış
- nerede
- gereken
- sırasında
- her
- Daha erken
- eğitmek
- verim
- verimli biçimde
- ya
- vurgulayan
- sağlar
- teşvik etmek
- son
- Son nokta
- Motor
- Motorlar
- sağlamak
- sağlanması
- kuruluş
- işletmelerin
- Tüm
- çevre
- Hatalar
- Hatta
- Her
- örnek
- örnekler
- değiş tokuş
- beklemek
- beklenen
- Deneyimler
- ihracat
- faktörler
- oldukça
- Falls
- yanlış
- Özellikler(Hazırlık aşamasında)
- Özellikler
- Fed
- besleme
- az
- şekil
- fileto
- dosyalar
- bulmak
- bitiş
- Ad
- akış
- odak
- odaklanır
- takip et
- takip
- takip etme
- ayak izi
- İçin
- Airdrop Formu
- biçim
- bulundu
- iskelet
- çerçeveler
- dolandırıcılık
- Ücretsiz
- itibaren
- Ayrıca
- Kazançlar
- genel
- üretir
- almak
- Vermek
- verilmiş
- GPU
- çok
- grup
- Grubun
- rehberlik
- olmak
- Zor
- donanım
- Var
- he
- yardım et
- yardım
- yardımcı olur
- okuyun
- üst düzey
- yüksek performans
- daha yüksek
- özeti
- onun
- ambar
- tutar
- ev sahibi
- ev sahipliği yaptı
- hosting
- Ne kadar
- Nasıl Yapılır
- Ancak
- HTML
- http
- HTTPS
- Zarar
- Kimlik
- kimlikleri
- idx
- if
- görüntü
- darbe
- Etkiler
- uygulamak
- uygulanan
- uygular
- ithalat
- in
- dahil
- Dahil olmak üzere
- Artırmak
- gösterir
- bilgi
- bilgi
- giriş
- kurmak
- örnek
- talimatlar
- bütünleşme
- İstihbarat
- faiz
- iç
- içine
- IT
- ONUN
- jpg
- json
- sadece
- tutmak
- anahtar
- Nezaket.
- Bilmek
- büyük
- Büyük işletmeler
- büyük
- Gecikme
- son
- Düzen
- ÖĞRENİN
- öğrenme
- en az
- Led
- meşru
- az
- seviye
- seviyeleri
- Kaldıraç
- kütüphaneler
- Kütüphane
- sevmek
- LİMİT
- çizgi
- Liste
- yük
- mantık
- mantıksal
- Uzun
- makine
- makine öğrenme
- yapmak
- yönetmek
- çok
- yüksek lisans
- Maç
- maksimum
- maksimum
- Mayıs..
- mekanizma
- Neden
- toplantı
- Bellek
- adı geçen
- Tüccar
- Metrikleri
- olabilir
- göç
- akla
- ML
- Moda
- model
- modelleri
- Ay
- Daha
- çoğu
- En popüler
- hareket
- Çok Modelli Uç Nokta
- çoklu
- şart
- isim
- adlandırma
- yerli
- gerek
- ihtiyaçlar
- yeni
- nlp
- yok hayır
- düğümler
- defter
- şimdi
- numara
- dizi
- Nvidia
- elde etmek
- of
- teklif
- Teklifler
- sık sık
- on
- ONE
- olanlar
- bir tek
- açık kaynak
- optimum
- optimizasyon
- optimize
- optimize
- optimize
- seçenek
- Opsiyonlar
- or
- sipariş
- organizasyonlar
- Düzenlenmiş
- aslında
- OS
- Diğer
- aksi takdirde
- bizim
- dışarı
- çıktı
- dışında
- kendi
- paket
- ambalaj
- pandalar
- Paralel
- parametre
- parametreler
- katılan
- belirli
- geçti
- geçer
- yol
- Yapmak
- performans
- gerçekleştirir
- izin
- fotoğrafçılık
- boru hattı
- platform
- Platon
- Plato Veri Zekası
- PlatoVeri
- oynama
- Lütfen
- bolluk
- politikaları
- politika
- havuz
- Popüler
- popülerlik
- mümkün
- belki
- Çivi
- güç kelimesini seçerim
- tahmin
- tahmin edilebilir
- tahmin
- tahmin
- Tahminler
- Önceden
- birincil
- Anapara
- sorunlar
- süreç
- Süreçler
- işleme
- İşleme gücü
- işlemciler
- üretmek
- üretim
- Projeler
- uygun
- Proto
- sağlamak
- sağlanan
- sağlayan
- sağlar
- sağlama
- Python
- pytorch
- rasgele
- değişen
- daha doğrusu
- Çiğ
- hazır
- Gerçek dünya
- gerçek zaman
- nedenleri
- tavsiye etmek
- azaltmak
- Referans
- Ne olursa olsun
- bölge
- ilgili
- uygun
- değiştirmek
- Depo
- temsil
- temsil
- temsil
- talep
- isteklerinizi
- gerektirir
- gereklidir
- Yer Alan Kurallar
- gerektirir
- yanıt
- sorumlu
- sonuç
- Sonuçlar
- Rol
- koşmak
- koşu
- s
- sagemaker
- SageMaker Çıkarımı
- aynı
- Tasarruf
- ölçeklenebilir
- ölçek
- ölçekleme
- senaryolar
- çizelgeleme
- Bilim
- bilim adamları
- scikit-öğrenme
- Gol
- Bölüm
- görmek
- arayan
- seçilmiş
- göndermek
- kıdemli
- ayrı
- hizmet vermek
- hizmet
- Servis Sağlayıcı
- Hizmetler
- servis
- set
- ayar
- ayarlar
- Shape
- Paylaşılan
- meli
- şov
- Gösteriler
- yan
- önemli ölçüde
- benzer
- Basit
- tek
- beden
- boyutları
- So
- çözüm
- Çözümler
- ÇÖZMEK
- Çözme
- biraz
- Kaynak
- uzmanlaşmış
- özel
- şartname
- Belirtilen
- geçirmek
- standart
- başlama
- XNUMX dakika içinde!
- Startups
- Eyalet
- Durum
- istikrarlı
- adım
- Basamaklar
- hafızası
- mağaza
- saklı
- basit
- dizi
- yapı
- başarılı
- böyle
- önermek
- uygun
- destek
- destekli
- Destekler
- Bizi daha iyi tanımak için
- takım
- teknikleri
- Teknolojileri
- Teknoloji
- söylemek
- şartlar
- göre
- o
- The
- Bilgi
- ve bazı Asya
- Onları
- sonra
- Orada.
- Bunlar
- onlar
- şey
- Re-Tweet
- Bu
- gerçi?
- üç
- eşik
- verim
- zaman
- için
- bugün
- birlikte
- Üst düzey
- geleneksel
- eğitilmiş
- Eğitim
- aktarma
- Seyahat
- ağaç
- Trendler
- Triton
- gerçek
- iki
- tip
- türleri
- tipik
- anlamak
- Yüklenen
- Yükleme
- us
- kullanım
- Kullanılmış
- kullanıcı
- kullanma
- kullanır
- Kullanılması
- değer
- Değerler
- çeşitli
- versiyon
- üzerinden
- vizyonumuz
- W
- beklemek
- istemek
- oldu
- izlerken
- Yol..
- we
- ağ
- web hizmetleri
- İYİ
- vardı
- Ne
- ne zaman
- her ne zaman
- olup olmadığını
- hangi
- süre
- irade
- ile
- içinde
- olmadan
- İş
- işlenmiş
- işçi
- çalışır
- olur
- XGBoost
- yıl
- Sen
- zefirnet
- zip