Ker postaja strojno učenje (ML) vedno bolj razširjeno v številnih panogah, organizacije ugotavljajo potrebo po usposabljanju in oskrbovanju velikega števila modelov ML, da bi zadovoljile raznolike potrebe svojih strank. Zlasti za ponudnike programske opreme kot storitve (SaaS) je zmožnost učinkovitega in stroškovno učinkovitega usposabljanja in strežbe na tisoče modelov ključnega pomena za ohranjanje konkurenčnosti na hitro razvijajočem se trgu.
Usposabljanje in oskrba na tisoče modelov zahteva robustno in razširljivo infrastrukturo, kjer je Amazon SageMaker lahko pomagam. SageMaker je popolnoma upravljana platforma, ki razvijalcem in podatkovnim znanstvenikom omogoča hitro gradnjo, usposabljanje in uvajanje modelov ML, hkrati pa ponuja ugodnosti prihranka pri stroških uporabe infrastrukture AWS Cloud.
V tej objavi raziskujemo, kako lahko uporabljate funkcije SageMaker, vključno z Obdelava Amazon SageMaker, delovna mesta za usposabljanje SageMaker in večmodelne končne točke (MME) SageMaker za usposabljanje in oskrbo na tisoče modelov na stroškovno učinkovit način. Če želite začeti z opisano rešitvijo, si lahko ogledate priloženi zvezek na GitHub.
Primer uporabe: Napovedovanje energije
Za to objavo prevzamemo vlogo podjetja ISV, ki pomaga svojim strankam postati bolj trajnostne s sledenjem njihove porabe energije in zagotavljanjem napovedi. Naše podjetje ima 1,000 strank, ki želijo bolje razumeti svojo porabo energije in se premišljeno odločati o tem, kako zmanjšati svoj vpliv na okolje. Za to uporabimo sintetični nabor podatkov in na njem usposobimo model ML Prerok za vsakega odjemalca za izdelavo napovedi porabe energije. S SageMakerjem lahko učinkovito usposabljamo in servisiramo teh 1,000 modelov, s čimer našim strankam zagotovimo natančne in dejavne vpoglede v njihovo porabo energije.
V ustvarjenem naboru podatkov so tri funkcije:
- identifikacijska številka stranke – To je celoštevilski identifikator za vsako stranko v razponu od 0–999.
- Časovni žig – To je vrednost datuma/časa, ki označuje čas, ko je bila izmerjena poraba energije. Časovni žigi so naključno ustvarjeni med začetnim in končnim datumom, določenim v kodi.
- poraba – To je plavajoča vrednost, ki označuje porabo energije, merjeno v neki poljubni enoti. Vrednosti porabe so naključno ustvarjene med 0–1,000 s sinusno sezonskostjo.
Pregled rešitev
Za učinkovito usposabljanje in strežbo na tisoče modelov ML lahko uporabimo naslednje funkcije SageMaker:
- Obdelava žajblja – SageMaker Processing je popolnoma upravljana storitev za pripravo podatkov, ki vam omogoča izvajanje obdelave podatkov in nalog vrednotenja modela na vaših vhodnih podatkih. Obdelavo SageMaker lahko uporabite za pretvorbo neobdelanih podatkov v obliko, ki je potrebna za usposabljanje in sklepanje, kot tudi za izvajanje paketnih in spletnih ocen vaših modelov.
- Usposabljanje SageMaker – Učna opravila SageMaker lahko uporabite za usposabljanje modelov na različnih algoritmih in vrstah vhodnih podatkov ter določite računalniške vire, potrebne za usposabljanje.
- SageMaker MME – Končne točke z več modeli vam omogočajo gostovanje več modelov na eni končni točki, kar olajša streženje napovedi iz več modelov z enim API-jem. MME-ji SageMaker lahko prihranijo čas in vire z zmanjšanjem števila končnih točk, potrebnih za serviranje napovedi iz več modelov. MME podpirajo gostovanje modelov, podprtih s CPE in GPE. Upoštevajte, da v našem scenariju uporabljamo 1,000 modelov, vendar to ni omejitev same storitve.
Naslednji diagram prikazuje arhitekturo rešitev.
Potek dela vključuje naslednje korake:
- Uporabljamo SageMaker Processing za predhodno obdelavo podatkov in ustvarjanje ene same datoteke CSV na stranko ter njeno shranjevanje Preprosta storitev shranjevanja Amazon (Amazon S3).
- Učno opravilo SageMaker je konfigurirano tako, da bere izhod opravila SageMaker Processing in ga krožno razdeli primerkom usposabljanja. Upoštevajte, da je to mogoče doseči tudi z Amazonski cevovodi SageMaker.
- Artefakti modela so shranjeni v Amazonu S3 z nalogo usposabljanja in se strežejo neposredno iz SageMaker MME.
Razširite usposabljanje na tisoče modelov
Skaliranje usposabljanja na tisoče modelov je možno prek distribution
parameter parametra TrainingInput v SDK SageMaker Python, ki vam omogoča, da določite, kako se podatki porazdelijo med več primerki usposabljanja za opravilo usposabljanja. Obstajajo tri možnosti za distribution
parameter: FullyReplicated
, ShardedByS3Key
in ShardedByRecord
. ShardedByS3Key
možnost pomeni, da so podatki o usposabljanju razdeljeni s ključem objekta S3, pri čemer vsak primerek usposabljanja prejme edinstveno podmnožico podatkov, s čimer se izognemo podvajanju. Ko SageMaker kopira podatke v vsebnike za usposabljanje, lahko preberemo strukturo mape in datoteke za usposabljanje edinstvenega modela za datoteko stranke. Sledi primer izrezka kode:
Vsako izobraževalno opravilo SageMaker shrani model, shranjen v /opt/ml/model
mapo vsebnika za usposabljanje, preden jo arhivirate v a model.tar.gz
datoteko in jo nato naloži v Amazon S3 po zaključku usposabljanja. Izkušeni uporabniki lahko tudi avtomatizirajo ta proces s SageMaker Pipelines. Pri shranjevanju več modelov prek istega izobraževalnega opravila SageMaker ustvari enega model.tar.gz
datoteka, ki vsebuje vse usposobljene modele. To bi potem pomenilo, da bi morali za serviranje modela najprej razpakirati arhiv. Da bi se temu izognili, uporabljamo kontrolne točke za shranjevanje stanja posameznih modelov. SageMaker omogoča kopiranje kontrolnih točk, ustvarjenih med usposabljanjem, v Amazon S3. Tukaj je treba kontrolne točke shraniti na vnaprej določeno mesto, privzeto pa je /opt/ml/checkpoints
. Te kontrolne točke je mogoče uporabiti za nadaljevanje usposabljanja pozneje ali kot model za namestitev na končni točki. Za povzetek na visoki ravni o tem, kako platforma za usposabljanje SageMaker upravlja poti shranjevanja za nize podatkov o usposabljanju, artefakte modela, kontrolne točke in izhode med shranjevanjem v oblaku AWS in opravili usposabljanja v SageMakerju, glejte Mape za shranjevanje usposabljanja Amazon SageMaker za nabore podatkov za usposabljanje, kontrolne točke, artefakte modela in izhode.
Naslednja koda uporablja izmišljeno model.save()
delovanje znotraj train.py
skript, ki vsebuje logiko usposabljanja:
Prilagodite sklepanje na tisoče modelov s SageMaker MME
SageMaker MME vam omogočajo, da strežete več modelov hkrati, tako da ustvarite konfiguracijo končne točke, ki vključuje seznam vseh modelov za strežbo, in nato ustvarite končno točko z uporabo te konfiguracije končne točke. Končne točke ni treba znova namestiti vsakič, ko dodate nov model, ker bo končna točka samodejno služila vsem modelom, shranjenim na določenih poteh S3. To se doseže z Strežnik z več modeli (MMS), odprtokodno ogrodje za streženje modelov ML, ki se lahko namesti v vsebnike, da se zagotovi sprednji del, ki izpolnjuje zahteve za nove API-je vsebnika MME. Poleg tega lahko uporabite druge modele strežnikov, vključno z TorchServe in Triton. MMS lahko namestite v vsebnik po meri prek Komplet orodij za sklepanje SageMaker. Če želite izvedeti več o tem, kako konfigurirati vašo datoteko Dockerfile, da vključuje MMS in jo uporabite za svoje modele, glejte Zgradite svoj vsebnik za večmodelne končne točke SageMaker.
Naslednji delček kode prikazuje, kako ustvariti MME s SDK SageMaker Python:
Ko je MME v živo, ga lahko prikličemo za ustvarjanje napovedi. Priklice je mogoče izvesti v katerem koli SDK-ju AWS kot tudi s SDK-jem SageMaker Python, kot je prikazano v naslednjem izrezku kode:
Pri klicu modela se model najprej naloži iz Amazona S3 na instanco, kar lahko pri klicu novega modela povzroči hladen zagon. Pogosto uporabljeni modeli so predpomnjeni v pomnilniku in na disku, da se zagotovi sklepanje z nizko zakasnitvijo.
zaključek
SageMaker je zmogljiva in stroškovno učinkovita platforma za usposabljanje in strežbo na tisoče modelov ML. Njegove funkcije, vključno s procesiranjem SageMaker, delovnimi mesti za usposabljanje in MME, omogočajo organizacijam, da učinkovito usposabljajo in strežejo na tisoče modelov v velikem obsegu, hkrati pa izkoristijo prednosti prihranka pri stroških uporabe infrastrukture AWS Cloud. Če želite izvedeti več o tem, kako uporabljati SageMaker za usposabljanje in postrežbo na tisoče modelov, glejte Obdelajte podatke, Usposobite model z Amazon SageMaker in Gostite več modelov v enem vsebniku za eno končno točko.
O avtorjih
Davide Gallitelli je specializirani arhitekt rešitev za AI/ML v regiji EMEA. Ima sedež v Bruslju in tesno sodeluje s strankami po vsem Beneluksu. Razvijalec je že od malih nog, kodirati je začel pri 7 letih. AI/ML se je začel učiti na univerzi in od takrat se je vanj zaljubil.
Maurits de Groot je arhitekt rešitev pri Amazon Web Services iz Amsterdama. Rad se ukvarja s temami, povezanimi s strojnim učenjem, in ima nagnjenost k startupom. V prostem času rad smuča in igra squash.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Avtomobili/EV, Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- BlockOffsets. Posodobitev okoljskega offset lastništva. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/scale-training-and-inference-of-thousands-of-ml-models-with-amazon-sagemaker/
- :ima
- : je
- :ne
- :kje
- 000
- 000 kupcev
- 1
- 10
- 100
- 12
- 15%
- 20
- 7
- a
- sposobnost
- O meni
- natančna
- doseže
- čez
- dodajte
- Poleg tega
- Prednosti
- po
- starost
- AI / ML
- algoritmi
- vsi
- omogočajo
- omogoča
- že
- Prav tako
- Amazon
- Amazon SageMaker
- Amazon Web Services
- amsterdam
- an
- in
- kaj
- API
- API-ji
- Arhitektura
- Arhiv
- SE
- Argument
- AS
- domnevati
- At
- avtomatizirati
- samodejno
- izogniti
- izogibanje
- AWS
- temeljijo
- BE
- ker
- postanejo
- postane
- bilo
- pred
- zadaj
- počutje
- koristi
- Prednosti
- Boljše
- med
- tako
- Bruselj
- izgradnjo
- vendar
- by
- kliče
- CAN
- primeru
- razred
- tesno
- Cloud
- oblačna infrastruktura
- Cloud Storage
- Koda
- hladno
- podjetje
- konkurenčno
- dokončanje
- Izračunajte
- konfiguracija
- konfigurirano
- poraba
- Posoda
- Zabojniki
- stroškovno učinkovito
- ustvarjajo
- ustvaril
- ustvari
- Ustvarjanje
- ključnega pomena
- po meri
- stranka
- Stranke, ki so
- datum
- Priprava podatkov
- obdelava podatkov
- nabor podatkov
- Termini
- odločitve
- privzeto
- opredeliti
- opredelitev
- razporedi
- opisano
- Razvojni
- Razvijalci
- neposredno
- prikazovalniki
- distribuirati
- porazdeljena
- razne
- do
- opravljeno
- med
- vsak
- lahka
- učinkovito
- EMEA
- omogočajo
- omogoča
- konec
- Končna točka
- energija
- Poraba energije
- okolja
- Ocena
- vrednotenja
- Tudi vsak
- razvija
- Primer
- raziskuje
- Fallen
- Moda
- Lastnosti
- file
- datoteke
- iskanje
- prva
- Plavaj
- po
- za
- Za startupe
- Napovedi
- format
- Okvirni
- pogosto
- iz
- spredaj
- Prednji del
- v celoti
- funkcija
- funkcionalnost
- ustvarjajo
- ustvarila
- dobili
- GitHub
- he
- pomoč
- Pomaga
- tukaj
- na visoki ravni
- njegov
- gostitelj
- gostovanje
- Kako
- Kako
- HTML
- http
- HTTPS
- identifikator
- ponazarja
- vpliv
- uvoz
- in
- vključujejo
- vključuje
- Vključno
- vedno
- označuje
- individualna
- industrij
- obvestila
- Infrastruktura
- na začetku
- vhod
- vhodi
- v notranjosti
- vpogledi
- nameščen
- primer
- v
- IT
- ITS
- sam
- Job
- Delovna mesta
- jpg
- json
- Ključne
- velika
- pozneje
- UČITE
- učenje
- všeč mi je
- Omejitev
- Seznam
- v živo
- lokalno
- kraj aktivnosti
- Logika
- ljubezen
- stroj
- strojno učenje
- Znamka
- IZDELA
- upravlja
- upravlja
- Tržna
- pomeni
- pomeni
- Srečati
- Spomin
- ML
- Model
- modeli
- Trenutek
- več
- več
- Ime
- Nimate
- potrebna
- potrebe
- Novo
- št
- prenosnik
- Številka
- številke
- predmet
- of
- ponujanje
- on
- ONE
- na spletu
- open source
- Možnost
- možnosti
- or
- Da
- organizacije
- OS
- Ostalo
- naši
- Naše podjetje
- ven
- izhod
- lastne
- parameter
- zlasti
- mimo
- pot
- za
- Izvedite
- Obdobje
- slika
- platforma
- platon
- Platonova podatkovna inteligenca
- PlatoData
- igranje
- mogoče
- Prispevek
- moč
- močan
- Napovedi
- Predictor
- Priprava
- prevladujoč
- Postopek
- obravnavati
- zagotavljajo
- ponudniki
- zagotavlja
- zagotavljanje
- Python
- hitro
- naključno ustvarjeno
- območje
- obsegu
- hitro
- Surovi
- Preberi
- v realnem času
- prejema
- zmanjša
- zmanjšanje
- okolica
- Zahteve
- zahteva
- viri
- povzroči
- Nadaljuj
- robusten
- vloga
- Run
- SaaS
- sagemaker
- SageMaker cevovodi
- Enako
- Shrani
- razširljive
- Lestvica
- Scenarij
- Znanstveniki
- SDK
- služijo
- Strežniki
- Storitev
- Storitve
- služijo
- nastavite
- ostro
- pokazale
- Razstave
- Enostavno
- saj
- sam
- delček
- Software
- programske opreme kot storitve
- Rešitev
- rešitve
- nekaj
- specialist
- določeno
- Začetek
- začel
- Začetek
- Ustanavljanjem
- Država
- Koraki
- shranjevanje
- trgovina
- shranjeni
- trgovine
- shranjevanje
- Struktura
- POVZETEK
- podpora
- trajnostno
- sintetična
- ciljna
- Naloge
- da
- O
- Država
- njihove
- POTEM
- Tukaj.
- te
- ta
- tisoče
- 3
- vsej
- čas
- do
- Teme
- Sledenje
- Vlak
- usposobljeni
- usposabljanje
- Transform
- Vrste
- razumeli
- edinstven
- Enota
- univerza
- naprej
- Uporaba
- uporaba
- Rabljeni
- Uporabniki
- uporablja
- uporabo
- vrednost
- Vrednote
- raznolikost
- zelo
- preko
- W
- želeli
- je
- način..
- we
- web
- spletne storitve
- Dobro
- kdaj
- ki
- medtem
- WHO
- široka
- Širok spekter
- bo
- z
- v
- delo
- potek dela
- deluje
- bi
- Vi
- mladi
- Vaša rutina za
- zefirnet