Täna alustame Amazon SageMaker järeldada AWS Graviton et saaksite kasutada Gravitoni kiipidest tulenevaid hinna, jõudluse ja tõhususe eeliseid.
Gravitonipõhised eksemplarid on SageMakeris mudeli järelduste tegemiseks saadaval. See postitus aitab teil migreerida ja juurutada masinõppe (ML) järelduste töökoormust x86-lt Gravitoni-põhistele eksemplaridele SageMakeris. Pakume samm-sammult juhendit teie SageMakeri koolitatud mudeli juurutamiseks Gravitoni-põhistele eksemplaridele, käsitleme Gravitoniga töötamise parimaid tavasid, arutame hinna ja toimivuse eeliseid ja tutvustame, kuidas TensorFlow mudelit SageMaker Gravitoni eksemplaril juurutada.
Lühiülevaade Gravitonist
AWS Graviton on AWS-i loodud protsessorite perekond, mis pakub parimat hinna ja kvaliteedi suhet ning on energiasäästlikumad kui nende x86 analoogid. AWS Graviton 3 protsessorid on Gravitoni protsessorite perekonna uusimad ja optimeeritud ML-töökoormuste jaoks, sealhulgas bfloat16 tugi ja kahekordne SIMD (Single Instruction Multiple Data) ribalaius. Kui need kaks funktsiooni kombineerida, võib Graviton 3 pakkuda kuni kolm korda paremat jõudlust võrreldes Graviton 2 eksemplaridega. Graviton 3 kasutab sama jõudluse saavutamiseks kuni 60% vähem energiat Amazon Elastic Compute Cloud (Amazon EC2) juhtudel. See on suurepärane funktsioon, kui soovite vähendada oma süsiniku jalajälge ja saavutada oma jätkusuutlikkuse eesmärgid.
Lahenduse ülevaade
Mudelite juurutamiseks Gravitoni eksemplaridesse kasutage kas AWS-i süvaõppekonteinerid or kaasa oma konteinerid ühildub Arm v8.2 arhitektuuriga.
Teie mudelite üleviimine (või uus juurutamine) x86 toega eksemplaridelt Gravitoni eksemplaridesse on lihtne, kuna AWS pakub PyTorchi, TensorFlow, Scikit-learni ja XGBoostiga mudelite hostimiseks konteinereid ning mudelid on arhitektuuriagnostikud. Sellegipoolest, kui olete nõus oma teegid kaasa võtma, saate seda ka teha, lihtsalt veenduge, et teie konteiner on ehitatud keskkonnas, mis toetab Arm64 arhitektuuri. Lisateabe saamiseks vt Oma algoritmikonteineri ehitamine.
Mudeli juurutamiseks peate tegema kolm sammu.
- SageMakeri mudeli loomine: see sisaldab muude parameetrite hulgas teavet mudelifaili asukoha, juurutamiseks kasutatava konteineri ja järeldusskripti asukoha kohta. (Kui teil on olemasolev mudel juba x86-põhises järelduseksemplaris juurutatud, võite selle sammu vahele jätta.)
- Lõpp-punkti konfiguratsiooni loomine: see sisaldab teavet lõpp-punkti jaoks soovitud eksemplari tüübi kohta (nt ml.c7g.xlarge Graviton3 jaoks), 1. sammus loodud mudeli nime ja eksemplaride arvu kohta. lõpp-punkt.
- Käivitage lõpp-punkt 2. sammus loodud lõpp-punkti konfiguratsiooniga.
Eeldused
Enne alustamist kaaluge järgmisi eeltingimusi:
- Täitke punktis loetletud eeltingimused Eeldused.
- Teie mudel peaks olema PyTorchi, TensorFlow, XGBoost või Scikit-learn-põhine mudel. Järgmises tabelis on kokkuvõte selle kirjutamise seisuga praegu toetatud versioonidest. Viimaste värskenduste saamiseks vaadake SageMakeri raamistiku konteinerid (ainult SM-i tugi).
. Python TensorFlow PyTorch Scikit-õppida XGBoost Toetatud versioonid 3.8 2.9.1 1.12.1 1.0-1 1.3-1 kuni 1.5-1 - Järeldusskript on salvestatud Amazoni lihtne salvestusteenus (Amazon S3).
Järgmistes jaotistes tutvustame teile juurutamisetappe.
Looge SageMakeri mudel
Kui teil on olemasolev mudel juba x86-põhises järelduseksemplaris juurutatud, võite selle sammu vahele jätta. Muul juhul järgige SageMakeri mudeli loomiseks järgmisi samme.
- Otsige üles mudel, mille salvestasite S3 ämbrisse. Kopeerige URI.
Mudeli URI-d kasutate hiljemMODEL_S3_LOCATION
. - Tuvastage mudelikoolituse käigus kasutatud raamistiku versioon ja Pythoni versioon.
Peate valima konteineri saadaolevate AWS-i süvaõppekonteinerite loendist vastavalt oma raamistikule ja Pythoni versioonile. Lisateabe saamiseks vaadake Tutvustame Amazon ECR-i jaoks mõeldud mitme arhitektuuriga konteineripilte. - Leidke S3 ämbrist järeldus Pythoni skripti URI (tavaline failinimi on
inference.py
).
Järeldusskripti URI on vajalik failisINFERENCE_SCRIPT_S3_LOCATION
. - Nende muutujate abil saate SageMaker API-le helistada järgmise käsuga:
Saate luua ka mitme arhitektuuriga pilte ja kasutada sama pilti, kuid erinevate siltidega. Saate näidata, millisel arhitektuuril teie eksemplar juurutatakse. Lisateabe saamiseks vaadake Tutvustame Amazon ECR-i jaoks mõeldud mitme arhitektuuriga konteineripilte.
Looge lõpp-punkti konfiguratsioon
Pärast mudeli loomist peate looma lõpp-punkti konfiguratsiooni, käivitades järgmise käsu (pange tähele, millist tüüpi eksemplari me kasutame):
Järgmine ekraanipilt näitab lõpp-punkti konfiguratsiooni üksikasju SageMakeri konsoolis.
Käivitage lõpp-punkt
Eelmises etapis loodud lõpp-punkti konfiguratsiooniga saate lõpp-punkti juurutada:
Oodake, kuni teie mudeli lõpp-punkt on juurutatud. Ennustusi saab taotleda samal viisil, nagu taotlete ennustusi x86-põhistes eksemplarides juurutatud lõpp-punktide jaoks.
Järgmine ekraanipilt näitab teie lõpp-punkti SageMakeri konsoolil.
Mida toetatakse
SageMaker pakub jõudlusele optimeeritud Gravitoni süvakonteinereid TensorFlow ja PyTorchi raamistike jaoks. Need konteinerid toetavad arvutinägemist, loomuliku keele töötlemist, soovitusi ja üldiseid sügavaid ja laiaulatuslikke mudelipõhiseid järelduste kasutusjuhtumeid. Lisaks süvaõppe konteineritele pakub SageMaker konteinereid ka klassikaliste ML-i raamistike jaoks, nagu XGBoost ja Scikit-learn. Konteinerid on c6g/m6g ja c7g eksemplaride vahel binaarselt ühilduvad, mistõttu on järeldusrakenduse üleviimine ühelt põlvkonnalt teisele sujuv.
C6g/m6g toetab fp16 (pooltäpne ujuki) ja ühilduvate mudelite jaoks tagab samaväärse või parema jõudluse võrreldes c5 eksemplaridega. C7g suurendab oluliselt ML jõudlust, kahekordistades SIMD laiust ja toetades bfloat-16 (bf16), mis on teie mudelite käitamiseks kõige kuluefektiivsem platvorm.
Nii c6g/m6g kui ka c7g pakuvad klassikalise ML-i jaoks (näiteks XGBoost) head jõudlust võrreldes teiste SageMakeri CPU eksemplaridega. Bfloat-16 tugi c7g-l võimaldab tõhusalt juurutada bf16 koolitatud või AMP (Automatic Mixed Precision) koolitusega mudeleid. Gravitoni Arm Compute Library (ACL) taustaprogramm pakub bfloat-16 tuumasid, mis võivad kiirendada isegi fp32 operaatoreid kiire matemaatikarežiimi kaudu ilma mudeli kvantimiseta.
Soovitatavad parimad tavad
Gravitoni eksemplaridel on iga vCPU füüsiline tuum. Ühiste protsessoriressursside pärast pole vaidlust (erinevalt SMT-st) ja töökoormuse jõudluse skaleerimine on iga vCPU lisamise korral lineaarne. Seetõttu on soovitatav kasutada partii järeldust alati, kui kasutusjuhtum seda võimaldab. See võimaldab vCPU-sid tõhusalt kasutada, töödeldes paralleelselt iga füüsilise tuuma partii. Kui partii järeldamine pole võimalik, on vajalik antud kasuliku koormuse jaoks optimaalne eksemplari suurus, et OS-i lõime ajastamise üldkulud ei kaaluks üles täiendavate vCPU-dega kaasnevat arvutusvõimsust.
TensorFlow on vaikimisi Eigeni tuumadega ja kõige optimeeritud järelduste taustaprogrammi saamiseks on soovitatav lülituda OneDNN-ile koos ACL-iga. Konteinerteenuse käivitamisel saab lubada OneDNN-i taustaprogrammi ja kiire matemaatikarežiimi bfloat-16:
Eelnev teeninduskäsk majutab standardset resnet50 mudelit kahe olulise konfiguratsiooniga:
Need saab edastada järelduskonteinerisse järgmisel viisil:
Kasutuselevõtu näide
Selles postituses näitame teile, kuidas juurutada SageMakeris koolitatud TensorFlow mudelit Gravitoni toega SageMakeri järelduseksemplarile.
Koodinäidise saate käivitada kas SageMakeri märkmiku eksemplaris või Amazon SageMaker Studio sülearvuti või Jupyteri sülearvuti kohalikus režiimis. Kui kasutate Jupyteri sülearvutit kohalikus režiimis, peate hankima SageMakeri täitmisrolli.
Järgmine näide käsitleb CIFAR-10 andmekogumit. Saate järgida märkmiku näidet SageMakeri näidetest GitHub repo selles postituses kasutatud mudeli reprodutseerimiseks. Kasutame koolitatud mudelit ja cifar10_keras_main.py Pythoni skript järelduste tegemiseks.
Mudelit hoitakse S3 ämbris: s3://aws-ml-blog/artifacts/run-ml-inference-on-graviton-based-instances-with-amazon-sagemaker/model.tar.gz
. cifar10_keras_main.py
skript, mida saab järelduste tegemiseks kasutada, on salvestatud aadressil:s3://aws-ml-blog/artifacts/run-ml-inference-on-graviton-based-instances-with-amazon-sagemaker/script/cifar10_keras_main.py
Me kasutame us-east-1
Piirige ja juurutage mudel ml.c7g.xlarge Gravitoni-põhises eksemplaris. Selle põhjal on meie AWS-i süvaõppe konteineri URI 763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-inference-graviton:2.9.1-cpu-py38-ubuntu20.04-sagemaker
- Seadistage järgmise koodiga:
- Laadige alla andmestik lõpp-punkti testimiseks:
- Looge mudel ja lõpp-punkti konfiguratsioon ning juurutage lõpp-punkt:
- Soovi korral saate lisada oma järeldusskripti
Environment
increate_model
kui te ei lisanud seda algselt oma SageMakeri mudelile treeningu ajal artefaktina:Peate paar minutit ootama, kuni juurutamine toimub.
- Kontrollige lõpp-punkti olekut järgmise koodiga:
Võite ka kontrollida AWS-i juhtimiskonsool et näha, millal teie mudel kasutusele võetakse.
- Seadistage käituskeskkond lõpp-punktide kutsumiseks:
Nüüd valmistame kasuliku koormuse lõpp-punkti käivitamiseks. Kasutame sama tüüpi pilte, mida modelli koolitamisel. Need laaditi alla eelmiste sammude käigus.
- Kandke kasulik koormus tensoritesse ja määrake õige vorming, mida mudel ootab. Selle näite puhul taotleme ainult ühte ennustust.
Mudeli väljundi saame massiivina.
- Saame selle väljundi muuta tõenäosusteks, kui rakendame sellele softmaxi:
Puhastage ressursse
Selle lahendusega seotud teenused põhjustavad kulusid. Kui olete selle lahenduse kasutamise lõpetanud, puhastage järgmised ressursid.
Hinna ja kvaliteedi võrdlus
Gravitonipõhised eksemplarid pakuvad x86-põhiste eksemplaridega võrreldes madalaimat hinda ja parimat hinna ja kvaliteedi suhet. Sarnaselt EC2 eksemplaridele pakuvad SageMakeri järelduse lõpp-punktid ml.c6g eksemplaridega (Graviton 2) võrreldes ml.c20-ga 5% madalamat hinda ja Graviton 3 ml.c7g eksemplarid on 15% odavamad kui ml.c6 eksemplarid. Lisateabe saamiseks vaadake Amazon SageMakeri hinnakujundus.
Järeldus
Selles postituses tutvustasime äsja käivitatud SageMakeri võimalust mudelite juurutamiseks Gravitoni toega järeldusjuhtumites. Andsime teile juhiseid parimate tavade kohta ja arutasime lühidalt uut tüüpi järeldusjuhtumite hinna ja toimivuse eeliseid.
Gravitoni kohta lisateabe saamiseks vaadake AWS Graviton protsessor. Saate alustada AWS Gravitonipõhiste EC2 eksemplaridega Amazon EC2 konsoolil ja viidates AWS Gravitoni tehniline juhend. Selles ajaveebi postituses oleva näidiskoodi abil saate Gravitoni kohta järelduste tegemiseks juurutada Sagemakeri mudeli lõpp-punkti.
Autoritest
Victor Jaramillo, PhD on AWS Professional Services masinõppe vaneminsener. Enne AWS-i oli ta ülikooli professor ja ennustava hoolduse teadur. Vabal ajal naudib ta mootorrattaga sõitmist ja mootorratta mehaanika isetegemist.
Zmnako Awrahman, PhD on praktikajuht, ML SME ja masinõppe tehnilise valdkonna kogukonna (TFC) liige Amazon Web Servicesis. Ta aitab klientidel andmeanalüütika ja masinõppe abil oma andmetest väärtust ammutada.
Sunita Nadampalli on AWS-i tarkvaraarenduse juht. Ta juhib Gravitoni tarkvara jõudluse optimeerimist masinate kaldumise, HPC ja multimeedia töökoormuse jaoks. Ta on kirglik avatud lähtekoodiga arendustegevuse ja Arm SoC-dega kuluefektiivsete tarkvaralahenduste pakkumise vastu.
Johna Liu on Amazon SageMakeri meeskonna tarkvaraarenduse insener. Tema praegune töö keskendub sellele, et aidata arendajatel masinõppemudeleid tõhusalt hostida ja järelduste toimivust parandada. Ta on kirglik ruumiandmete analüüsi ja AI kasutamise vastu ühiskondlike probleemide lahendamiseks.
Alan Tan on SageMakeri vanem tootejuht, kes juhib jõupingutusi suurte mudelite järelduste tegemisel. Ta on kirglik masinõppe rakendamisest analüütika valdkonnas. Väljaspool tööd naudib ta õues olemist.
- AI
- ai kunst
- ai kunsti generaator
- on robot
- Amazon SageMaker
- tehisintellekti
- tehisintellekti sertifikaat
- tehisintellekt panganduses
- tehisintellekti robot
- tehisintellekti robotid
- tehisintellekti tarkvara
- AWS-i süvaõppe AMI-d
- AWS-i masinõpe
- parimaid tavasid
- blockchain
- plokiahela konverents ai
- coingenius
- vestluslik tehisintellekt
- krüptokonverents ai
- dall's
- sügav õpe
- google ai
- masinõpe
- Platon
- plato ai
- Platoni andmete intelligentsus
- Platoni mäng
- PlatoData
- platogaming
- skaala ai
- süntaks
- Tehniline juhend
- Tensorflow AWS-is
- sephyrnet