Ez az architektúra-útmutató bemutatja, hogyan hozhat létre skálázható megoldást az Azure Machine Tanulás kötegelt pontozási modellekhez. A megoldás sablonként használható, és általánosíthat a különböző problémákra.
Architektúra
Töltse le az architektúra Visio-fájlját.
Munkafolyamat
Ez az architektúra-útmutató a streamelési és a statikus adatokra egyaránt alkalmazható, feltéve, hogy a betöltési folyamat az adattípushoz van igazítva. Az alábbi lépések és összetevők a két adattípus betöltését írják le.
Streamelési adatok:
- A streamelési adatok az IoT-érzékelőkből származnak, ahol az új eseményeket gyakran streamelik.
- A bejövő streamelési események várólistára kerülnek az Azure Event Hubs használatával, majd előre feldolgozzák az Azure Stream Analytics használatával.
- Azure Event Hubs. Ez az üzenetbetöltési szolgáltatás másodpercenként több millió eseményüzenetet képes fogadni. Ebben az architektúrában az érzékelők adatstreamet küldenek az eseményközpontba.
- Azure Stream Analytics. Eseményfeldolgozó motor. A Stream Analytics-feladat beolvassa az adatfolyamokat az eseményközpontból, és elvégzi a streamfeldolgozást.
Statikus adatok:
- A statikus adatkészletek fájlként tárolhatók az Azure Data Lake Storage-ban, vagy táblázatos formában az Azure Synapse-ban vagy az Azure SQL Database-ben.
- Az Azure Data Factory használható a tárolt adatkészlet összesítésére vagy előzetes feldolgozására.
Az adatbetöltés után fennmaradó architektúra egyenlő a streamelési és a statikus adatokkal, és a következő lépésekből és összetevőkből áll:
- A betöltött, összesített vagy előre feldolgozott adatok dokumentumként tárolhatók az Azure Data Lake Storage-ban, táblázatos formában az Azure Synapse-ban vagy az Azure SQL Database-ben. Ezeket az adatokat ezután az Azure Machine Tanulás fogja felhasználni.
- Az Azure Machine Tanulás a gépi tanulási modellek nagy léptékű betanítására, üzembe helyezésére és kezelésére szolgál. A kötegelt pontozás kontextusában az Azure Machine Tanulás létrehoz egy virtuális gépekből álló fürtöt automatikus skálázási beállítással, ahol a feladatok végrehajtása párhuzamosan történik a Python-szkriptekkel.
- A modellek felügyelt Batch-végpontokként vannak üzembe helyezve, amelyek aztán kötegelt következtetést végeznek nagy mennyiségű adaton egy adott időszak alatt. A Batch-végpontok adatokra vonatkozó mutatókat fogadnak és aszinkron módon futtatják a feladatokat az adatok számítási fürtökön való párhuzamos feldolgozásához.
- A következtetési eredmények dokumentumként tárolhatók az Azure Data Lake Storage-ban, vagy táblázatos formában az Azure Synapse-ban vagy az Azure SQL Database-ben.
- Vizualizáció: A tárolt modell eredményei felhasználhatók felhasználói felületeken, például Power BI-irányítópultokon vagy egyéni webalkalmazásokon keresztül.
Összetevők
- Azure-eseményközpontok
- Azure Stream Analytics
- Azure SQL Database
- Azure Synapse Analytics
- Azure Data Lake Storage
- Azure Data Factory
- Azure Machine Learning
- Azure Machine Tanulás-végpontok
- Microsoft Power BI az Azure-ban
- Azure Web Apps
Megfontolások
Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek halmaza. További információ: Microsoft Azure Well-Architected Framework.
Teljesítmény
A standard Python-modellek esetében általánosan elfogadott, hogy a processzorok elegendőek a számítási feladatok kezeléséhez. Ez az architektúra processzorokat használ. A mélytanulási számítási feladatok esetében azonban a grafikus feldolgozási egységek (GPU-k) általában jelentős mértékben felülmúlják a CPU-kat; általában nagy méretű processzorfürtre van szükség az összehasonlítható teljesítmény eléréséhez.
Párhuzamosítás virtuális gépek és magok között
Amikor több modell pontozási folyamatait futtatja kötegelt módban, a feladatokat párhuzamosan kell futtatni a virtuális gépek között. Két megközelítés lehetséges:
- Hozzon létre egy nagyobb fürtöt alacsony költségű virtuális gépek használatával.
- Hozzon létre egy kisebb fürtöt nagy teljesítményű virtuális gépek használatával, és mindegyiken több mag érhető el.
Általánosságban elmondható, hogy a standard Python-modellek pontozása nem olyan igényes, mint a mélytanulási modellek pontozása, és egy kis fürtnek képesnek kell lennie nagy számú várólistás modell hatékony kezelésére. Az adathalmaz méretének növekedésével növelheti a fürtcsomópontok számát.
Ebben a forgatókönyvben egyetlen pontozási feladatot kell elküldeni egyetlen Azure Machine-Tanulás folyamatlépésen belül. Hatékonyabb lehet azonban több adattömb pontozása ugyanazon a folyamatlépésen belül. Ezekben az esetekben írjon egyéni kódot több adathalmaz olvasásához, és hajtsa végre a pontozási szkriptet egy egylépéses végrehajtás során.
Menedzsment
- Feladatok monitorozása. Fontos figyelni a futó feladatok előrehaladását. Azonban kihívást jelenthet az aktív csomópontok fürtöinek monitorozása. A fürt csomópontjainak állapotának vizsgálatához használja az Azure Portalt a Gép Tanulás munkaterület kezeléséhez. Ha egy csomópont inaktív, vagy egy feladat meghiúsult, a hibanaplók blobtárolóba vannak mentve, és a Folyamatok szakaszban is elérhetők. A gazdagabb monitorozás érdekében csatlakoztassa a naplókat az Application Elemzések-hoz, vagy futtasson külön folyamatokat a fürt állapotának és feladatainak lekérdezéséhez.
- Naplózás. A gépi Tanulás naplózza az összes stdout/stderrt a társított Azure Storage-fiókba. A naplófájlok egyszerű megtekintéséhez használjon egy tárolónavigációs eszközt, például az Azure Storage Explorert.
Költségoptimalizálás
A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információ: A költségoptimalizálási pillér áttekintése.
Az architektúra-útmutatóban használt legdrágább összetevők a számítási erőforrások. A számítási fürt mérete az üzenetsorban lévő feladatoktól függően fel- és leskálázható. Engedélyezze az automatikus skálázást programozott módon a Python SDK-val a számítás kiépítési konfigurációjának módosításával. Vagy az Azure CLI használatával állítsa be a fürt automatikus skálázási paramétereit.
Az azonnali feldolgozást nem igénylő munkák esetében konfigurálja az automatikus skálázási képletet, hogy az alapértelmezett állapot (minimum) nulla csomópontból álló fürt legyen. Ezzel a konfigurációval a fürt nulla csomóponttal indul, és csak akkor skálázható fel, ha feladatokat észlel az üzenetsorban. Ha a kötegpontozási folyamat naponta csak néhány alkalommal vagy kevesebb alkalommal történik, ez a beállítás jelentős költségmegtakarítást tesz lehetővé.
Előfordulhat, hogy az automatikus skálázás nem megfelelő az egymáshoz túl közel futó kötegelt feladatokhoz. Mivel a fürt üzembe helyezése és lepörgetése költséges, ha egy kötegelt számítási feladat csak néhány perccel az előző feladat befejezése után kezdődik, költséghatékonyabb lehet a fürt futtatása a feladatok között. Ez a stratégia attól függ, hogy a pontozási folyamatok nagy gyakorisággal (például óránként) vagy ritkábban (például havonta egyszer) futnak-e.
Közreműködők
Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.
Fő szerzők:
- Carlos Alexandre Santos | Vezető specializált AI-felhőmegoldás-tervező
- Said Bleik | Alkalmazott tudós vezető
A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.
Következő lépések
Termékdokumentáció:
- Mi az Az Azure Blob Storage?
- Bevezetés a privát Docker-tárolóregisztrációs adatbázisokba az Azure-ban
- Azure-eseményközpontok
- Mi az Azure Machine Learning?
- Mi az Azure SQL Database?
- Üdvözli az Azure Stream Analytics
Microsoft Learn-modulok:
- Az Azure SQL Database üzembe helyezése
- Megbízható üzenetkezelés engedélyezése Big Data-alkalmazásokhoz az Azure Event Hubs használatával
- Az Azure Event Hubs felfedezése
- Adatstreamelési megoldás implementálása az Azure Streaming Analytics használatával
- Bevezetés a gépi tanulásba
- Tárolórendszerképek kezelése az Azure Container Registryben