Az Amazon SageMaker JumpStart modellek és algoritmusok már elérhetők az API PlatoBlockchain Data Intelligence-en keresztül. Függőleges keresés. Ai.

Az Amazon SageMaker JumpStart modellek és algoritmusok már elérhetők API-n keresztül

Decemberben 2020, Az AWS bejelentette az általános elérhetőséget of Amazon SageMaker JumpStart, képessége Amazon SageMaker amely segít gyorsan és egyszerűen elkezdeni a gépi tanulást (ML). A JumpStart az előre betanított modellek széles skálájának egy kattintással történő finomhangolását és telepítését biztosítja a népszerű ML-feladatok között, valamint a gyakori üzleti problémákat megoldó végpontok közötti megoldások választékát. Ezek a funkciók eltávolítják az ML folyamat minden egyes lépéséből adódó nehézségeket, megkönnyítve a kiváló minőségű modellek fejlesztését, és lerövidítve a telepítéshez szükséges időt.

Korábban az összes JumpStart tartalom csak a következőn keresztül volt elérhető Amazon SageMaker Studio, amely a felhasználóbarát grafikus felület kölcsönhatásba lépni a funkcióval. A mai napon örömmel jelentjük be, hogy elindítottuk az egyszerűen használhatót JumpStart API-k a SageMaker Python SDK kiterjesztéseként. Ezek az API-k lehetővé teszik a JumpStart által támogatott előre betanított modellek hatalmas választékának programozott telepítését és finomhangolását saját adatkészletein. Ez az indítás feloldja a JumpStart képességek használatát a kódmunkafolyamatokban, az MLOps folyamatokban, és bárhol máshol, ahol SDK-n keresztül kommunikál a SageMakerrel.

Ebben a bejegyzésben frissítést adunk a JumpStart képességeinek jelenlegi állapotáról, és egy példa használati esettel végigvezetjük a JumpStart API használati folyamatán.

JumpStart áttekintése

A JumpStart egy sokrétű termék, amely különböző képességeket tartalmaz, amelyek segítségével gyorsan elkezdheti az ML használatát a SageMakeren. Az írás idején a JumpStart a következőket teszi lehetővé:

  • Telepítsen előre betanított modelleket a gyakori ML-feladatokhoz – A JumpStart lehetővé teszi a gyakori ML-feladatok megoldását fejlesztési erőfeszítések nélkül a nyilvánosan elérhető nagy adatkészleteken előre betanított modellek egyszerű telepítésével. Az ML-kutató közösség nagy erőfeszítéseket tett annak érdekében, hogy a közelmúltban kifejlesztett modellek többségét nyilvánosan elérhetővé tegye. A JumpStart több mint 300 modellből álló gyűjteményt tartalmaz, amelyek a 15 legnépszerűbb ML-feladatot ölelik fel, mint például az objektumészlelés, a szövegosztályozás és a szöveggenerálás, így a kezdők is könnyen használhatják őket. Ezek a modellek olyan népszerű modellközpontokból származnak, mint a TensorFlow, PyTorch, Hugging Face és MXNet Hub.
  • Az előre betanított modellek finomhangolása – A JumpStart lehetővé teszi az előre betanított modellek finomhangolását anélkül, hogy saját edzési algoritmust kellene írnia. Az ML-ben az egyik tartományban tanult tudás másik tartományba való átvitelének képességét hívják transzfer tanulás. Az átviteli tanulás segítségével pontos modelleket állíthat elő kisebb adatkészletein, sokkal alacsonyabb képzési költségekkel, mint az eredeti modell nulláról való betanításával kapcsolatos költségek. A JumpStart a LightGBM, CatBoost, XGBoost és Scikit-learn alapú népszerű edzési algoritmusokat is tartalmazza, amelyeket a nulláról edzhet a táblázatos adatregresszióhoz és -osztályozáshoz.
  • Használjon előre elkészített megoldásokat – A JumpStart egy sor 17 előre elkészített megoldás a gyakori ML használati esetekhez, mint például a kereslet-előrejelzés, valamint az ipari és pénzügyi alkalmazásokhoz, amelyeket néhány kattintással telepíthet. A megoldások teljes körű ML-alkalmazások, amelyek különböző AWS-szolgáltatásokat kapcsolnak össze egy adott üzleti felhasználási eset megoldása érdekében. Használják AWS felhőképződés sablonok és referenciaarchitektúrák a gyors üzembe helyezés érdekében, ami azt jelenti, hogy teljes mértékben testreszabhatók.
  • Használjon jegyzetfüzet-példákat a SageMaker algoritmusokhoz – A SageMaker egy csomagot biztosít beépített algoritmusok hogy segítsen az adattudósoknak és az ML-gyakorlóknak az ML-modellek gyors képzésében és bevezetésében. A JumpStart mintajegyzetfüzeteket biztosít, amelyek segítségével gyorsan használhatja ezeket az algoritmusokat.
  • Használja ki a képzési videók és blogok előnyeit – A JumpStart számos blogbejegyzést és videót is kínál, amelyek megtanítják a SageMaker különböző funkcióinak használatát.

A JumpStart elfogadja az egyéni VPC-beállításokat és a KMS-titkosítási kulcsokat, így a rendelkezésre álló modelleket és megoldásokat biztonságosan használhatja vállalati környezetben. Biztonsági beállításait átadhatja a JumpStartnak a SageMaker Studióban vagy a SageMaker Python SDK-n keresztül.

JumpStart által támogatott ML feladatok és API-példák notebookok

A JumpStart jelenleg 15 legnépszerűbb ML feladatot támogat; Ebből 13 látás és NLP alapú feladat, ebből 8 támogatja a kód nélküli finomhangolást. Támogatja a táblázatos adatmodellezés négy népszerű algoritmusát is. A feladatokat és a mintafüzetekre mutató hivatkozásokat a következő táblázat foglalja össze.

Feladat Következtetés előre betanított modellekkel Képzés egyéni adatkészletről A keretrendszerek támogatottak Példafüzetek
Képosztályozás Igen Igen PyTorch, TensorFlow A JumpStart bemutatása – Képosztályozás
Objektumfelismerés Igen Igen PyTorch, TensorFlow, MXNet A JumpStart – Objektumészlelés bemutatása
Szemantikus szegmentálás Igen Igen MX Net Bevezetés a JumpStartba – Szemantikus szegmentáció
Példányszegmentálás Igen nem MX Net Bevezetés a JumpStartba – Példányszegmentálás
Kép beágyazása Igen nem TensorFlow, MXNet A JumpStart – Képbeágyazás bemutatása
Szöveg osztályozása Igen Igen TensorFlow Bevezetés a JumpStartba – Szövegosztályozás
Mondatpár osztályozás Igen Igen TensorFlow, átölelő arc A JumpStart bemutatása – Mondatpárok osztályozása
Kérdés megválaszolása Igen Igen PyTorch A JumpStart bemutatása – Kérdések megválaszolása
Elnevezett entitás-felismerés Igen nem Átölelő arc Bevezetés a JumpStart – Named Entity Recognition szolgáltatásba
Szöveg Összegzés Igen nem Átölelő arc Bevezetés a JumpStartba – Szövegösszegzés
Szöveggenerálás Igen nem Átölelő arc A JumpStart – Szöveggenerálás bemutatása
Gépi fordítás Igen nem Átölelő arc Bevezetés a JumpStartba – Gépi fordítás
Szöveg beágyazása Igen nem TensorFlow, MXNet A JumpStart – Szövegbeágyazás bemutatása
táblázatos osztályozás Igen Igen LightGBM, CatBoost, XGBoost, Lineáris tanuló A JumpStart bemutatása – táblázatos osztályozás – LightGBM, CatBoost
A JumpStart bemutatása – táblázatos osztályozás – XGBoost, lineáris tanuló
Táblázatos regresszió Igen Igen LightGBM, CatBoost, XGBoost, Lineáris tanuló A JumpStart – táblázatos regresszió – LightGBM, CatBoost bemutatása
A JumpStart bemutatása – táblázatos regresszió – XGBoost, lineáris tanuló

A feladattól függően az előző táblázatban hivatkozott mintajegyzetfüzetek a következő folyamatok mindegyikéhez vagy egy részéhez vezethetnek:

  • Válasszon egy JumpStart által támogatott előre betanított modellt az adott feladathoz.
  • Hozzon létre egy előre betanított modellt, kapjon belőle valós időben előrejelzéseket, és megfelelően jelenítse meg az eredményeket.
  • Finomhangoljon egy előre betanított modellt a hiperparaméterek saját kiválasztásával, és állítsa be a következtetésekhez.

Az objektumészlelési modell finomhangolása és üzembe helyezése a JumpStart API-kkal

A következő szakaszokban lépésről lépésre bemutatjuk, hogyan kell használni az új JumpStart API-kat az objektumészlelés reprezentatív feladatához. Megmutatjuk, hogyan lehet egy előre betanított objektumészlelési modellt használni az objektumok azonosítására egy előre meghatározott osztálykészletből egy képen határolókeretekkel. Végül bemutatjuk, hogyan lehet finomhangolni egy előre betanított modellt a saját adatkészletén, hogy a képeken olyan objektumokat észlelhessen, amelyek kifejezetten az Ön üzleti igényeinek felelnek meg, egyszerűen a saját adatainak bevitelével. Biztosítunk egy kísérő jegyzetfüzet ehhez az áttekintéshez.

A következő magas szintű lépéseken megyünk keresztül:

  1. Futtasson következtetést az előre betanított modellen.
    1. JumpStart melléktermékek lekérése és végpont telepítése.
    2. Kérdezze le a végpontot, elemezze a választ, és jelenítse meg a modell előrejelzéseit.
  2. Finomhangolja az előre betanított modellt saját adatkészletén.
    1. A képzési műtermékek lekérése.
    2. Fuss edzés.

Futtasson következtetést az előre betanított modellen

Ebben a részben kiválasztunk egy megfelelő előre betanított modellt a JumpStartban, telepítjük ezt a modellt egy SageMaker-végpontra, és megmutatjuk, hogyan futtassunk le következtetést a telepített végponton. Minden lépés elérhető a kísérő Jupyter notebook.

JumpStart melléktermékek lekérése és végpont telepítése

A SageMaker egy Docker konténereken alapuló platform. A JumpStart a rendelkezésre álló keretrendszer-specifikusat használja SageMaker Deep Learning tárolók (DLC-k). Lekérünk minden további csomagot, valamint szkripteket, amelyekkel kezelhetjük a képzést és a következtetéseket a kiválasztott feladathoz. Végül az előre betanított modelltermékeket külön lekérjük model_uris, amely rugalmasságot biztosít a platform számára. Tetszőleges számú, ugyanarra a feladatra előre betanított modellt használhat egyetlen betanítási vagy következtetési szkripttel. Lásd a következő kódot:

infer_model_id, infer_model_version = "pytorch-od-nvidia-ssd", "*" # Retrieve the inference docker container uri. This is the base container PyTorch image for the model selected above. deploy_image_uri = image_uris.retrieve(region=None, framework=None, image_scope="inference",model_id=infer_model_id, model_version=infer_model_version, instance_type=inference_instance_type) # Retrieve the inference script uri. This includes all dependencies and scripts for model loading, inference handling etc.
deploy_source_uri = script_uris.retrieve(model_id=infer_model_id, model_version=infer_model_version, script_scope="inference") # Retrieve the base model uri. This includes the pre-trained nvidia-ssd model and parameters.
base_model_uri = model_uris.retrieve(model_id=infer_model_id, model_version=infer_model_version, model_scope="inference")

Ezután az erőforrásokat a SageMaker modell példány és telepítsen egy végpontot:

# Create the SageMaker model instance
model = Model(image_uri=deploy_image_uri, source_dir=deploy_source_uri, model_data=base_model_uri, entry_point="inference.py", role=aws_role, predictor_cls=Predictor, name=endpoint_name) # deploy the Model. Note that we need to pass Predictor class when we deploy model through Model class for being able to run inference through the sagemaker API.
base_model_predictor = model.deploy(initial_instance_count=1, instance_type=inference_instance_type, predictor_cls=Predictor, endpoint_name=endpoint_name)

A végpontok telepítése néhány percig tarthat.

Kérdezze le a végpontot, elemezze a választ, és jelenítse meg az előrejelzéseket

Ahhoz, hogy következtetéseket lehessen levonni egy telepített modellből, egy bemeneti képet bináris formátumban kell megadni egy elfogadási típussal együtt. A JumpStartban megadhatja a visszaadott határolókeretek számát. A következő kódrészletben képenként tíz határolókeretet jósolunk hozzáfűzéssel ;n_predictions=10 nak nek Accept. Az xx dobozok előrejelzéséhez módosíthatja a következőre ;n_predictions=xx , vagy kapja meg az összes előrejelzett mezőt kihagyásával ;n_predictions=xx teljesen.

def query(model_predictor, image_file_name): with open(image_file_name, "rb") as file: input_img_rb = file.read() return model_predictor.predict(input_img_rb,{ "ContentType": "application/x-image", "Accept": "application/json;verbose;n_predictions=10"}) query_response = query(base_model_predictor, Naxos_Taverna)

A következő kódrészlet bepillantást enged abba, hogy hogyan néz ki az objektumészlelés. Megjelenik az egyes objektumosztályokhoz megjósolt valószínűség, a határolókerettel együtt. Használjuk a parse_response és a display_predictions segítő funkciók, melyeket a mellékelt rész definiál jegyzetfüzet.

normalized_boxes, classes_names, confidences = parse_response(query_response)
display_predictions(Naxos_Taverna, normalized_boxes, classes_names, confidences)

A következő képernyőkép egy kép kimenetét mutatja előrejelző címkékkel és határolókeretekkel.

Az Amazon SageMaker JumpStart modellek és algoritmusok már elérhetők az API PlatoBlockchain Data Intelligence-en keresztül. Függőleges keresés. Ai.

Finomhangoljon egy előre betanított modellt saját adatkészletén

A JumpStart meglévő objektumészlelési modelljei vagy a COCO-ra, vagy a VOC-adatkészletekre előre betanítottak. Ha azonban olyan objektumosztályokat kell azonosítania, amelyek nem léteznek az eredeti képzés előtti adatkészletben, akkor finomhangolnia kell a modellt egy új adatkészleten, amely tartalmazza ezeket az új objektumtípusokat. Például, ha meg kell határoznia a konyhai eszközöket, és következtetéseket kell lefuttatnia egy telepített, előre betanított SSD-modellről, akkor a modell nem ismeri fel az új képtípusok jellemzőit, ezért a kimenet helytelen.

Ebben a részben bemutatjuk, milyen egyszerű egy előre betanított modell finomhangolása az új objektumosztályok felismerésére JumpStart API-k segítségével. A teljes kódpélda további részletekkel elérhető a kísérő jegyzetfüzet.

Tanulási műtermékek lekérése

A képzési műtermékek hasonlóak az előző részben tárgyalt következtetési műtermékekhez. A képzéshez szükség van egy alap Docker-tárolóra, nevezetesen az MXNet-tárolóra a következő példakódban. A képzéshez szükséges további csomagokat a képzési szkriptek tartalmazzák train_sourcer_uri. Az előre betanított modellt és paramétereit külön csomagoljuk.

train_model_id, train_model_version, train_scope = "mxnet-od-ssd-512-vgg16-atrous-coco","*","training"
training_instance_type = "ml.p2.xlarge" # Retrieve the docker image. This is the base container MXNet image for the model selected above. train_image_uri = image_uris.retrieve(region=None, framework=None, model_id=train_model_id, model_version=train_model_version, image_scope=train_scope,instance_type=training_instance_type) # Retrieve the training script and dependencies. This contains all the necessary files including data processing, model training etc.
train_source_uri = script_uris.retrieve(model_id=train_model_id, model_version=train_model_version, script_scope=train_scope) # Retrieve the pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(
model_id=train_model_id, model_version=train_model_version, model_scope=train_scope)

Fuss edzés

Az edzés futtatásához egyszerűen beadjuk a szükséges műtermékeket néhány további paraméterrel együtt a SageMaker Becslő és felhívja a .fit funkció:

# Create SageMaker Estimator instance
od_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", # Entry-point file in source_dir and present in train_source_uri. instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location,
) # Launch a SageMaker Training job by passing s3 path of the training data
od_estimator.fit({"training": training_dataset_s3_path}, logs=True)

Amíg az algoritmus edz, nyomon követheti a folyamatát a SageMaker notebookban, ahol magát a kódot futtatja, vagy amazonfelhőóra. Amikor a képzés befejeződött, a finomhangolt modellműtermékek feltöltődnek a Amazon egyszerű tárolási szolgáltatás (Amazon S3) a képzési konfigurációban megadott kimeneti hely. Most már ugyanúgy telepítheti a modellt, mint az előre betanított modellt. A folyamat többi részét a kísérő jegyzetfüzet.

Következtetés

Ebben a bejegyzésben ismertettük az újonnan kiadott JumpStart API-k értékét és használatukat. A JumpStart által támogatott különböző ML-feladatokhoz 17 példajegyzetfüzetre mutató hivatkozásokat adtunk meg, és végigvezettük az objektumészlelési jegyzetfüzeten.

A JumpStart szolgáltatással való kísérletezés során várjuk minden hírét.


A szerzőkről

Az Amazon SageMaker JumpStart modellek és algoritmusok már elérhetők az API PlatoBlockchain Data Intelligence-en keresztül. Függőleges keresés. Ai.Dr. Vivek Madan az Amazon SageMaker JumpStart csapatának alkalmazott tudósa. PhD fokozatát az Illinoisi Egyetemen szerezte, az Urbana-Champaign-ben, és posztdoktori kutatóként dolgozott a Georgia Technél. Aktív kutatója a gépi tanulásnak és az algoritmustervezésnek, és publikált előadásokat EMNLP, ICLR, COLT, FOCS és SODA konferenciákon.

Az Amazon SageMaker JumpStart modellek és algoritmusok már elérhetők az API PlatoBlockchain Data Intelligence-en keresztül. Függőleges keresés. Ai.João Moura AI/ML Specialist Solutions Architect az Amazon Web Servicesnél. Leginkább az NLP-használati esetekre összpontosít, és segít ügyfeleinek a Deep Learning modell képzésének és bevezetésének optimalizálásában.

Az Amazon SageMaker JumpStart modellek és algoritmusok már elérhetők az API PlatoBlockchain Data Intelligence-en keresztül. Függőleges keresés. Ai.Dr. Ashish Khetan vezető alkalmazott tudós Amazon SageMaker JumpStart és a Amazon SageMaker beépített algoritmusok és segít a gépi tanulási algoritmusok fejlesztésében. A gépi tanulás és a statisztikai következtetések aktív kutatója, és számos közleményt publikált NeurIPS, ICML, ICLR, JMLR és ACL konferenciákon.

Időbélyeg:

Még több AWS gépi tanulás