În 2021, ne-am lansat Servicii proactive de asistență AWS Ca parte a Asistență AWS Enterprise plan. De la introducerea sa, am ajutat sute de clienți să-și optimizeze sarcinile de lucru, să stabilească balustrade și să îmbunătățească vizibilitatea costurilor și utilizării sarcinilor de învățare automată (ML).
În această serie de postări, împărtășim lecțiile învățate despre optimizarea costurilor în Amazon SageMaker. În Partea 1, am arătat cum să începeți să utilizați AWS Cost Explorer pentru a identifica oportunitățile de optimizare a costurilor în SageMaker. În această postare, ne concentrăm pe mediile de inferență SageMaker: inferență în timp real, transformare batch, inferență asincronă și inferență fără server.
SageMaker oferă mai multe opțiuni de inferență din care puteți alege în funcție de cerințele dvs. de volum de muncă:
- Inferință în timp real pentru cerințe online, latență scăzută sau debit mare
- Transformarea lotului pentru procesare offline, programată și când nu aveți nevoie de un punct final persistent
- Inferență asincronă pentru atunci când aveți sarcini utile mari cu timpi lungi de procesare și doriți să puneți cereri în coadă
- Inferență fără server pentru atunci când aveți modele de trafic intermitente sau imprevizibile și puteți tolera pornirile la rece
În secțiunile următoare, vom discuta fiecare opțiune de inferență mai detaliat.
SageMaker inferență în timp real
Când creați un punct final, SageMaker atașează un Magazin Amazon Elastic Block (Amazon EBS) volumul de stocare la Cloud Elastic de calcul Amazon (Amazon EC2) instanță care găzduiește punctul final. Acest lucru este valabil pentru toate tipurile de instanțe care nu vin cu un spațiu de stocare SSD. Deoarece tipurile de instanțe d* vin cu o stocare SSD NVMe, SageMaker nu atașează un volum de stocare EBS la aceste instanțe de calcul ML. A se referi la Volume de stocare a instanțelor gazdă pentru dimensiunea volumelor de stocare pe care SageMaker le atașează pentru fiecare tip de instanță pentru un punct final unic și pentru un punct final cu mai multe modele.
Costul punctelor finale în timp real SageMaker se bazează pe oră de instanță consumată pentru fiecare instanță în timp ce punctul final este în funcțiune, costul lunii GB de stocare asigurată (volum EBS), precum și pe datele GB procesate în și în afara a instanței punctului final, așa cum este subliniat în Prețuri Amazon SageMaker. În Cost Explorer, puteți vizualiza costurile punctului final în timp real, aplicând un filtru pentru tipul de utilizare. Numele acestor tipuri de utilizare sunt structurate după cum urmează:
REGION-Host:instanceType
(de exemplu,USE1-Host:ml.c5.9xlarge
)REGION-Host:VolumeUsage.gp2
(de exemplu,USE1-Host:VolumeUsage.gp2
)REGION-Hst:Data-Bytes-Out
(de exemplu,USE2-Hst:Data-Bytes-In
)REGION-Hst:Data-Bytes-Out
(de exemplu,USW2-Hst:Data-Bytes-Out)
După cum se arată în următoarea captură de ecran, filtrarea după tipul de utilizare Host:
va afișa o listă de tipuri de utilizare a găzduirii în timp real într-un cont.
Puteți fie să selectați anumite tipuri de utilizare, fie să selectați Selectați Toate Și alegeți Aplică pentru a afișa defalcarea costurilor utilizării în timp real a găzduirii SageMaker. Pentru a vedea defalcarea costurilor și a utilizării în funcție de orele de instanță, trebuie să deselectați toate REGION-Host:VolumeUsage.gp2
tipuri de utilizare înainte de a aplica filtrul tip de utilizare. De asemenea, puteți aplica filtre suplimentare, cum ar fi numărul de cont, tipul de instanță EC2, eticheta de alocare a costurilor, regiunea și mai mult. Următoarea captură de ecran arată grafice de cost și utilizare pentru tipurile de utilizare a găzduirii selectate.
În plus, puteți explora costul asociat cu una sau mai multe instanțe de găzduire utilizând Tipul instanței filtru. Următoarea captură de ecran arată defalcarea costurilor și a utilizării pentru instanța de găzduire ml.p2.xlarge.
În mod similar, costul pentru datele GB procesate și procesate poate fi afișat selectând tipurile de utilizare asociate ca filtru aplicat, așa cum se arată în următoarea captură de ecran.
După ce ați obținut rezultatele dorite cu filtre și grupări, puteți fie să descărcați rezultatele alegând Descărcați ca CSV sau salvați raportul alegând Salvați în biblioteca de rapoarte. Pentru îndrumări generale despre utilizarea Cost Explorer, consultați Noul aspect și cazuri comune de utilizare ale AWS Cost Explorer.
Opțional, puteți activa Rapoarte de cost și utilizare AWS (AWS CUR) pentru a obține informații despre costurile și datele de utilizare pentru conturile dvs. AWS CUR conține detalii despre consumul AWS pe oră. Este stocat în Serviciul Amazon de stocare simplă (Amazon S3) în contul plătitorului, care consolidează datele pentru toate conturile conectate. Puteți rula interogări pentru a analiza tendințele de utilizare și pentru a lua măsurile adecvate pentru a optimiza costurile. Amazon Atena este un serviciu de interogare fără server pe care îl puteți utiliza pentru a analiza datele din AWS CUR în Amazon S3 utilizând SQL standard. Mai multe informații și exemple de interogări pot fi găsite în Biblioteca de interogări AWS CUR.
De asemenea, puteți introduce date AWS CUR în Amazon QuickSight, unde îl puteți tăia în felii în orice fel doriți, în scopuri de raportare sau vizualizare. Pentru instrucțiuni, vezi Cum ingerez și vizualizez Raportul de utilizare și costuri AWS (CUR) în Amazon QuickSight.
Puteți obține informații la nivel de resursă, cum ar fi ARN-ul punctului final, tipurile de instanțe ale punctului final, rata orară a instanțelor, orele zilnice de utilizare și multe altele de la AWS CUR. De asemenea, puteți include etichete de alocare a costurilor în interogarea dvs. pentru un nivel suplimentar de granularitate. Următorul exemplu de interogare returnează utilizarea resurselor de găzduire în timp real în ultimele 3 luni pentru contul de plătitor dat:
Următoarea captură de ecran arată rezultatele obținute din rularea interogării folosind Athena. Pentru mai multe informații, consultați Interogarea rapoartelor de cost și utilizare folosind Amazon Athena.
Rezultatul interogării arată acel punct final mme-xgboost-housing
cu ml.x4.xlarge, instanța raportează 24 de ore de rulare pentru mai multe zile consecutive. Rata de instanță este de 0.24 USD/oră, iar costul zilnic pentru rularea timp de 24 de ore este de 5.76 USD.
Rezultatele AWS CUR vă pot ajuta să identificați modele de puncte finale care rulează zile consecutive în fiecare dintre conturile conectate, precum și punctele finale cu cel mai mare cost lunar. Acest lucru vă poate ajuta, de asemenea, să decideți dacă punctele finale din conturile care nu sunt de producție pot fi șterse pentru a economisi costuri.
Optimizați costurile pentru punctele finale în timp real
Din perspectiva managementului costurilor, este important să identificați instanțe subutilizate (sau supradimensionate) și să aduceți dimensiunea și numărul instanțelor, dacă este necesar, în conformitate cu cerințele privind volumul de lucru. În care sunt scrise valori comune ale sistemului, cum ar fi utilizarea CPU/GPU și utilizarea memoriei Amazon CloudWatch pentru toate instanțele de găzduire. Pentru punctele finale în timp real, SageMaker pune la dispoziție mai multe valori suplimentare în CloudWatch. Unele dintre valorile monitorizate frecvent includ numărul de invocari și erorile de invocare 4xx/5xx. Pentru o listă completă de valori, consultați Monitorizați Amazon SageMaker cu Amazon CloudWatch.
Metrica CPUUtilization
furnizează suma utilizării fiecărui nucleu CPU individual. Utilizarea CPU a fiecărui interval de bază este 0-100. De exemplu, dacă există patru procesoare, CPUUtilization
intervalul este 0-400%. Metrica MemoryUtilization
este procentul de memorie care este folosit de containere pe o instanță. Acest interval de valori este 0-100%. Următoarea captură de ecran arată un exemplu de valori CloudWatch CPUUtilization
și MemoryUtilization
pentru o instanță de punct final ml.m4.10xlarge care vine cu 40 vCPU-uri și 160 GiB memorie.
Aceste grafice indică utilizarea maximă a CPU de aproximativ 3,000%, ceea ce este echivalentul a 30 de procesoare virtuale. Aceasta înseamnă că acest punct final nu utilizează mai mult de 30 de vCPU-uri din capacitatea totală de 40 de vCPU. În mod similar, utilizarea memoriei este sub 6%. Folosind aceste informații, puteți experimenta eventual cu o instanță mai mică care se poate potrivi cu această nevoie de resurse. În plus, cel CPUUtilization
metrica arată un model clasic de cerere periodică ridicată și scăzută de CPU, ceea ce face din acest punct final un bun candidat pentru scalarea automată. Puteți începe cu o instanță mai mică și puteți extinde mai întâi pe măsură ce cererea dvs. de calcul se modifică. Pentru informații, vezi Scalați automat modelele Amazon SageMaker.
SageMaker este excelent pentru a testa modele noi, deoarece le puteți implementa cu ușurință într-un mediu de testare A/B folosind variante de productieși plătești doar pentru ceea ce folosești. Fiecare variantă de producție rulează pe propria instanță de calcul și ești taxat pe oră de instanță consumată pentru fiecare instanță în timp ce varianta rulează.
SageMaker acceptă și variante de umbră, care au aceleași componente ca o variantă de producție și rulează pe propria instanță de calcul. Cu variante de umbră, SageMaker implementează automat modelul într-un mediu de testare, direcționează o copie a solicitărilor de inferență primite de modelul de producție către modelul de testare în timp real și colectează valori de performanță, cum ar fi latența și debitul. Acest lucru vă permite să validați orice componentă candidată nouă a stivei de servire a modelului înainte de a o promova în producție.
Când ați terminat cu testele și nu mai utilizați în mod extensiv punctul final sau variantele, ar trebui să îl ștergeți pentru a economisi costuri. Deoarece modelul este stocat în Amazon S3, îl puteți recrea după cum este necesar. Puteți detecta automat aceste puncte finale și puteți lua măsuri corective (cum ar fi ștergerea lor) utilizând Evenimente Amazon CloudWatch și AWS Lambdas funcții. De exemplu, puteți utiliza Invocations
pentru a obține numărul total de solicitări trimise către un punct final model și apoi pentru a detecta dacă punctele finale au fost inactive în ultimul număr de ore (fără invocari într-o anumită perioadă, cum ar fi 24 de ore).
Dacă aveți mai multe instanțe de punct final subutilizate, luați în considerare opțiuni de găzduire, cum ar fi puncte finale multi-model (MME), puncte finale cu mai multe containere (MCE) și conducte de inferență în serie pentru a consolida utilizarea la mai puține instanțe de punct final.
Pentru implementarea modelului de inferență în timp real și asincron, puteți optimiza costurile și performanța prin implementarea modelelor pe SageMaker folosind AWS Graviton. AWS Graviton este o familie de procesoare proiectate de AWS care oferă cele mai bune performanțe la preț și sunt mai eficiente din punct de vedere energetic decât omologii lor x86. Pentru îndrumări despre implementarea unui model ML în instanțe bazate pe AWS Graviton și detalii despre avantajul performanței prețului, consultați Rulați sarcini de lucru de inferență de învățare automată pe instanțe bazate pe AWS Graviton cu Amazon SageMaker. SageMaker acceptă și Inferentia AWS acceleratoare prin ml.inf2 familie de instanțe pentru implementarea modelelor ML pentru inferență în timp real și asincronă. Puteți utiliza aceste instanțe pe SageMaker pentru a obține performanțe ridicate la un cost scăzut pentru modelele de inteligență artificială generativă (AI), inclusiv modele de limbaj mari (LLM) și transformatoare de viziune.
În plus, puteți utiliza Recomandator de inferențe Amazon SageMaker pentru a rula teste de încărcare și pentru a evalua beneficiile privind performanța prețului de implementare a modelului dvs. în aceste instanțe. Pentru îndrumări suplimentare despre detectarea automată a punctelor finale SageMaker inactive, precum și dimensionarea corectă a instanțelor și scalarea automată pentru punctele finale SageMaker, consultați Asigurați resurse de calcul eficiente pe Amazon SageMaker.
Transformarea lotului SageMaker
Inferență în lot sau inferență offline, este procesul de generare a predicțiilor asupra unui lot de observații. Predicțiile offline sunt potrivite pentru seturi de date mai mari și în cazurile în care vă puteți permite să așteptați câteva minute sau ore pentru un răspuns.
Costul pentru transformarea batch SageMaker se bazează pe oră-instanță consumată pentru fiecare instanță în timp ce lucrarea de transformare batch rulează, așa cum se subliniază în Prețuri Amazon SageMaker. În Cost Explorer, puteți explora costurile de transformare în loturi aplicând un filtru pentru tipul de utilizare. Numele acestui tip de utilizare este structurat ca REGION-Tsform:instanceType
(de exemplu, USE1-Tsform:ml.c5.9xlarge
).
După cum se arată în următoarea captură de ecran, filtrarea după tipul de utilizare Tsform:
va afișa o listă de tipuri de utilizare a transformării batch SageMaker într-un cont.
Puteți fie să selectați anumite tipuri de utilizare, fie să selectați Selectați Toate Și alegeți Aplică pentru a afișa defalcarea costului utilizării instanței de transformare în lot pentru tipurile selectate. După cum am menționat mai devreme, puteți aplica și filtre suplimentare. Următoarea captură de ecran arată grafice de cost și utilizare pentru tipurile de utilizare ale transformării loturilor selectate.
Optimizați costurile pentru transformarea lotului
Transformarea lotului SageMaker vă taxează numai pentru instanțele utilizate în timp ce lucrările dvs. sunt în execuție. Dacă datele dvs. sunt deja în Amazon S3, atunci nu există niciun cost pentru citirea datelor de intrare din Amazon S3 și scrierea datelor de ieșire pe Amazon S3. Toate obiectele de ieșire încearcă să fie încărcate pe Amazon S3. Dacă toate au succes, atunci sarcina de transformare în lot este marcată ca finalizată. Dacă unul sau mai multe obiecte eșuează, jobul de transformare în lot este marcat ca eșuat.
Taxele pentru joburile de transformare în loturi se aplică în următoarele scenarii:
- Lucrarea are succes
- Eșec din cauza
ClientError
iar containerul model este SageMaker sau un cadru gestionat de SageMaker - Eșec din cauza
AlgorithmError
orClientError
iar containerul model este propriul container personalizat (BYOC)
Următoarele sunt câteva dintre cele mai bune practici pentru optimizarea unei sarcini de transformare în loturi SageMaker. Aceste recomandări pot reduce durata totală de execuție a sarcinii de transformare în loturi, reducând astfel costurile:
- set BatchStrategy la
MultiRecord
șiSplitType
laLine
dacă aveți nevoie de jobul de transformare în loturi pentru a face mini loturi din fișierul de intrare. Dacă nu poate împărți automat setul de date în mini loturi, îl puteți împărți în mini loturi punând fiecare lot într-un fișier de intrare separat, plasat în compartimentul S3 sursa de date. - Asigurați-vă că dimensiunea lotului se potrivește în memorie. SageMaker se ocupă de obicei de acest lucru automat; totuși, atunci când se împarte manual loturile, acest lucru trebuie reglat în funcție de memorie.
- Transformarea lotului partiţionează obiectele S3 din intrare prin tastă şi mapează acele obiecte la instanţe. Când aveți mai multe fișiere, o instanță poate procesa
input1.csv
, iar o altă instanță ar putea procesainput2.csv
. Dacă aveți un fișier de intrare, dar inițializați mai multe instanțe de calcul, o singură instanță procesează fișierul de intrare, iar restul instanțelor sunt inactive. Asigurați-vă că numărul de fișiere este egal sau mai mare decât numărul de instanțe. - Dacă aveți un număr mare de fișiere mici, poate fi benefic să combinați mai multe fișiere într-un număr mic de fișiere mai mari pentru a reduce timpul de interacțiune cu Amazon S3.
- Dacă utilizați CreateTransformJob API, puteți reduce timpul necesar pentru a finaliza lucrările de transformare în loturi utilizând valori optime pentru parametri precum MaxPayloadInMB, MaxConcurrentTransforms, Sau BatchStrategy:
MaxConcurrentTransforms
indică numărul maxim de solicitări paralele care pot fi trimise fiecărei instanțe într-un job de transformare. Valoarea ideală pentruMaxConcurrentTransforms
este egal cu numărul de nuclee vCPU dintr-o instanță.MaxPayloadInMB
este dimensiunea maximă permisă a încărcăturii utile, în MB. Valoarea înMaxPayloadInMB
trebuie să fie mai mare sau egală cu dimensiunea unei singure înregistrări. Pentru a estima dimensiunea unei înregistrări în MB, împărțiți dimensiunea setului de date la numărul de înregistrări. Pentru a vă asigura că înregistrările se încadrează în dimensiunea maximă a sarcinii utile, vă recomandăm să utilizați o valoare puțin mai mare. Valoarea implicită este 6 MB.MaxPayloadInMB
nu trebuie să fie mai mare de 100 MB. Dacă specificați opționalulMaxConcurrentTransforms
parametrul, apoi valoarea lui (MaxConcurrentTransforms
*MaxPayloadInMB
) nu trebuie să depășească, de asemenea, 100 MB.- Pentru cazurile în care sarcina utilă ar putea fi arbitrar de mare și este transmisă utilizând codificarea în bucăți HTTP, setați valoarea MaxPayloadInMB la 0. Această caracteristică funcționează numai în algoritmii acceptați. În prezent, algoritmii încorporați SageMaker nu acceptă codificarea HTTP în bloc.
- Sarcinile de inferență în lot sunt de obicei candidați buni pentru scalarea orizontală. Fiecare lucrător dintr-un cluster poate opera pe un subset diferit de date fără a fi nevoie să facă schimb de informații cu alți lucrători. AWS oferă mai multe opțiuni de stocare și de calcul care permit scalarea orizontală. Dacă o singură instanță nu este suficientă pentru a îndeplini cerințele dvs. de performanță, luați în considerare utilizarea mai multor instanțe în paralel pentru a distribui volumul de lucru. Pentru considerente cheie atunci când proiectați lucrări de transformare în loturi, consultați Inferență pe lot la scară cu Amazon SageMaker.
- Monitorizați continuu valorile de performanță ale joburilor dvs. de transformare în loturi SageMaker folosind CloudWatch. Căutați blocajele, cum ar fi utilizarea ridicată a CPU sau GPU, utilizarea memoriei sau debitul rețelei, pentru a determina dacă trebuie să ajustați dimensiunile sau configurațiile instanțelor.
- SageMaker folosește Amazon S3 API de încărcare în mai multe părți pentru a încărca rezultate dintr-o lucrare de transformare în lot în Amazon S3. Dacă apare o eroare, rezultatele încărcate sunt eliminate din Amazon S3. În unele cazuri, cum ar fi atunci când are loc o întrerupere a rețelei, o încărcare incompletă în mai multe părți poate rămâne în Amazon S3. Pentru a evita costurile de stocare, vă recomandăm să adăugați Politica găleții S3 la regulile ciclului de viață al compartimentului S3. Această politică șterge încărcările incomplete din mai multe părți care ar putea fi stocate în compartimentul S3. Pentru mai multe informații, vezi Gestionarea ciclului de viață al stocării.
Inferență asincronă SageMaker
Inferența asincronă este o alegere excelentă pentru sarcinile de lucru sensibile la costuri cu sarcini utile mari și trafic de explozie. Procesarea solicitărilor poate dura până la 1 oră și are dimensiuni de încărcare utilă de până la 1 GB, așa că este mai potrivit pentru sarcinile de lucru care au cerințe de latență relaxate.
Invocarea punctelor finale asincrone diferă de punctele finale în timp real. În loc să transmiteți o sarcină utilă de solicitare sincron cu cererea, încărcați sarcina utilă pe Amazon S3 și transmiteți un URI S3 ca parte a solicitării. Pe plan intern, SageMaker menține o coadă cu aceste solicitări și le procesează. În timpul creării punctului final, puteți specifica opțional un Serviciul de notificare simplă Amazon (Amazon SNS) pentru a primi notificări de succes sau eroare. Când primiți notificarea că cererea dvs. de inferență a fost procesată cu succes, puteți accesa rezultatul în locația Amazon S3 de ieșire.
Costul pentru inferența asincronă se bazează pe oră de instanță consumată pentru fiecare instanță în timp ce punctul final funcționează, costul de stocare furnizată în GB-lună, precum și pe GB de date procesate în și în afara instanței punctului final, așa cum se subliniază în Prețuri Amazon SageMaker. În Cost Explorer, puteți filtra costurile de inferență asincrone aplicând un filtru pe tipul de utilizare. Numele acestui tip de utilizare este structurat ca REGION-AsyncInf:instanceType
(de exemplu, USE1-AsyncInf:ml.c5.9xlarge
). Rețineți că volumul GB și tipurile de utilizare procesate de date GB sunt aceleași cu punctele finale în timp real, așa cum sa menționat mai devreme în această postare.
După cum se arată în următoarea captură de ecran, filtrarea după tipul de utilizare AsyncInf:
în Cost Explorer afișează o defalcare a costurilor în funcție de tipurile de utilizare a punctelor finale asincrone.
Pentru a vedea defalcarea costurilor și a utilizării în funcție de orele de instanță, trebuie să deselectați toate REGION-Host:VolumeUsage.gp2
tipuri de utilizare înainte de a aplica filtrul tip de utilizare. De asemenea, puteți aplica filtre suplimentare. Informațiile la nivel de resursă, cum ar fi ARN-ul punctului final, tipurile de instanțe ale punctului final, rata orară a instanțelor și orele zilnice de utilizare pot fi obținute de la AWS CUR. Următorul este un exemplu de interogare AWS CUR pentru a obține utilizarea asincronă a resurselor de găzduire în ultimele 3 luni:
Următoarea captură de ecran arată rezultatele obținute din rularea interogării AWS CUR folosind Athena.
Rezultatul interogării arată acel punct final sagemaker-abc-model-5
cu ml.m5.xlarge instanța raportează 24 de ore de rulare pentru mai multe zile consecutive. Rata de instanță este de 0.23 USD/oră, iar costul zilnic pentru rularea timp de 24 de ore este de 5.52 USD.
După cum am menționat mai devreme, rezultatele AWS CUR vă pot ajuta să identificați modele de puncte finale care rulează zile consecutive, precum și punctele finale cu cel mai mare cost lunar. Acest lucru vă poate ajuta, de asemenea, să decideți dacă punctele finale din conturile care nu sunt de producție pot fi șterse pentru a economisi costuri.
Optimizați costurile pentru inferența asincronă
La fel ca punctele finale în timp real, costul pentru punctele finale asincrone se bazează pe utilizarea tipului de instanță. Prin urmare, este important să identificați instanțele subutilizate și să le redimensionați în funcție de cerințele volumului de lucru. Pentru a monitoriza punctele finale asincrone, SageMaker face mai multe valori precum ApproximateBacklogSize
, HasBacklogWithoutCapacity
, și multe altele disponibile în CloudWatch. Aceste valori pot afișa solicitări în coadă pentru o instanță și pot fi utilizate pentru scalarea automată a unui punct final. Inferența asincronă SageMaker include și valori la nivel de gazdă. Pentru informații despre valorile la nivel de gazdă, consultați SageMaker Jobs și Endpoint Metrics. Aceste valori pot arăta utilizarea resurselor care vă pot ajuta să măriți corect instanța.
SageMaker acceptă scalare automată pentru punctele finale asincrone. Spre deosebire de punctele finale găzduite în timp real, punctele finale de inferență asincrone acceptă reducerea la zero a instanțelor prin setarea capacității minime la zero. Pentru punctele finale asincrone, SageMaker vă recomandă insistent să creați o configurație de politică pentru scalarea de urmărire a țintei pentru un model (variantă) implementat. Trebuie să definiți politica de scalare care a scalat pe ApproximateBacklogPerInstance
metrica personalizată și setați MinCapacity
valoare la zero.
Inferența asincronă vă permite să economisiți costuri prin scalarea automată a numărului de instanțe la zero atunci când nu există cereri de procesat, astfel încât să plătiți numai atunci când punctul final procesează cereri. Solicitările care sunt primite când există zero instanțe sunt puse în coadă pentru procesare după ce punctul final crește. Prin urmare, pentru cazurile de utilizare care pot tolera o penalizare de pornire la rece de câteva minute, puteți, opțional, să micșorați numărul de instanțe ale punctului final la zero atunci când nu există solicitări restante și să creșteți o copie de rezervă pe măsură ce sosesc cereri noi. Timpul de pornire la rece depinde de timpul necesar lansării unui nou punct final de la zero. De asemenea, dacă modelul în sine este mare, atunci timpul poate fi mai lung. Dacă se așteaptă ca munca dvs. să dureze mai mult decât timpul de procesare de 1 oră, vă recomandăm să luați în considerare transformarea batch SageMaker.
În plus, puteți lua în considerare și timpul de așteptare al cererii dvs. combinat cu timpul de procesare pentru a alege tipul de instanță. De exemplu, dacă cazul dvs. de utilizare poate tolera ore de așteptare, puteți alege o instanță mai mică pentru a economisi costuri.
Pentru îndrumări suplimentare despre dimensionarea corectă a instanțelor și scalarea automată pentru punctele finale SageMaker, consultați Asigurați resurse de calcul eficiente pe Amazon SageMaker.
Inferență fără server
Inferența fără server vă permite să implementați modele ML pentru inferență fără a fi nevoie să configurați sau să gestionați infrastructura de bază. Pe baza volumului de solicitări de inferență pe care modelul dvs. le primește, inferența fără server SageMaker furnizează, scalează și oprește automat capacitatea de calcul. Ca urmare, plătiți doar pentru timpul de calcul pentru a rula codul de inferență și pentru cantitatea de date procesate, nu pentru timpul de inactivitate. Pentru punctele finale fără server, furnizarea instanțelor nu este necesară. Trebuie să furnizați dimensiunea memoriei și concurența maximă. Deoarece punctele finale fără server furnizează resurse de calcul la cerere, punctul final poate experimenta câteva secunde suplimentare de latență (pornire la rece) pentru prima invocare după o perioadă de inactivitate. Plătiți pentru capacitatea de calcul utilizată pentru procesarea cererilor de inferență, facturată cu milisecundă, GB-lună de stocare asigurată și cantitatea de date procesate. Taxa de calcul depinde de configurația de memorie pe care o alegeți.
În Cost Explorer, puteți filtra costurile punctelor finale fără server aplicând un filtru pentru tipul de utilizare. Numele acestui tip de utilizare este structurat ca REGION-ServerlessInf:Mem-MemorySize
(de exemplu, USE2-ServerlessInf:Mem-4GB
). Rețineți că volumul GB și tipurile de utilizare a datelor procesate GB sunt aceleași cu punctele finale în timp real.
Puteți vedea defalcarea costurilor aplicând filtre suplimentare, cum ar fi numărul de cont, tipul instanței, regiunea și multe altele. Următoarea captură de ecran arată defalcarea costurilor prin aplicarea de filtre pentru tipul de utilizare a inferenței fără server.
Optimizați costul pentru inferența fără server
Când configurați punctul final fără server, puteți specifica dimensiunea memoriei și numărul maxim de invocări simultane. Inferența fără server SageMaker atribuie automat resursele de calcul proporțional cu memoria pe care o selectați. Dacă alegeți o dimensiune de memorie mai mare, containerul dvs. are acces la mai multe vCPU. Cu inferența fără server, plătiți doar pentru capacitatea de calcul utilizată pentru a procesa cererile de inferență, facturată cu milisecunde și pentru cantitatea de date procesate. Taxa de calcul depinde de configurația de memorie pe care o alegeți. Dimensiunile de memorie pe care le puteți alege sunt 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB și 6144 MB. Prețul crește odată cu creșterea dimensiunii memoriei, așa cum este explicat în Prețuri Amazon SageMaker, deci este important să selectați dimensiunea corectă a memoriei. Ca regulă generală, dimensiunea memoriei ar trebui să fie cel puțin la fel de mare ca dimensiunea modelului dvs. Cu toate acestea, este o practică bună să faceți referire la utilizarea memoriei atunci când decideți dimensiunea memoriei punctului final, în plus față de dimensiunea modelului în sine.
Cele mai bune practici generale pentru optimizarea costurilor de inferență SageMaker
Optimizarea costurilor de găzduire nu este un eveniment unic. Este un proces continuu de monitorizare a infrastructurii implementate, a modelelor de utilizare și a performanței și, de asemenea, de a urmări cu atenție noile soluții inovatoare pe care AWS le lansează, care ar putea avea un impact asupra costurilor. Luați în considerare următoarele bune practici:
- Alegeți un tip de instanță adecvat – SageMaker acceptă mai multe tipuri de instanțe, fiecare cu diferite combinații de CPU, GPU, memorie și capacități de stocare. Pe baza cerințelor de resurse ale modelului dvs., alegeți un tip de instanță care oferă resursele necesare fără supraprovizionare. Pentru informații despre tipurile de instanțe SageMaker disponibile, specificațiile acestora și îndrumări privind selectarea instanței potrivite, consultați Asigurați resurse de calcul eficiente pe Amazon SageMaker.
- Testați folosind modul local – Pentru a detecta defecțiunile și a depana mai rapid, este recomandat să testați codul și containerul (în cazul BYOC) în mod local înainte de a rula sarcina de lucru de inferență pe instanța SageMaker de la distanță. Modul local este o modalitate excelentă de a vă testa scripturile înainte de a le rula într-un mediu de găzduire gestionat de SageMaker.
- Optimizați modelele pentru a fi mai performante – Modelele neoptimizate pot duce la durate de execuție mai lungi și pot utiliza mai multe resurse. Puteți alege să utilizați mai multe instanțe sau mai mari pentru a îmbunătăți performanța; cu toate acestea, acest lucru duce la costuri mai mari. Prin optimizarea modelelor dvs. pentru a fi mai performante, este posibil să puteți reduce costurile utilizând mai puține sau mai mici instanțe, păstrând în același timp aceleași sau mai bune caracteristici de performanță. Poți să folosești Amazon SageMaker Neo cu inferența SageMaker pentru a optimiza automat modelele. Pentru mai multe detalii și mostre, vezi Optimizați performanța modelului folosind Neo.
- Utilizați etichete și instrumente de gestionare a costurilor – Pentru a menține vizibilitatea asupra sarcinilor de lucru de inferență, se recomandă să utilizați etichete, precum și instrumente de gestionare a costurilor AWS, cum ar fi Bugetele AWS, Consola de facturare AWS, și caracteristica de prognoză a Cost Explorer. De asemenea, puteți explora Planurile de economii SageMaker ca model de preț flexibil. Pentru mai multe informații despre aceste opțiuni, consultați Partea 1 din această serie.
Concluzie
În această postare, am oferit îndrumări privind analiza costurilor și cele mai bune practici atunci când utilizați opțiunile de inferență SageMaker. Pe măsură ce învățarea automată se impune ca un instrument puternic în toate industriile, antrenarea și rularea modelelor ML trebuie să rămână rentabile. SageMaker oferă un set larg și profund de caracteristici pentru a facilita fiecare pas din pipeline ML și oferă oportunități de optimizare a costurilor fără a afecta performanța sau agilitatea. Luați legătura cu echipa dvs. AWS pentru îndrumări privind costurile pentru sarcinile de lucru SageMaker.
Despre Autori
Deepali Rajale este Senior AI/ML Specialist la AWS. Ea lucrează cu clienții întreprinderilor, oferind îndrumări tehnice cu cele mai bune practici pentru implementarea și menținerea soluțiilor AI/ML în ecosistemul AWS. Ea a lucrat cu o gamă largă de organizații pe diverse cazuri de utilizare a învățării profunde care implică NLP și viziunea computerizată. Este pasionată de împuternicirea organizațiilor pentru a folosi AI generativă pentru a le îmbunătăți experiența de utilizare. În timpul liber, îi plac filmele, muzica și literatura.
Uri Rosenberg este Manager Tehnic Specialist AI & ML pentru Europa, Orientul Mijlociu și Africa. Cu sediul în Israel, Uri lucrează pentru a oferi clienților întreprinderii puterea de a proiecta, construi și opera la scară largă în ceea ce privește ML. În timpul liber, îi place ciclismul, drumețiile și alpinismul rock and roll.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoAiStream. Web3 Data Intelligence. Cunoștințe amplificate. Accesați Aici.
- Mintând viitorul cu Adryenn Ashley. Accesați Aici.
- Cumpărați și vindeți acțiuni în companii PRE-IPO cu PREIPO®. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/part-5-analyze-amazon-sagemaker-spend-and-determine-cost-optimization-opportunities-based-on-usage-part-5-hosting/
- :are
- :este
- :nu
- :Unde
- $UP
- 000
- 1
- 100
- 2021
- 24
- 30
- 40
- 500
- 7
- 8
- a
- Capabil
- Despre Noi
- acceleratoare
- acces
- Cont
- Conturi
- Obține
- realizat
- peste
- Acțiune
- acțiuni
- adăuga
- plus
- Suplimentar
- Africa
- După
- AI
- AI / ML
- algoritmi
- TOATE
- alocare
- permite
- deja
- de asemenea
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- sumă
- an
- analiză
- analiza
- și
- O alta
- Orice
- mai
- api
- aplicat
- Aplică
- Aplicarea
- adecvat
- aproximativ
- SUNT
- artificial
- inteligență artificială
- Inteligența artificială (AI)
- AS
- asociate
- At
- atașa
- a încercat să
- Auto
- în mod automat
- disponibil
- evita
- AWS
- înapoi
- bazat
- BE
- deoarece
- fost
- înainte
- de mai jos
- benefică
- beneficia
- Beneficiile
- CEL MAI BUN
- Cele mai bune practici
- Mai bine
- Mare
- mai mare
- facturare
- Bloca
- Defalcarea
- aduce
- construi
- construit-in
- dar
- by
- CAN
- candidat
- candidaţilor
- capacități
- Capacitate
- caz
- cazuri
- sigur
- Modificări
- Caracteristici
- taxă
- încărcat
- taxe
- alegere
- Alege
- alegere
- clasic
- Alpinism
- Grup
- cod
- rece
- combinaţii
- combina
- combinate
- cum
- vine
- Comun
- în mod obișnuit
- Completă
- component
- componente
- Calcula
- calculator
- Computer Vision
- concurent
- Configuraţie
- consecutiv
- Lua în considerare
- Considerații
- consolida
- consolidează
- consumate
- consum
- Recipient
- Containere
- conține
- continuu
- Nucleu
- corecta
- A costat
- Managementul costurilor
- cost-eficiente
- Cheltuieli
- ar putea
- crea
- creaţie
- În prezent
- personalizat
- clienţii care
- zilnic
- de date
- seturi de date
- Zi
- decide
- Decidând
- adânc
- învățare profundă
- Mod implicit
- Cerere
- depinde de
- implementa
- dislocate
- Implementarea
- desfășurarea
- implementează
- Amenajări
- proiectat
- dorit
- detaliu
- detalii
- Determina
- diferit
- discuta
- Afişa
- afișează
- distribui
- do
- Nu
- făcut
- Dont
- dubla
- jos
- Descarca
- două
- în timpul
- fiecare
- Mai devreme
- cu ușurință
- Est
- ecosistem
- eficient
- oricare
- împuternici
- împuternicirea
- permite
- permite
- Punct final
- energie
- spori
- asigura
- Afacere
- Mediu inconjurator
- medii
- egal
- Echivalent
- eroare
- Erori
- stabilește
- estima
- Europa
- evalua
- eveniment
- exemplu
- depăși
- schimb
- de aşteptat
- experienţă
- experiment
- a explicat
- explora
- explorator
- extensiv
- suplimentar
- ochi
- facilitând
- FAIL
- A eșuat
- familie
- mai repede
- Caracteristică
- puțini
- mai puține
- Fișier
- Fişiere
- filtru
- filtrare
- Filtre
- First
- potrivi
- flexibil
- Concentra
- următor
- urmează
- Pentru
- găsit
- patru
- din
- Complet
- funcții
- În plus
- Câştig
- General
- generator
- generativ
- AI generativă
- obține
- dat
- bine
- GPU
- grafice
- mare
- mai mare
- grup
- îndrumare
- Mânere
- Avea
- având în
- he
- ajutor
- a ajutat
- ei
- Înalt
- superior
- cea mai mare
- lui
- Orizontală
- găzduit
- găzduire
- costuri de gazduire
- Gazdele
- oră
- ORE
- Cum
- Cum Pentru a
- Totuși
- HTML
- http
- HTTPS
- sute
- i
- ideal
- identifica
- Idle
- if
- Impactul
- impact
- important
- îmbunătăţi
- in
- include
- include
- Inclusiv
- Creșteri
- indică
- individ
- industrii
- informații
- Infrastructură
- inovatoare
- intrare
- perspective
- instanță
- instrucțiuni
- Inteligență
- interacţiune
- intern
- în
- Introducere
- implicând
- Israel
- IT
- ESTE
- în sine
- Loc de munca
- Locuri de munca
- jpg
- pasionat
- păstrare
- Cheie
- limbă
- mare
- mai mare
- Nume
- Latență
- lansa
- a lansat
- conduce
- Conduce
- învățat
- învăţare
- cel mai puțin
- Lectii
- Lectii invatate
- Nivel
- Pârghie
- ciclu de viață
- ca
- Linie
- legate de
- Listă
- literatură
- încărca
- local
- locaţie
- Lung
- mai lung
- Uite
- Jos
- LOWER
- coborârea
- maşină
- masina de învățare
- menține
- Mentine
- susține
- face
- FACE
- administra
- gestionate
- administrare
- Instrumente de management
- manager
- manual
- Harta
- marcat
- Meci
- maxim
- Mai..
- mijloace
- Întâlni
- Memorie
- menționat
- metric
- Metrici
- De mijloc
- Orientul Mijlociu
- ar putea
- minim
- minute
- ML
- mod
- model
- Modele
- monitor
- monitorizate
- Monitorizarea
- Lună
- lunar
- luni
- mai mult
- Filme
- Punct final cu mai multe modele
- multiplu
- Muzică
- trebuie sa
- nume
- nume
- necesar
- Nevoie
- necesar
- nevoilor
- reţea
- ÎNTRERUPAREA REȚELEI
- Nou
- nlp
- Nu.
- notificare
- notificări
- număr
- obiecte
- obține
- obținut
- of
- de pe
- promoții
- Offline
- on
- ONE
- on-line
- afară
- funcionar
- Oportunităţi
- optimă
- optimizare
- Optimizați
- optimizarea
- Opțiune
- Opţiuni
- or
- comandă
- organizații
- Altele
- afară
- pană
- a subliniat
- producție
- remarcabil
- peste
- propriu
- Paralel
- parametru
- parametrii
- parte
- trece
- Care trece
- pasionat
- trecut
- Model
- modele
- Plătește
- procent
- performanță
- perioadă
- periodic
- perspectivă
- alege
- conducte
- plan
- Planurile
- Plato
- Informații despre date Platon
- PlatoData
- Politica
- eventual
- Post
- postări
- puternic
- practică
- practicile
- Predictii
- preţ
- de stabilire a prețurilor
- model de stabilire a prețurilor
- Proactivă
- proces
- Procesat
- procese
- prelucrare
- procesoare
- producere
- Promovarea
- furniza
- prevăzut
- furnizează
- furnizarea
- dispoziţie
- scopuri
- Punând
- interogări
- gamă
- rată
- mai degraba
- ajunge
- Citind
- real
- în timp real
- a primi
- primit
- primește
- recomanda
- Recomandări
- recomandat
- recomandă
- record
- înregistrări
- reduce
- regiune
- Lansări
- rămâne
- la distanta
- îndepărtat
- raportează
- Raportarea
- Rapoarte
- solicita
- cereri de
- necesar
- Cerinţe
- resursă
- Resurse
- răspuns
- REST
- rezultat
- REZULTATE
- Returnează
- dreapta
- stâncă
- sul
- rute
- Regula
- norme
- Alerga
- funcţionare
- sagemaker
- SageMaker Inference
- acelaşi
- Economisiți
- Economie
- Scară
- cântare
- scalare
- scenarii
- programată
- zgâria
- script-uri
- secunde
- secțiuni
- vedea
- selectate
- selectarea
- senior
- trimis
- distinct
- serie
- serverless
- serviciu
- Servicii
- servire
- set
- instalare
- câteva
- Umbră
- Distribuie
- ea
- să
- Arăta
- a arătat
- indicat
- Emisiuni
- asemănător
- simplu
- întrucât
- singur
- Mărimea
- dimensiuni
- Felie
- mic
- mai mici
- So
- soluţii
- unele
- Sursă
- specialist
- specific
- Specificaţii
- petrece
- împărţi
- stivui
- standard
- Începe
- început
- Pas
- depozitare
- stocate
- tare
- structurat
- succes
- de succes
- Reușit
- astfel de
- suficient
- potrivit
- a sustine
- sprijin proactiv
- Suportat
- Sprijină
- sistem
- TAG
- Lua
- ia
- sarcini
- echipă
- Tehnic
- test
- Testarea
- teste
- decât
- acea
- lor
- Lor
- apoi
- Acolo.
- astfel
- prin urmare
- Acestea
- lucruri
- acest
- aceste
- Prin
- debit
- timp
- ori
- la
- instrument
- Unelte
- subiect
- Total
- trafic
- Pregătire
- Transforma
- transformatoare
- Tendinţe
- adevărat
- se transformă
- tip
- Tipuri
- care stau la baza
- spre deosebire de
- imprevizibil
- încărcat
- Folosire
- utilizare
- carcasa de utilizare
- utilizat
- utilizări
- folosind
- obișnuit
- Utilizand
- VALIDA
- valoare
- Valori
- Variantă
- diverse
- Vizualizare
- vizibilitate
- viziune
- vizualizare
- volum
- volume
- aștepta
- vrea
- Cale..
- we
- web
- servicii web
- BINE
- Ce
- cand
- dacă
- care
- în timp ce
- larg
- Gamă largă
- voi
- cu
- în
- fără
- a lucrat
- lucrător
- muncitorii
- fabrică
- scris
- scris
- Tu
- Ta
- zephyrnet
- zero