Az egyik legnépszerűbb ma elérhető modell az XGBoost. Az XGBoost különféle problémák, például osztályozás és regresszió megoldásának képességével népszerű opcióvá vált, amely szintén a fa alapú modellek kategóriájába tartozik. Ebben a bejegyzésben mélyre ásunk, hogy lássuk, hogyan Amazon SageMaker segítségével tudja kiszolgálni ezeket a modelleket NVIDIA Triton következtetés szerver. A valós idejű következtetési munkaterhelések eltérő szintű követelményekkel és szolgáltatási szintű megállapodásokkal (SLA-k) rendelkezhetnek a késleltetés és az átviteli sebesség tekintetében, és teljesíthetők a SageMaker valós idejű végpontjaival.
A SageMaker biztosítja egyetlen modell végpontjai, amelyek lehetővé teszik egyetlen gépi tanulási (ML) modell üzembe helyezését egy logikai végponttal szemben. Más felhasználási esetekben dönthet úgy, hogy a költségeket és a teljesítményt a használatával kezeli több modellből álló végpontok, amelyek lehetővé teszik több modell megadását egy logikai végpont mögött. Függetlenül attól, hogy melyik opciót választja, a SageMaker végpontok méretezhető mechanizmust tesznek lehetővé még a legigényesebb vállalati ügyfelek számára is, miközben értéket biztosítanak számos szolgáltatásban, beleértve árnyékváltozatok, automatikus méretezés, és natív integrációval amazonfelhőóra (további információért lásd CloudWatch metrikák többmodell végpont-telepítésekhez).
A Triton különféle háttérprogramokat támogat motorként, hogy támogassa a különféle ML modellek futtatását és kiszolgálását következtetések levonására. Bármilyen Triton-telepítésnél kulcsfontosságú tudnia, hogy a háttérrendszer viselkedése hogyan befolyásolja a munkaterhelést, és mire számíthat, hogy sikeres legyen. Ebben a bejegyzésben segítünk megérteni a Forest Inference Library (FIL) háttérrendszer, amelyet a Triton a SageMakeren támogat, így megalapozott döntést hozhat a terhelése alapján, és a lehető legjobb teljesítmény- és költségoptimalizálást érheti el.
Merüljön el a FIL háttérrendszerében
A Triton támogatja a FIL háttérrendszer fa modellek kiszolgálására, mint pl XGBoost, LightGBM, scikit elsajátítható Véletlen Erdő, RAPIDS cuML Random Forest, és bármely más által támogatott modell Treelite. Ezeket a modelleket régóta használják olyan problémák megoldására, mint az osztályozás vagy a regresszió. Bár az ilyen típusú modellek hagyományosan CPU-kon futnak, ezeknek a modelleknek a népszerűsége és a következtetési igények különféle technikákhoz vezettek a következtetési teljesítmény növelésére. A FIL-háttérrendszer ezen technikák közül sokat használ cuML-konstrukciók használatával, és a C++-ra és a CUDA magkönyvtárra épül, hogy optimalizálja a GPU-gyorsítókon a következtetési teljesítményt.
A FIL háttérrendszer a cuML könyvtárait használja a CPU vagy GPU magok használatához a tanulás felgyorsítására. A processzorok használatához az adatokra hivatkoznak a gazdagép memóriájából (például NumPy tömbök) vagy GPU tömbökből (uDF, Numba, cuPY, vagy bármely olyan könyvtárból, amely támogatja a __cuda_array_interface__
) API. Az adatok memóriában való elhelyezése után a FIL-háttérrendszer az összes rendelkezésre álló CPU- vagy GPU-magon futtathatja a feldolgozást.
A FIL-háttér-szálak anélkül tudnak kommunikálni egymással, hogy a gazdagép megosztott memóriáját használnák, de az együttes munkaterheléseknél figyelembe kell venni a gazdagép memóriáját. A következő diagram egy ensemble ütemező futásidejű architektúrát mutat be, ahol lehetőség van a memóriaterületek finomhangolására, beleértve a CPU címezhető megosztott memóriát is, amelyet a Triton (C++) és a Python folyamat (Python háttérrendszer) közötti folyamatok közötti kommunikációhoz használnak. tenzorok (bemenet/kimenet) a FIL háttérprogrammal.
A Triton Inference Server konfigurálható lehetőségeket biztosít a fejlesztők számára a munkaterhelések hangolásához és a modell teljesítményének optimalizálásához. A konfiguráció dynamic_batching
lehetővé teszi a Triton számára, hogy kliensoldali kéréseket tartson és kötegeljen a szerver oldalon, hogy hatékonyan használja a FIL párhuzamos számításait a teljes köteg együttes következtetésére. Az opció max_queue_delay_microseconds
hibamentes szabályozást kínál arra vonatkozóan, mennyi ideig vár a Triton a köteg létrehozására.
Számos más FIL-specifikus is létezik rendelkezésre álló lehetőségek amelyek hatással vannak a teljesítményre és a viselkedésre. Javasoljuk, hogy kezdje storage_type
. Amikor a háttérrendszert GPU-n futtatja, a FIL új memória-/adatszerkezetet hoz létre, amely egy olyan fa reprezentációja, amelynél a FIL hatással lehet a teljesítményre és a lábnyomra. Ez a környezeti paraméterrel konfigurálható storage_type
, amely a sűrű, ritka és automatikus opciókat tartalmazza. A sűrű opció választása több GPU-memóriát fogyaszt, és nem mindig eredményez jobb teljesítményt, ezért érdemes ellenőrizni. Ezzel szemben a ritka opció kevesebb GPU-memóriát fogyaszt, és valószínűleg ugyanolyan jól vagy jobban teljesít, mint a sűrű. Az automatikus választással a modell alapértelmezés szerint sűrű lesz, kivéve, ha ez lényegesen több GPU-memóriát fogyaszt, mint a ritka.
Amikor a modell teljesítményéről van szó, érdemes lehet hangsúlyozni a threads_per_tree
választási lehetőség. Valós forgatókönyvek esetén az egyik dolog, amit túlzásba visz, az az threads_per_tree
nagyobb hatással lehet az átviteli sebességre, mint bármely más paraméter. A 2-es tetszőleges hatványra állítása 1 és 32 között jogos. Nehéz megjósolni ennek a paraméternek az optimális értékét, de ha a szerver várhatóan nagyobb terhelést vagy nagyobb kötegméreteket dolgoz fel, akkor általában nagyobb érték hasznára válik, mint amikor egyszerre néhány sort dolgoz fel.
Egy másik paraméter, amire figyelni kell algo
, amely akkor is elérhető, ha GPU-n fut. Ez a paraméter határozza meg a következtetési kérések feldolgozásához használt algoritmust. Az ehhez támogatott lehetőségek a következők ALGO_AUTO
, NAIVE
, TREE_REORG
és BATCH_TREE_REORG
. Ezek a beállítások határozzák meg a fán belüli csomópontok rendszerezését, és teljesítménynövekedést is eredményezhetnek. A ALGO_AUTO
opció alapértelmezés szerint NAIVE
ritkás tárolásra és BATCH_TREE_REORG
sűrű tároláshoz.
Végül a FIL Shapley magyarázóval érkezik, amely a következővel aktiválható treeshap_output
paraméter. Ne feledje azonban, hogy a Shapley kimenetei rontják a teljesítményt a kimeneti mérete miatt.
Modell formátum
Jelenleg nincs szabványos fájlformátum az erdő alapú modellek tárolására; minden keretrendszer saját formátumot határoz meg. A több bemeneti fájlformátum támogatása érdekében a FIL nyílt forráskóddal importálja az adatokat Treelite könyvtár. Ez lehetővé teszi a FIL számára, hogy támogassa a népszerű keretrendszerekben betanított modelleket, mint pl XGBoost és a LightGBM. Vegye figyelembe, hogy a megadott modell formátumát be kell állítani a model_type
-ban megadott konfigurációs érték config.pbtxt
fájlt.
Config.pbtxt
Minden modell a modell tároló tartalmaznia kell egy modellkonfigurációt, amely megadja a szükséges és választható információkat a modellről. Ezt a konfigurációt általában a config.pbtxt
néven megadott fájl ModelConfig protobuf. Ha többet szeretne megtudni a konfigurációs beállításokról, lásd: Modellkonfiguráció. Íme néhány modell konfigurációs paramétere:
- max_batch_size – Ez határozza meg az ehhez a modellhez továbbítható maximális tételméretet. Általánosságban elmondható, hogy a FIL-háttérrendszernek átadott kötegek méretének egyetlen korlátja a feldolgozásukhoz rendelkezésre álló memória. GPU-futtatások esetén a rendelkezésre álló memória mennyiségét a Triton CUDA memóriatárának mérete határozza meg, amely a szerver indításakor parancssori argumentum segítségével állítható be.
- bemenet – Az ebben a szakaszban található beállítások megadják a Tritonnak, hogy az egyes bemeneti mintákhoz hány szolgáltatást várjon.
- teljesítmény – Az ebben a szakaszban található opciók megadják a Tritonnak, hogy hány kimeneti érték lesz az egyes mintákhoz. Ha a
predict_proba
opció igazra van állítva, akkor minden osztályhoz egy valószínűségi értéket ad vissza. Ellenkező esetben egyetlen érték kerül visszaadásra, amely jelzi az adott mintára előre jelzett osztályt. - példány_csoport – Ez határozza meg, hogy ennek a modellnek hány példánya jön létre, és hogy ezek GPU-t vagy CPU-t fognak-e használni.
- modell_típus – Ez a karakterlánc jelzi, hogy a modell milyen formátumban van (
xgboost_json
ebben a példában, dexgboost
,lightgbm
éstl_checkpoint
érvényes formátumok is). - előre_proba – Ha igazra van állítva, a rendszer minden osztályhoz valószínűségi értékeket ad vissza, nem csak osztály-előrejelzést.
- output_class – Ez igaz az osztályozási modelleknél és hamis a regressziós modelleknél.
- küszöb – Ez egy ponthatár a besorolás meghatározásához. Amikor
output_class
igaz értékre van állítva, ezt meg kell adni, bár nem lesz használva, hapredict_proba
is igazra van állítva. - tárolási_típus – Általánosságban elmondható, hogy az AUTO használata ennél a beállításnál megfelel a legtöbb használati esetnek. Ha az AUTOMATIKUS tárhely van kiválasztva, a FIL a modell hozzávetőleges mérete alapján ritka vagy sűrű ábrázolással tölti be a modellt. Bizonyos esetekben érdemes lehet ezt kifejezetten SPARSE-ra állítani, hogy csökkentse a nagy modellek memóriaigényét.
Triton következtetési kiszolgáló a SageMakeren
SageMaker lehetővé teszi, hogy az NVIDIA Triton Inference Server segítségével egyetlen modellből és több modellből álló végpontokat is telepíthet. A következő ábra a Triton Inference Server magas szintű architektúráját mutatja. A modell tároló egy fájlrendszer alapú adattár azoknak a modelleknek, amelyeket a Triton elérhetővé tesz a következtetések levonására. A következtetési kérések a kiszolgálóhoz érkeznek, és a megfelelő modellenkénti ütemezőhöz kerülnek. Triton eszközök több ütemezési és kötegelési algoritmus amelyek modellenként konfigurálhatók. Az egyes modellek ütemezője opcionálisan végrehajtja a következtetési kérések kötegelt, majd átadja a kéréseket a backend a modell típusának megfelelő. A háttérrendszer következtetéseket hajt végre a kötegelt kérésekben megadott bemenetek segítségével a kért kimenetek előállításához. A kimenetek ezután visszakerülnek.
Amikor konfigurálja az automatikus skálázási csoportokat a SageMaker végpontokhoz, érdemes megfontolni SageMakerVariantInvocationsPerInstance
mint elsődleges kritérium az automatikus skálázási csoport skálázási jellemzőinek meghatározásához. Ezenkívül attól függően, hogy a modelljei GPU-n vagy CPU-n futnak, fontolóra veheti a CPUUtilization vagy a GPUUtilization használatát további kritériumként. Vegye figyelembe, hogy az egyetlen modell végpontjai esetében, mivel a telepített modellek mind egyformák, meglehetősen egyszerű megfelelő házirendeket beállítani, hogy megfeleljenek az SLA-knak. Több modellből álló végpontok esetén javasoljuk, hogy hasonló modelleket telepítsen egy adott végpont mögé, hogy egyenletesebb legyen a kiszámítható teljesítmény. Azokban az esetekben, amikor eltérő méretű és követelményű modelleket használnak, érdemes lehet ezeket a munkaterheléseket szétválasztani több több modellből álló végpont között, vagy eltölteni egy kis időt az automatikus skálázási csoportházirend finomhangolásával a legjobb költség- és teljesítményegyensúly elérése érdekében.
A SageMaker következtetés által támogatott NVIDIA Triton Deep Learning Containers (DLC-k) listáját lásd: Elérhető Deep Learning Containers képek.
SageMaker notebook áttekintése
Az ML alkalmazások összetettek, és gyakran adat-előfeldolgozást igényelnek. Ebben a jegyzetfüzetben belemerülünk egy faalapú ML-modell, például az XGBoost telepítésébe a Triton FIL-háttérprogramjával egy SageMaker többmodell-végponton. Kitérünk arra is, hogyan valósíthat meg Python-alapú adat-előfeldolgozási következtetési folyamatot a modelljéhez a Triton ensemble funkciójával. Ez lehetővé teszi számunkra, hogy a nyers adatokat az ügyféloldalról küldjük be, és az adatok előfeldolgozása és a modellkövetkeztetés is megtörténjen a Triton SageMaker végpontban az optimális következtetési teljesítmény érdekében.
Triton modell együttes jellemzője
A Triton Inference Server nagymértékben leegyszerűsíti az AI-modellek nagyszabású üzembe helyezését a termelésben. A Triton Inference Server egy kényelmes megoldást kínál, amely leegyszerűsíti az elő- és utófeldolgozási folyamatok felépítését. A Triton Inference Server platform biztosítja az ensemble ütemezőt, amely a következtetési folyamatban részt vevő modellek feldolgozásáért felelős, miközben biztosítja a hatékonyságot és optimalizálja az átvitelt. Az együttes modellek használatával elkerülhető a köztes tenzorok átvitelének többletköltsége, és minimalizálható a Tritonnak küldendő kérések száma.
Ebben a jegyzetfüzetben bemutatjuk, hogyan használhatjuk az ensemble funkciót az XGBoost modellkövetkeztetéssel adat-előfeldolgozási folyamat felépítéséhez, és ebből extrapolálva egyéni utófeldolgozást adhat a folyamathoz.
Állítsa be a környezetet
Kezdjük a szükséges környezet beállításával. Telepítjük a modellfolyamat csomagolásához szükséges függőségeket, és a Triton Inference Server segítségével következtetéseket futtatunk. Meghatározzuk azt is AWS Identity and Access Management (IAM) szerepkör, amely hozzáférést biztosít a SageMakernek a modelltermékekhez és az NVIDIA Tritonhoz Amazon Elastic Container Registry (Amazon ECR) kép. Lásd a következő kódot:
Hozzon létre egy Conda-környezetet a függőségek előfeldolgozásához
A Triton Python-háttérprogramja megköveteli, hogy a Conda környezetet az esetleges további függőségek számára. Ebben az esetben a Python-háttérprogramot használjuk a nyers adatok előfeldolgozására, mielőtt betápláljuk azokat a FIL-háttérrendszerben futó XGBoost-modellbe. Annak ellenére, hogy eredetileg a RAPIDS cuDF-et és a cuML-t használtuk az adatok előfeldolgozásához, itt a Pandákat és a scikit-learnt használjuk előfeldolgozási függőségként a következtetés során. Ezt három okból tesszük:
- Megmutatjuk, hogyan hozhat létre Conda-környezetet a függőségeihez, és hogyan csomagolja azt a formátum várható a Triton Python háttérprogramja.
- A Python-háttérben futó előfeldolgozási modell bemutatásával a CPU-n, míg az XGBoost a GPU-n fut a FIL-háttérrendszerben, bemutatjuk, hogy a Triton ensemble-folyamatának egyes modelljei hogyan futhatnak különböző keretrendszer-háttérrendszeren, valamint különböző hardverkonfigurációkon.
- Kiemeli, hogy a RAPIDS-könyvtárak (cuDF, cuML) hogyan kompatibilisek CPU-társaikkal (Pandas, scikit-learn). Például megmutathatjuk, hogyan
LabelEncoders
A cuML-ben létrehozott scikit-learnben használható és fordítva.
Követjük az utasításokat a Triton dokumentáció előfeldolgozási függőségek (scikit-learn és Pandas) csomagolásához, amelyeket a Python háttérrendszerben Conda környezeti TAR-fájlként kell használni. A bash script create_prep_env.sh létrehozza a Conda környezet TAR fájlját, majd áthelyezzük a preprocessing model könyvtárba. Lásd a következő kódot:
Miután futtattuk az előző szkriptet, létrejön preprocessing_env.tar.gz
, amelyet az előfeldolgozási könyvtárba másolunk:
Állítsa be az előfeldolgozást a Triton Python háttérprogrammal
Az előfeldolgozáshoz Triton-t használunk Python háttérrendszer táblázatos adat-előfeldolgozás (kategorikus kódolás) végrehajtása a szerverre érkező nyers adatkérések következtetése során. A képzés során végzett előfeldolgozással kapcsolatos további információkért tekintse meg a képzési jegyzetfüzet.
A Python-háttérprogram lehetővé teszi az előfeldolgozást, az utófeldolgozást és bármely más egyéni logika megvalósítását a Pythonban és a Tritonnal való kiszolgálását. A Triton SageMakeren való használatához először be kell állítanunk egy modelltár mappát, amely tartalmazza a kiszolgálni kívánt modelleket. Már felállítottunk egy modellt a Python adat-előfeldolgozáshoz, az úgynevezett preprocessing in cpu_model_repository
és a gpu_model_repository
.
A Tritonnak speciális követelményei vannak a modelltár elrendezésére vonatkozóan. A legfelső szintű modelltároló könyvtáron belül minden modellnek saját alkönyvtára van, amely tartalmazza a megfelelő modell információit. A Triton minden modellkönyvtárának tartalmaznia kell legalább egy numerikus alkönyvtárat, amely a modell egy verzióját képviseli. Az 1 érték a Python előfeldolgozási modellünk 1. verzióját jelöli. Minden modellt egy adott háttérprogram futtat, ezért minden verzió alkönyvtárában kell lennie az adott háttérrendszer által igényelt modell mellékterméknek. Ebben a példában a Python háttérprogramot használjuk, amely megköveteli, hogy a megjelenített Python-fájlt model.py-nek hívják, és a fájlnak implementálnia kell bizonyos funkciókat. Ha PyTorch háttérrendszert használunk, egy model.pt fájlra lenne szükség, és így tovább. A modellfájlok elnevezési konvencióival kapcsolatos további részletekért lásd: Modell fájlok.
A modell.py Az itt használt Python-fájl az összes táblázatos adat-előfeldolgozási logikát megvalósítja, hogy a nyers adatokat olyan funkciókká alakítsa, amelyek betáplálhatók az XGBoost modellünkbe.
Minden Triton modellnek biztosítania kell a config.pbtxt
a modell konfigurációját leíró fájl. Ha többet szeretne megtudni a konfigurációs beállításokról, lásd: Modellkonfiguráció. A config.pbtxt fájl megadja a háttérrendszert pythonként, és az összes bemeneti oszlopot a nyers adatokhoz, valamint az előfeldolgozott kimenetet, amely 15 szolgáltatásból áll. Azt is megadjuk, hogy ezt a Python-előfeldolgozási modellt a CPU-n szeretnénk futtatni. Lásd a következő kódot:
Állítson be egy faalapú ML-modellt a FIL-háttérrendszerhez
Ezután beállítjuk a modellkönyvtárat egy faalapú ML-modellhez, például az XGBoosthoz, amely a FIL háttérprogramot fogja használni.
A várt elrendezés a számára cpu_memory_repository
és a gpu_memory_repository
hasonlóak a korábban bemutatotthoz.
Itt, FIL
a modell neve. Adhatunk neki más nevet is, pl xgboost
ha akarjuk. 1
a verzió alkönyvtár, amely a modell melléktermékét tartalmazza. Ebben az esetben ez a xgboost.json
modell, amelyet elmentettünk. Készítsük el ezt a várt elrendezést:
Szükségünk van a konfigurációs fájlra config.pbtxt
leírja a fa alapú ML-modell modellkonfigurációját, hogy a Triton FIL-háttérprogramja megértse, hogyan kell kiszolgálni. További információkért tekintse meg a legújabb általános verziót Triton konfigurációs lehetőségek és a specifikus konfigurációs lehetőségeket FIL háttérrendszer. Ebben a példában csak néhányra összpontosítunk a leggyakoribb és legrelevánsabb lehetőségek közül.
Teremt config.pbtxt
mert model_cpu_repository
:
Hasonlóképpen állítsa be config.pbtxt
mert model_gpu_repository
(jegyezd meg a különbséget USE_GPU = True
):
Következtetési folyamat beállítása az adat-előfeldolgozó Python-háttér és a FIL-háttér számára együttesek segítségével
Most készen állunk a következtetési folyamat beállítására az adatok előfeldolgozásához és a fa alapú modellkövetkeztetéshez egy együttes modell. Az ensemble modell egy vagy több modellből álló csővezetéket és a bemeneti és kimeneti tenzorok kapcsolatát jelenti ezek között a modellek között. Itt az ensemble modellt használjuk egy adat-előfeldolgozási folyamat létrehozására a Python-háttérrendszerben, amelyet az XGBoost követ a FIL-háttérben.
A várható elrendezés a ensemble
modellkönyvtár hasonló a korábban bemutatottakhoz:
Megalkottuk az együttes modellt config.pbtxt című útmutatást követve Együttes modellek. Fontos, hogy be kell állítani az együttes ütemezőt config.pbtxt
, amely az együttesen belüli modellek közötti adatáramlást határozza meg. Az ensemble ütemező minden lépésben összegyűjti a kimeneti tenzorokat, és a specifikációnak megfelelően bemeneti tenzorként biztosítja a többi lépéshez.
Csomagolja be a modelltárat, és töltse fel az Amazon S3-ra
Végül a következő modelltár-könyvtár-struktúrát kapjuk, amely egy Python előfeldolgozási modellt és annak függőségeit, valamint az XGBoost FIL modellt és a modell együttest tartalmazza.
A könyvtárat és annak tartalmát a következőre csomagoljuk model.tar.gz
a feltöltéshez Amazon egyszerű tárolási szolgáltatás (Amazon S3). Ebben a példában két lehetőségünk van: CPU-alapú példány vagy GPU-alapú példány használata. A GPU-alapú példány megfelelőbb, ha nagyobb feldolgozási teljesítményre van szüksége, és CUDA magokat szeretne használni.
Hozza létre és töltse fel a modellcsomagot egy CPU-alapú példányhoz (CPU-ra optimalizálva) a következő kóddal:
Hozza létre és töltse fel a modellcsomagot egy GPU-alapú példányhoz (GPU-ra optimalizálva) a következő kóddal:
Hozzon létre egy SageMaker végpontot
A modellműtermékeket most egy S3-as vödörben tároljuk. Ebben a lépésben megadhatjuk a további környezeti változót is SAGEMAKER_TRITON_DEFAULT_MODEL_NAME
, amely megadja a Triton által betöltendő modell nevét. A kulcs értékének meg kell egyeznie az Amazon S3-ra feltöltött modellcsomagban található mappanévvel. Ez a változó nem kötelező egyetlen modell esetén. Ensemble modellek esetén ezt a kulcsot meg kell adni ahhoz, hogy a Triton elinduljon a SageMakerben.
Ezenkívül beállíthatja SAGEMAKER_TRITON_BUFFER_MANAGER_THREAD_COUNT
és a SAGEMAKER_TRITON_THREAD_COUNT
a szálak számának optimalizálásához.
Az előző modellt használjuk egy végpont konfiguráció létrehozására, ahol megadhatjuk a végpontban kívánt példányok típusát és számát.
Ezzel a végpont-konfigurációval létrehozunk egy SageMaker-végpontot, és megvárjuk, amíg a telepítés befejeződik. A SageMaker MME-knél lehetőségünk van több ensemble modell hosztolására a folyamat megismétlésével, de ennél a példánál maradunk egy telepítésnél:
Az állapot a következőre változik: InService
amikor a telepítés sikeres.
Hívja meg a SageMaker végponton tárolt modelljét
A végpont futása után néhány nyers mintaadatot használhatunk arra, hogy következtetést vonjunk le a JSON-t hasznos adatformátumként használva. A következtetési kérés formátumához a Triton a KFServing
közösségi szabvány következtetési protokollok. Lásd a következő kódot:
A blogban hivatkozott jegyzetfüzet a GitHub tárház.
Legjobb gyakorlatok
A korábban említett FIL-háttér beállításainak finomhangolási lehetőségei mellett az adatkutatók azt is biztosíthatják, hogy a háttérrendszer bemeneti adatait a motor általi feldolgozásra optimalizálják. Amikor csak lehetséges, az adatokat sor-nagy formátumban vigye be a GPU-tömbbe. Más formátumok belső átalakítást igényelnek, és ciklusokat vesznek igénybe, csökkentve a teljesítményt.
A GPU-memóriában a FIL-adatstruktúrák karbantartásának módja miatt ügyeljen a fa mélységére. Minél mélyebb a fa mélysége, annál nagyobb lesz a GPU memóriaterülete.
Használja a instance_group_count
paraméter munkafolyamatok hozzáadásához és a FIL-háttér átviteli sebességének növeléséhez, ami nagyobb CPU- és GPU-memóriafelhasználást eredményez. Ezenkívül vegye figyelembe a SageMaker-specifikus változókat, amelyek az átviteli sebesség növelésére állnak rendelkezésre, például a HTTP-szálak, a HTTP-puffer mérete, a kötegméret és a maximális késleltetés.
Következtetés
Ebben a bejegyzésben a FIL-háttérbe mélyedtünk, amelyet a Triton Inference Server támogat a SageMakeren. Ez a háttérprogram biztosítja a faalapú modellek CPU- és GPU-gyorsítását, például a népszerű XGBoost algoritmust. Számos lehetőség közül választhat, hogy a legjobb következtetéseket lehessen levonni, például a kötegméreteket, az adatbeviteli formátumokat és más olyan tényezőket, amelyek az Ön igényei szerint hangolhatók. A SageMaker lehetővé teszi, hogy ezt a képességet egyetlen és több modellből álló végpontokkal is használja a teljesítmény és a költségmegtakarítás egyensúlya érdekében.
Javasoljuk, hogy olvassa el az ebben a bejegyzésben található információkat, és nézze meg, hogy a SageMaker képes-e kielégíteni a tárhely-igényeit a faalapú modellek kiszolgálásához, és megfelel-e a költségcsökkentési és a munkaterhelési teljesítmény követelményeinek.
Az ebben a bejegyzésben hivatkozott jegyzetfüzet megtalálható a SageMaker példákban GitHub tárház. Ezenkívül megtalálhatja a FIL háttérprogramjának legújabb dokumentációját GitHub.
A szerzőkről
Raghu Ramesha az Amazon SageMaker Service csapatának vezető ML Solutions Architect. Arra összpontosít, hogy segítse az ügyfeleket az ML termelési munkaterhelések nagyarányú SageMaker-re való felépítésében, telepítésében és migrálásában. A gépi tanulás, a mesterséges intelligencia és a számítógépes látás tartományaira specializálódott, és az UT Dallas Egyetemen szerzett mesterfokozatot számítástechnikából. Szabadidejében szívesen utazik és fényképez.
James Parker az Amazon Web Services megoldástervezője. Együttműködik az Amazon.com-tal az AWS technológiai megoldások tervezésében, kiépítésében és üzembe helyezésében, és különösen érdeklődik az AI és a gépi tanulás iránt. Szabadidejében szívesen keres új kultúrákat, új tapasztalatokat, és naprakész marad a legújabb technológiai trendekkel.
Dhawal Patel az AWS vezető gépi tanulási építésze. Az elosztott számítástechnikával és a mesterséges intelligenciával kapcsolatos problémákon a nagyvállalatoktól a közepes méretű startupokig számos szervezettel dolgozott együtt. A mély tanulásra összpontosít, beleértve az NLP-t és a számítógépes látást. Segít az ügyfeleknek abban, hogy nagy teljesítményű modellkövetkeztetést érjenek el az Amazon SageMakeren.
Jiahong Liu az NVIDIA Cloud Service Provider csapatának megoldástervezője. Segíti az ügyfeleket a gépi tanulási és mesterséges intelligencia-megoldások elfogadásában, amelyek az NVIDIA gyorsított számítástechnikáját használják ki a képzési és következtetési kihívások megoldására. Szabadidejében szereti az origamit, a barkácsprojekteket és a kosárlabdát.
Kshitiz Gupta az NVIDIA megoldástervezője. Szívesen oktatja felhőügyfeleit az NVIDIA által kínált GPU AI-technológiákról, és segít nekik gépi tanulási és mély tanulási alkalmazásaik felgyorsításában. Munkán kívül szeret futni, túrázni és vadvilágot nézni.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoAiStream. Web3 adatintelligencia. Felerősített tudás. Hozzáférés itt.
- A jövő pénzverése – Adryenn Ashley. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/hosting-ml-models-on-amazon-sagemaker-using-triton-xgboost-lightgbm-and-treelite-models/
- :van
- :is
- :nem
- :ahol
- $ UP
- 1
- 100
- 11
- 13
- 200
- 23
- 24
- 7
- 8
- 9
- a
- képesség
- Rólunk
- gyorsul
- felgyorsult
- gyorsuló
- gyorsítók
- hozzáférés
- Szerint
- Eszerint
- Fiók
- Elérése
- át
- hozzá
- mellett
- További
- cím
- címezhető
- Elfogadása
- Után
- ellen
- megállapodások
- AI
- algoritmus
- Minden termék
- juttatások
- lehetővé
- lehetővé teszi, hogy
- mentén
- már
- Is
- Bár
- mindig
- amazon
- Amazon SageMaker
- Az Amazon Web Services
- Amazon.com
- összeg
- an
- és a
- bármilyen
- api
- alkalmazások
- megfelelő
- építészet
- VANNAK
- területek
- érv
- Sor
- mesterséges
- mesterséges intelligencia
- AS
- segítséget nyújt
- At
- auto
- elérhető
- elkerülése érdekében
- AWS
- háttér
- Egyenleg
- alapján
- horpadás
- alap
- Kosárlabda
- BE
- mert
- válik
- óta
- előtt
- kezdődik
- mögött
- lent
- haszon
- BEST
- Jobb
- között
- nagyobb
- Blog
- test
- mindkét
- ütköző
- épít
- Épület
- épült
- de
- by
- C + +
- hívott
- TUD
- kártya
- eset
- esetek
- Kategória
- Okoz
- kihívások
- változik
- jellemzők
- ellenőrizze
- csip
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- választja
- Város
- osztály
- besorolás
- vásárló
- ügyfél részére
- felhő
- kód
- Oszlopok
- COM
- jön
- érkező
- Közös
- kommunikálni
- közlés
- közösség
- összeegyeztethető
- bonyolult
- számítás
- számítógép
- Computer Science
- Számítógépes látás
- számítástechnika
- Configuration
- kapcsolat
- Fontolja
- figyelembe vett
- fogyaszt
- fogyasztás
- Konténer
- Konténerek
- tartalmaz
- tartalom
- kontraszt
- ellenőrzés
- Kényelmes
- Átalakítás
- megtérít
- Mag
- Megfelelő
- Költség
- költségcsökkentés
- költségmegtakarítás
- terjed
- teremt
- készítette
- teremt
- kritériumok
- kritikus
- Jelenleg
- szokás
- Ügyfelek
- ciklusok
- Dallas
- dátum
- találka
- nap
- üzlet
- döntés
- mély
- mély tanulás
- mélyebb
- alapértelmezett
- alapértelmezett
- Fok
- késleltetés
- igényes
- igények
- attól
- telepíteni
- telepített
- bevezetéséhez
- bevetés
- mélység
- Design
- részletek
- Határozzuk meg
- eltökélt
- meghatározza
- meghatározó
- fejlesztők
- különbség
- különböző
- megosztott
- elosztott számítástechnika
- diy
- do
- dokumentáció
- Nem
- Ennek
- domainek
- csinált
- galamb
- két
- alatt
- minden
- Korábban
- nevelése
- hatékonyság
- eredményesen
- bármelyik
- hangsúlyozva
- lehetővé teszi
- ösztönzése
- végén
- Endpoint
- Motor
- Motorok
- biztosítására
- biztosítása
- Vállalkozás
- Vállalatok
- Egész
- Környezet
- hibák
- Még
- Minden
- példa
- példák
- cseréje
- vár
- várható
- Tapasztalatok
- export
- tényezők
- meglehetősen
- Vízesés
- hamis
- Funkció
- Jellemzők
- Fed
- táplálás
- kevés
- Ábra
- filé
- Fájlok
- Találjon
- befejezni
- vezetéknév
- áramlási
- Összpontosít
- koncentrál
- következik
- követ
- következő
- Lábnyom
- A
- forma
- formátum
- talált
- Keretrendszer
- keretek
- csalás
- Ingyenes
- ból ből
- Továbbá
- Nyereség
- általános
- generál
- kap
- Ad
- adott
- GPU
- nagymértékben
- Csoport
- Csoportok
- útmutatást
- történik
- Kemény
- hardver
- Legyen
- he
- segít
- segít
- segít
- itt
- magas szinten
- nagy teljesítményű
- <p></p>
- kiemeli
- övé
- tart
- tart
- vendéglátó
- házigazdája
- tárhely
- Hogyan
- How To
- azonban
- HTML
- http
- HTTPS
- Fáj
- Identitás
- ids
- IDX
- if
- kép
- Hatás
- Hatások
- végre
- végre
- munkagépek
- behozatal
- in
- tartalmaz
- Beleértve
- Növelje
- jelzi
- információ
- tájékoztatták
- bemenet
- telepíteni
- példa
- utasítás
- integráció
- Intelligencia
- kamat
- belső
- bele
- IT
- ITS
- jpg
- json
- éppen
- Tart
- Kulcs
- Kedves
- Ismer
- nagy
- Nagy vállalkozások
- nagyobb
- Késleltetés
- legutolsó
- elrendezés
- TANUL
- tanulás
- legkevésbé
- Led
- jogos
- kevesebb
- szint
- szintek
- Tőkeáttétel
- könyvtárak
- könyvtár
- mint
- LIMIT
- vonal
- Lista
- kiszámításának
- logika
- logikus
- Hosszú
- gép
- gépi tanulás
- csinál
- kezelése
- sok
- mester
- Mérkőzés
- max
- maximális
- Lehet..
- mechanizmus
- Találkozik
- találkozó
- Memory design
- említett
- Kereskedő
- Metrics
- esetleg
- vándorol
- bánja
- ML
- Mód
- modell
- modellek
- Hónap
- több
- a legtöbb
- Legnepszerubb
- mozog
- Többmodell végpont
- többszörös
- kell
- név
- elnevezési
- bennszülött
- Szükség
- igények
- Új
- NLP
- nem
- csomópontok
- jegyzetfüzet
- Most
- szám
- számtalan
- Nvidia
- szerez
- of
- ajánlat
- Ajánlatok
- gyakran
- on
- ONE
- azok
- csak
- nyílt forráskódú
- optimálisan
- optimalizálás
- Optimalizálja
- optimalizált
- optimalizálása
- opció
- Opciók
- or
- érdekében
- szervezetek
- Szervezett
- eredetileg
- OS
- Más
- másképp
- mi
- ki
- teljesítmény
- kívül
- saját
- csomag
- csomagolás
- pandák
- Párhuzamos
- paraméter
- paraméterek
- részt vevő
- különös
- Elmúlt
- bérletek
- ösvény
- Teljesít
- teljesítmény
- Előadja
- engedély
- fényképezés
- csővezeték
- emelvény
- Plató
- Platón adatintelligencia
- PlatoData
- játék
- kérem
- rengeteg
- Politikák
- politika
- medence
- Népszerű
- népszerűség
- lehetséges
- esetleg
- állás
- hatalom
- előre
- Kiszámítható
- jósolt
- előrejelzés
- Tippek
- korábban
- elsődleges
- Fő
- problémák
- folyamat
- Folyamatok
- feldolgozás
- Feldolgozási teljesítmény
- processzorok
- gyárt
- Termelés
- projektek
- megfelelő
- Proto
- ad
- feltéve,
- ellátó
- biztosít
- amely
- Piton
- pytorch
- véletlen
- kezdve
- Inkább
- Nyers
- kész
- való Világ
- real-time
- miatt
- ajánl
- csökkenteni
- említett
- Tekintet nélkül
- vidék
- összefüggő
- cserélni
- raktár
- képviselet
- képviselő
- jelentése
- kérni
- kéri
- szükség
- kötelező
- követelmények
- megköveteli,
- válasz
- felelős
- eredményez
- Eredmények
- Szerep
- futás
- futás
- s
- sagemaker
- SageMaker következtetés
- azonos
- Megtakarítás
- skálázható
- Skála
- skálázás
- forgatókönyvek
- ütemezés
- Tudomány
- tudósok
- scikit elsajátítható
- pontszám
- Rész
- lát
- keres
- kiválasztott
- küld
- idősebb
- különálló
- szolgál
- szolgáltatás
- Szolgáltató
- Szolgáltatások
- szolgáló
- készlet
- beállítás
- beállítások
- Alak
- megosztott
- kellene
- előadás
- Műsorok
- oldal
- jelentősen
- hasonló
- Egyszerű
- egyetlen
- Méret
- méretek
- So
- megoldások
- Megoldások
- SOLVE
- Megoldása
- néhány
- forrás
- specializálódott
- különleges
- leírás
- meghatározott
- költ
- standard
- kezdet
- Kezdve
- Startups
- Állami
- Állapot
- állandó
- Lépés
- Lépései
- tárolás
- tárolni
- memorizált
- egyértelmű
- Húr
- struktúra
- sikeres
- ilyen
- javasol
- megfelelő
- támogatás
- Támogatott
- Támogatja
- Vesz
- csapat
- technikák
- Technologies
- Technológia
- mondd
- feltételek
- mint
- hogy
- A
- az információ
- azok
- Őket
- akkor
- Ott.
- Ezek
- ők
- dolog
- ezt
- azok
- bár?
- három
- küszöb
- áteresztőképesség
- idő
- nak nek
- Ma
- együtt
- felső szint
- hagyományosan
- kiképzett
- Képzések
- Átadó
- Utazó
- fa
- Trends
- Triton
- igaz
- kettő
- típus
- típusok
- jellemzően
- megért
- feltöltve
- Feltöltés
- us
- használ
- használt
- használó
- segítségével
- hasznosítja
- kihasználva
- érték
- Értékek
- különféle
- változat
- keresztül
- látomás
- W
- várjon
- akar
- volt
- őrzés
- Út..
- we
- háló
- webes szolgáltatások
- JÓL
- voltak
- Mit
- amikor
- bármikor
- vajon
- ami
- míg
- lesz
- val vel
- belül
- nélkül
- Munka
- dolgozott
- munkás
- művek
- lenne
- XGBoost
- év
- te
- A te
- zephyrnet
- Postai irányítószám