Programovanie

Recenzia: Amazon SageMaker hrá hry doháňané

Keď som v roku 2018 recenzoval Amazon SageMaker, všimol som si, že išlo o vysoko škálovateľnú službu strojového učenia a hlbokého učenia, ktorá podporuje 11 vlastných algoritmov a ďalšie, ktoré dodávate. Optimalizácia hyperparametra bola stále v ukážke a bolo potrebné vytvoriť si vlastné ETL a inžinierstvo funkcií.

Od tej doby sa rozsah SageMakeru rozšíril a rozšíril základné notebooky o IDE (SageMaker Studio) a automatizované strojové učenie (SageMaker Autopilot) a pridal množstvo dôležitých služieb do celkového ekosystému, ako je znázornené na nasledujúcom diagrame. Tento ekosystém podporuje strojové učenie od prípravy cez tvorbu modelu, školenie a vyladenie až po nasadenie a správu - inými slovami od konca k druhému.

Čo je nové v programe SageMaker?

Čo je nové? Vzhľadom na to, že som sa na program SageMaker naposledy pozrel tesne po jeho vydaní, je zoznam pomerne dlhý, ale začnime s najviditeľnejšími službami.

  • SageMaker Studio, IDE založené na JupyterLab
  • Autopilot SageMaker, ktorý automaticky zostavuje a trénuje až 50 modelov s vylepšenými funkciami, ktoré je možné preskúmať v programe SageMaker Studio.
  • SageMaker Ground Truth, ktorý pomáha budovať a spravovať súbory školení
  • Notebooky SageMaker teraz ponúkajú elastické výpočty a zdieľanie jedným kliknutím
  • SageMaker Experiments, ktorý pomáha vývojárom vizualizovať a porovnávať iterácie modelu strojového učenia, parametre tréningu a výsledky
  • SageMaker Debugger, ktorý poskytuje monitorovanie modelov strojového učenia v reálnom čase na zlepšenie prediktívnej presnosti, skrátenie časov školenia a uľahčenie väčšej vysvetliteľnosti
  • Monitor modelu SageMaker, ktorý detekuje posun koncepcie, aby zistil, kedy sa výkon modelu bežiaceho vo výrobe začína odchyľovať od pôvodného trénovaného modelu

Medzi ďalšie významné vylepšenia patrí voliteľné použitie okamžitých inštancií pre notebooky na zníženie nákladov; nový typ inštancie P3dn.24xl, ktorý obsahuje osem GPU V100; rámec TensorFlow optimalizovaný pre AWS, ktorý dosahuje takmer lineárnu škálovateľnosť pri výcviku viacerých typov neurónových sietí; Amazon Elastic Inference, ktorý môže dramaticky znížiť náklady na odvodenie; AWS Inferentia, čo je vysoko výkonný odvodzovací čip strojového učenia; a nové algoritmy, ktoré sú zabudované do programu SageMaker a sú k dispozícii na AWS Marketplace. Okrem toho program SageMaker Neo kompiluje modely hlbokého učenia tak, aby fungovali na okrajových výpočtových zariadeniach, a program SageMaker RL (na obrázku nie je zobrazený) poskytuje službu výučby spravovaného posilnenia.

Štúdio SageMaker

JupyterLab je webové používateľské rozhranie novej generácie pre Project Jupyter. SageMaker Studio používa JupyterLab ako základ pre IDE, ktoré je jednotnou online strojovou výučbou a pracovnou stanicou pre hlboké učenie s funkciami spolupráce, správou experimentov, integráciou Git a automatickým generovaním modelov.

Screenshot nižšie ukazuje, ako nainštalovať príklady SageMaker do inštancie SageMaker Studio pomocou karty terminálu a príkazového riadku Git. Pokyny na to sú uvedené v dokumente README pre tento príklad, ktorý je typom hry Catch-22. Môžete si ich prečítať prehľadaním príkladu Začíname na GitHube alebo klonovaním úložiska do vlastného počítača a jeho prečítaním na tomto serveri.

Príklad Začíname na Amazone obsahuje notebook s názvom xgboost_customer_churn_studio.ipynb, ktorý bol upravený z príspevku na blogu o predpovedaní churn zákazníkov. Notebooky Jupyter majú veľa vysvetlení, ako vidíte na obrázkoch nižšie.

V príklade sa pokračuje ďalším školením s externým algoritmom XGBoost upraveným tak, aby ukladal informácie o ladení do služby Amazon S3, a vyvolal tri pravidlá ladenia. Toto sa nazýva rámec režim, čo znamená, že nejde o zabudovaný algoritmus.

Po dokončení školení môžete výsledky porovnať na karte Experimenty.

Príklad potom hostí model pomocou jeho nasadiť metóda a testuje nasadený koncový bod pomocou jeho predvídať metóda. Nakoniec vytvorí základnú úlohu so súborom tréningových údajov a naplánovanou monitorovacou úlohou, ktorá nahlási akékoľvek porušenie obmedzení.

Mimochodom, XGBoost je iba jedným z mnohých algoritmov zabudovaných do programu SageMaker. Celý zoznam je uvedený v nasledujúcej tabuľke - a kedykoľvek si môžete vytvoriť svoj vlastný model.

Autopilot spoločnosti SageMaker

Predpokladajme, že neviete, ako robiť inžinierstvo funkcií, a nie ste príliš oboznámení s rôznymi algoritmami dostupnými pre rôzne úlohy strojového učenia. SageMaker môžete stále používať - ​​nechajte ho bežať na autopilote. SageMaker Autopilot je schopný spracovať súbory údajov do 5 GB.

Na snímke obrazovky nižšie používame príklad Direct Marketing s Amazon SageMaker Autopilot. Začína sa to stiahnutím údajov, ich rozbalením, odovzdaním do vedra S3 a spustením úlohy Autopilota zavolaním rozhrania API create_auto_ml_job. Potom sledujeme postup úlohy, keď analyzuje údaje, robí inžinierstvo funkcií a ladí modely, ako je uvedené nižšie.

Príklad si potom vyberie najlepší model, použije ho na vytvorenie a hosťovanie koncového bodu a spustí úlohu transformácie, aby pridal predpovede modelu do kópie testovacích údajov. Nakoniec nájde dva notebooky vytvorené úlohou Autopilota.

Výsledky autopilotu majú používateľské rozhranie, aj keď to nie je zrejmé. Ak kliknete pravým tlačidlom myši na automatický experiment, zobrazia sa všetky pokusy s objektívnymi hodnotami, ako je uvedené nižšie.

SageMaker Ground Truth

Ak budete mať šťastie, všetky vaše údaje budú označené alebo inak anotované a pripravené na použitie ako školiaci údajový súbor. Ak nie, môžete anotovať údaje manuálne (štandardný vtip je, že úlohu zadáte svojim študentom), alebo môžete použiť proces výučby s čiastočným dohľadom, ktorý kombinuje ľudské anotácie s automatickými anotáciami. SageMaker Ground Truth je taký proces označovania.

Ako vidíte na diagrame nižšie, Ground Truth je možné aplikovať na množstvo rôznych úloh. Vďaka Ground Truth môžete využiť pracovníkov buď spoločnosti Amazon Mechanical Turk, alebo spoločnosti dodávateľa, ktorú si vyberiete, alebo internej súkromnej pracovnej sily spolu so strojovým učením, ktoré vám umožnia vytvoriť označený súbor údajov.

Amazon poskytuje sedem návodov, ktoré demonštrujú rôzne spôsoby použitia SageMaker Ground Truth.

SageMaker Neo

Nasadenie trénovaných modelov na okrajové zariadenia - napríklad smartfóny a zariadenia IoT - bolo donedávna náročné. Existujú určité riešenia, napríklad TensorFlow Lite pre modely TensorFlow a TensorRT pre zariadenia Nvidia, ale SageMaker Neo kompiluje a automaticky optimalizuje modely TensorFlow, Apache MXNet, PyTorch, ONNX a XGBoost pre nasadenie aj na procesory ARM, Intel a Nvidia. ako zariadenia Qualcomm, Cadence a Xilinx.

Podľa AWS môže Neo zdvojnásobiť výkon modelov a natoľko ich zmenšiť, aby fungovali na okrajových zariadeniach s obmedzeným množstvom pamäte.

Možnosti nasadenia odvodenia SageMaker

Pokiaľ ide o výpočty, ukladanie, sieťový prenos atď., Nasadenie modelov pre odvodenie produkcie často predstavuje 90 percent nákladov na hlboké učenie, zatiaľ čo školenie predstavuje iba 10 percent nákladov. AWS ponúka mnoho spôsobov, ako znížiť náklady na odvodenie.

Jedným z nich je Elastic Inference. AWS hovorí, že elastická inferencia môže zrýchliť priepustnosť a znížiť latenciu získavania záverov v reálnom čase z vašich modelov hlbokého učenia, ktoré sú nasadené ako modely hostené v Amazon SageMaker, ale za zlomok nákladov na použitie inštancie GPU pre váš koncový bod. Elastická inferencia urýchľuje odvodenie tým, že vám umožňuje pripojiť zlomkové GPU k akejkoľvek inštancii Amazon SageMaker.

Elastic Inference je podporovaná vo verziách TensorFlow, Apache MXNet a PyTorch s povolenou Elastic Inference. Ak chcete použiť akýkoľvek iný rámec hlbokého učenia, exportujte model pomocou protokolu ONNX a potom model importujte do siete MXNet.

Ak potrebujete viac ako 32 TFLOPS na akcelerátor, ktoré získate z Elastic Inference, môžete použiť inštancie EC2 G4, ktoré majú GPU Nvidia T4, alebo inštancie EC2 Inf1, ktoré majú vlastné akceleračné čipy AWS Inferentia. Ak potrebujete rýchlosť čipov Inferentia, môžete použiť AWS Neuron SDK na kompiláciu vášho modelu hlbokého učenia do formátu Neuron Executable File Format (NEFF), ktorý je zase načítaný runtime ovládačom Neuron na vykonávanie požiadaviek na odvodenie inferencie lupienky.

V tomto okamihu je ukážka Štúdia Amazon SageMaker dosť dobrá na to, aby sa dala využívať na end-to-end strojové učenie a hlboké učenie: príprava dát, školenie modelu, nasadenie modelu a monitorovanie modelu. Aj keď používateľská skúsenosť ešte stále vyžaduje niekoľko vecí, ako je napríklad lepšie zistenie funkčnosti, Amazon SageMaker je teraz konkurencieschopný s prostrediami strojového učenia dostupnými v iných cloudoch.

Náklady: 0,0464 až 34 272 dolárov za hodinu inštancie za výpočty, v závislosti od počtu CPU a GPU; Úložisko SSD: 0,14 USD za GB mesačne; Prenos dát: 0,016 USD za GB dovnútra alebo von.

Plošina: Hostené na webových službách Amazon.

$config[zx-auto] not found$config[zx-overlay] not found