Programování

Recenze: Amazon SageMaker hraje dohon

Když jsem v roce 2018 zkontroloval Amazon SageMaker, všiml jsem si, že se jednalo o vysoce škálovatelnou službu strojového učení a hlubokého učení, která podporuje 11 vlastních algoritmů a jakékoli další, které dodáváte. Optimalizace hyperparametru byla stále v náhledu a bylo třeba udělat si vlastní ETL a inženýrství funkcí.

Od té doby se rozsah SageMakeru rozšířil a rozšířil základní notebooky o IDE (SageMaker Studio) a automatizované strojové učení (SageMaker Autopilot) a přidal spoustu důležitých služeb do celkového ekosystému, jak je znázorněno na obrázku níže. Tento ekosystém podporuje strojové učení od přípravy přes vytváření modelů, školení a ladění až po nasazení a správu - jinými slovy od začátku do konce.

Co je nového v SageMakeru?

Co je nového? Vzhledem k tomu, že jsem se naposledy podíval na SageMaker hned po jeho vydání, je seznam poměrně dlouhý, ale pojďme začít s nejviditelnějšími službami.

  • SageMaker Studio, IDE založené na JupyterLab
  • SageMaker Autopilot, který automaticky sestavuje a trénuje až 50 modelů s vylepšenými funkcemi, které lze zkoumat v SageMaker Studio
  • SageMaker Ground Truth, který pomáhá vytvářet a spravovat tréninkové datové sady
  • Notebooky SageMaker nyní nabízejí elastické výpočty a sdílení jediným kliknutím
  • SageMaker Experiments, který pomáhá vývojářům vizualizovat a porovnávat iterace modelu strojového učení, parametry tréninku a výsledky
  • SageMaker Debugger, který poskytuje monitorování modelů strojového učení v reálném čase s cílem zlepšit prediktivní přesnost, zkrátit dobu školení a usnadnit lepší vysvětlení
  • Monitor modelu SageMaker, který detekuje posun konceptu, aby zjistil, kdy se výkon modelu běžícího v produkci začne odchýlit od původního trénovaného modelu

Mezi další významná vylepšení patří volitelné použití okamžitých instancí pro notebooky ke snížení nákladů; nový typ instance P3dn.24xl, který zahrnuje osm GPU V100; rámec TensorFlow optimalizovaný pro AWS, který dosahuje téměř lineární škálovatelnosti při tréninku více typů neuronových sítí; Amazon Elastic Inference, který může dramaticky snížit náklady na odvození; AWS Inferentia, což je vysoce výkonný inferenční čip strojového učení; a nové algoritmy, integrované do SageMakeru a dostupné na AWS Marketplace. Kromě toho SageMaker Neo kompiluje modely hlubokého učení tak, aby fungovaly na hraničních výpočetních zařízeních, a SageMaker RL (není zobrazen na diagramu) poskytuje službu spravovaného posílení učení.

Studio SageMaker

JupyterLab je webové uživatelské rozhraní nové generace pro Project Jupyter. SageMaker Studio používá JupyterLab jako základ pro IDE, které je jednotnou pracovní stanicí pro online strojové učení a hluboké učení s funkcemi spolupráce, správou experimentů, integrací Git a automatickým generováním modelů.

Snímek obrazovky níže ukazuje, jak nainstalovat příklady SageMaker do instance SageMaker Studio pomocí karty terminálu a příkazového řádku Git. Pokyny k tomu jsou v README pro tento příklad, což je druh Catch-22. Můžete si je přečíst procházením příkladu Začínáme na GitHubu nebo klonováním úložiště do vlastního počítače a jeho přečtením tam.

Příklad Začínáme na Amazonu obsahuje notebook s názvem xgboost_customer_churn_studio.ipynb, který byl upraven z příspěvku na blogu o předpovědi churn zákazníků. Jak notebooky Jupyter fungují, má spoustu vysvětlení, jak vidíte na obrázcích níže.

V příkladu je spuštěno další školení s externím algoritmem XGBoost upraveným tak, aby ukládal informace o ladění na Amazon S3 a vyvolal tři pravidla ladění. Tomu se říká rámec režim, což znamená, že nejde o vestavěný algoritmus.

Po dokončení školení můžete výsledky porovnat na kartě Experimenty.

Příklad poté hostuje model pomocí jeho nasadit metoda a testuje nasazený koncový bod pomocí jeho předpovědět metoda. Nakonec vytvoří základní úlohu s datovou sadou školení a naplánovanou monitorovací úlohou, která hlásí případná porušení omezení.

Mimochodem, XGBoost je pouze jedním z mnoha algoritmů zabudovaných do SageMakeru. Úplný seznam je uveden v tabulce níže - a vždy můžete vytvořit svůj vlastní model.

Autopilot společnosti SageMaker

Předpokládejme, že nevíš, jak dělat inženýrství funkcí a nejste příliš obeznámeni s různými algoritmy dostupnými pro různé úlohy strojového učení. SageMaker můžete stále používat - nechte jej běžet na autopilotu. SageMaker Autopilot je schopen zpracovat datové sady až do 5 GB.

Na níže uvedeném snímku obrazovky uvádíme příklad Direct Marketing s Amazon SageMaker Autopilot. Začíná to stažením dat, jejich rozbalením, nahráním do kbelíku S3 a spuštěním úlohy Autopilota voláním API create_auto_ml_job. Poté sledujeme průběh úlohy, která analyzuje data, provádí technické funkce a ladí modely, jak je znázorněno níže.

Příklad si pak vybere nejlepší model, použije ho k vytvoření a hostování koncového bodu a spustí úlohu transformace a přidá předpovědi modelu ke kopii testovacích dat. Nakonec najde dva notebooky vytvořené úlohou Autopilota.

K výsledkům Autopilotu existuje uživatelské rozhraní, i když to není zřejmé. Pokud kliknete pravým tlačítkem na automatický experiment, uvidíte všechny pokusy s jejich objektivními hodnotami, jak je uvedeno níže.

SageMaker Ground Truth

Pokud budete mít štěstí, všechna vaše data budou označena nebo jinak anotována a budou připravena k použití jako datová sada pro školení. Pokud ne, můžete data anotovat ručně (standardní vtip je, že úkol zadáte svým studentům), nebo můžete použít proces učení s částečným dohledem, který kombinuje lidské anotace s automatickými anotacemi. SageMaker Ground Truth je takový proces označování.

Jak vidíte na obrázku níže, Ground Truth lze aplikovat na řadu různých úkolů. Díky Ground Truth můžete použít pracovníky buď Amazon Mechanical Turk, nebo společnosti dodavatele, kterou si vyberete, nebo interní soukromou pracovní sílu spolu se strojovým učením, které vám umožní vytvořit označenou datovou sadu.

Amazon poskytuje sedm návodů, které ukazují různé způsoby použití SageMaker Ground Truth.

SageMaker Neo

Až donedávna bylo nasazení trénovaných modelů na okrajových zařízeních - například smartphonech a zařízeních IoT - obtížné. Existují specifická řešení, například TensorFlow Lite pro modely TensorFlow a TensorRT pro zařízení Nvidia, ale SageMaker Neo kompiluje a automaticky optimalizuje modely TensorFlow, Apache MXNet, PyTorch, ONNX a XGBoost pro nasazení také na procesory ARM, Intel a Nvidia jako zařízení Qualcomm, Cadence a Xilinx.

Podle AWS může Neo zdvojnásobit výkon modelů a zmenšit je natolik, aby fungovaly na okrajových zařízeních s omezeným množstvím paměti.

Možnosti nasazení odvození SageMaker

Pokud jde o výpočet, úložiště, síťový přenos atd., Nasazení modelů pro produkční odvození často představuje 90 procent nákladů na hluboké učení, zatímco školení představuje pouze 10 procent nákladů. AWS nabízí mnoho způsobů, jak snížit náklady na odvození.

Jedním z nich je Elastic Inference. AWS říká, že Elastic Inference může zrychlit propustnost a snížit latenci získávání inferencí v reálném čase z vašich modelů hlubokého učení, které jsou nasazeny jako modely hostované Amazon SageMaker, ale za zlomek nákladů na použití instance GPU pro váš koncový bod. Elastic Inference zrychluje odvozování tím, že vám umožňuje připojit zlomkové GPU k jakékoli instanci Amazon SageMaker.

Elastické odvození je podporováno ve verzích TensorFlow, Apache MXNet a PyTorch s povoleným pružným odvozením. Chcete-li použít jakýkoli jiný rámec hlubokého učení, exportujte model pomocí ONNX a poté model importujte do MXNet.

Pokud potřebujete více než 32 TFLOPS na jeden akcelerátor, které získáte z Elastic Inference, můžete použít instance EC2 G4, které mají GPU Nvidia T4, nebo instance EC2 Inf1, které mají vlastní akcelerátorové čipy AWS Inferentia. Pokud potřebujete rychlost čipů Inferentia, můžete pomocí AWS Neuron SDK zkompilovat svůj model hlubokého učení do formátu Neuron Executable File Format (NEFF), který je zase načten runtime ovladačem Neuron k provedení požadavků na odvození vstupů na Inferentia bramborové hranolky.

V tomto okamžiku je náhled Amazon SageMaker Studio dostatečně dobrý pro použití pro end-to-end strojové učení a hluboké učení: příprava dat, školení modelu, nasazení modelu a monitorování modelu. Zatímco uživatelská zkušenost stále ponechává několik věcí, které je třeba splnit, například lepší objevování funkcí, Amazon SageMaker nyní konkuruje prostředím strojového učení dostupným v jiných cloudech.

Náklady: 0,0464 až 34 272 $ za hodinu za hodinu pro výpočet, v závislosti na počtu CPU a GPU; Úložiště SSD: 0,14 USD za GB měsíčně; Přenos dat: 0,016 USD za GB dovnitř nebo ven.

Plošina: Hostováno na webových službách Amazon.

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