Mik azok az Azure Machine Learning-folyamatok?
A KÖVETKEZŐKRE VONATKOZIK:Azure CLI ml-bővítmény v1
Python SDK azureml v1
A KÖVETKEZŐKRE VONATKOZIK:Azure CLI ml-bővítmény v2 (aktuális)
Python SDK azure-ai-ml v2 (aktuális)
Az Azure Machine Learning-folyamat egy teljes gépi tanulási feladat egymástól függetlenül végrehajtható munkafolyamata. Az Azure Machine Learning-folyamat segít szabványosítani a gépi tanulási modellek létrehozásának ajánlott eljárásait, lehetővé teszi a csapat számára a nagy léptékű végrehajtást, és javítja a modell létrehozásának hatékonyságát.
Miért van szükség Azure Machine Learning-folyamatokra?
A gépi tanulási folyamat lényege egy teljes gépi tanulási feladat többlépéses munkafolyamatra bontása. Minden lépés egy kezelhető összetevő, amely egyenként fejleszthető, optimalizálható, konfigurálható és automatizálható. A lépések jól meghatározott felületeken keresztül kapcsolódnak egymáshoz. Az Azure Machine Learning-folyamat szolgáltatás automatikusan vezényli a folyamatlépések közötti összes függőséget. Ez a moduláris megközelítés két fő előnnyel jár:
- A Gépi tanulási művelet (MLOps) gyakorlatának szabványosítása és a skálázható csapatmunka támogatása
- Képzési hatékonyság és költségcsökkentés
Az MLOps gyakorlatának szabványosítása és a skálázható csapatmunka támogatása
A gépi tanulási művelet (MLOps) automatizálja a gépi tanulási modellek létrehozásának folyamatát, és éles környezetbe viszi a modellt. Ez egy összetett folyamat. Általában különböző, különböző képességekkel rendelkező csapatok együttműködését igényli. Egy jól definiált gépi tanulási folyamat ezt az összetett folyamatot több lépésből álló munkafolyamatra absztrakcióra képes, és minden lépést egy adott feladatra képez le, így az egyes csapatok egymástól függetlenül dolgozhatnak.
Egy tipikus gépi tanulási projekt például tartalmazza az adatgyűjtés, az adat-előkészítés, a modellbetanítás, a modellértékelés és a modell üzembe helyezésének lépéseit. Az adatmérnökök általában az adatlépésekre összpontosítanak, az adattudósok a legtöbb időt a modell betanítására és értékelésére fordítják, a gépi tanulási mérnökök pedig a teljes munkafolyamat modelltelepítésére és automatizálására összpontosítanak. A gépi tanulási folyamat használatával minden csapatnak csak a saját lépésein kell dolgoznia. A lépések létrehozásának legjobb módja az Azure Machine Learning összetevő (v2) használata, amely egy önálló kódrészlet, amely egy lépést hajt végre egy gépi tanulási folyamatban. A különböző felhasználók által létrehozott lépések végül egy munkafolyamatba integrálódnak a folyamatdefiníción keresztül. A folyamat egy együttműködési eszköz a projekt minden résztvevője számára. A folyamat definiálásának folyamatát és minden lépését szabványosíthatja az egyes vállalatok által előnyben részesített DevOps-gyakorlat. A folyamat további verziószámozást és automatizálást is végezhet. Ha az ML-projekteket folyamatként írják le, akkor a rendszer már alkalmazza a legjobb MLOps-gyakorlatot.
Képzési hatékonyság és költségcsökkentés
Az MLOps gyakorlati alkalmazásának eszköze mellett a gépi tanulási folyamat a nagy modellbetanítás hatékonyságát is javítja, és csökkenti a költségeket. A modern természetes nyelvi modell betanítása példaként. Ehhez nagy mennyiségű adat előfeldolgozására és a GPU-igényes transzformátormodell betanítására van szükség. A modellek betanítása óráktól napokig tart. A modell létrehozásakor az adatelemző különböző betanítási kódot vagy hiperparamétereket szeretne tesztelni, és sokszor futtatni a betanítást a modell legjobb teljesítménye érdekében. A legtöbb ilyen képzés esetében általában kisebb változások történnek egyik betanításról a másikra. Ez jelentős károkat jelent, ha az adatfeldolgozástól a modellbetanításig minden alkalommal megtörténik a teljes betanítás. A gépi tanulási folyamat használatával automatikusan kiszámíthatja, hogy mely lépések eredménye nem változik, és újra felhasználhatja az előző betanítás kimeneteit. Emellett a gépi tanulási folyamat támogatja az egyes lépések különböző számítási erőforrásokon való futtatását. Így a memóriaigényes adatfeldolgozási munka és a nagy memóriahasználatú processzorgépek futtatása, valamint a számításigényes betanítás költséges GPU-gépeken is futtatható. A betanítási költség jelentősen csökkenthető, ha megfelelően választja ki, hogy melyik lépésen kell futtatnia a gépet.
Első lépések – ajánlott eljárások
A gépi tanulási projektektől függően a gépi tanulási folyamat létrehozásának kiindulópontja eltérő lehet. A folyamatok létrehozásának néhány tipikus megközelítése van.
Az első megközelítés általában azokra a csapatokra vonatkozik, akik még nem használták a folyamatot, és szeretnék kihasználni az MLOpshoz hasonló folyamat előnyeit. Ebben az esetben az adattudósok általában a kedvenc eszközeikkel fejlesztettek ki gépi tanulási modelleket a helyi környezetükben. A gépi tanulási mérnököknek éles környezetbe kell vinniük az adatelemzők kimenetét. A munka magában foglalja néhány szükségtelen kód törlését az eredeti jegyzetfüzetből vagy Python-kódból, a helyi adatok betanítási bemenetét paraméteres értékekre módosítja, szükség szerint több lépésre osztja a betanítási kódot, végrehajtja az egyes lépések egységtesztét, és végül az összes lépést egy folyamatba burkolja.
Ha a csapatok megismerkednek a folyamatokkal, és több gépi tanulási projektet szeretnének végrehajtani folyamatokkal, az első megközelítés nehezen skálázható. A második módszer néhány folyamatsablon beállítása, amelyek mindegyike egy adott gépi tanulási problémát próbál megoldani. A sablon előre definiálja a folyamatstruktúrát, beleértve a lépések mennyiségét, az egyes lépések bemeneteit és kimeneteit, valamint azok kapcsolatát. Egy új gépi tanulási projekt elindításához a csapat először elágaz egy sablon-adattárat. A csoportvezető ezután hozzárendeli a tagokat, hogy melyik lépésen kell dolgozniuk. Az adattudósok és az adatmérnökök rendszeresen dolgoznak. Ha elégedettek az eredményükkel, úgy strukturálják a kódjukat, hogy illeszkedjenek az előre meghatározott lépésekhez. A strukturált kódok beadása után a folyamat végrehajtható vagy automatizálható. Ha bármilyen változás történik, minden tagnak csak a kódrészleten kell dolgoznia anélkül, hogy hozzá kellene nyúlnia a folyamat többi kódjához.
Miután egy csapat létrehozott egy gépi tanulási folyamatokat és újrafelhasználható összetevőket tartalmazó gyűjteményt, megkezdhetik a gépi tanulási folyamat összeállítását az előző folyamat klónozásából, vagy összekapcsolhatják a meglévő újrahasználható összetevőket. Ebben a szakaszban a csapat teljes termelékenysége jelentősen javulni fog.
Az Azure Machine Learning különböző módszereket kínál a folyamatok létrehozásához. Azoknak a felhasználóknak, akik ismerik a DevOps-eljárásokat, javasoljuk a parancssori felület használatát. A Pythont ismerő adattudósok számára javasoljuk a folyamat írását az Azure Machine Learning SDK v2 használatával. A felhasználói felületet előnyben részesítő felhasználók a tervezővel hozhatnak létre folyamatokat regisztrált összetevők használatával.
Melyik Azure Pipeline-technológiát kell használnom?
Az Azure-felhő többféle típusú folyamatot biztosít, amelyek mindegyike más célt szolgál. Az alábbi táblázat felsorolja a különböző folyamatokat, és hogy mire használják őket:
Eset | Elsődleges személy | Azure-ajánlat | OSS-ajánlat | Canonical cső | Erősségeit |
---|---|---|---|---|---|
Modellvezénylés (gépi tanulás) | Adatelemző | Azure Machine Learning-folyamatok | Kubeflow-folyamatok | Adatok –> Modell | Terjesztés, gyorsítótárazás, kódelső, újrafelhasználás |
Adatvezénylés (Adatelőkészítés) | Adatszakértő | Azure Data Factory-folyamatok | Apache Airflow | Adatok –> Adatok | Erősen gépelt mozgás, adatközpontú tevékenységek |
Kódalkalmazás & vezénylése (CI/CD) | Alkalmazásfejlesztő / ops | Azure Pipelines | Jenkins | Code + Model –> App/Service | A legtöbb nyitott és rugalmas tevékenységtámogatás, jóváhagyási üzenetsorok, fázisok a gatinggel |
Következő lépések
Az Azure Machine Learning-folyamatok egy hatékony eszköz, amely a korai fejlesztési szakaszokban kezdi meg az érték biztosítását.
- Folyamatok definiálása az Azure Machine Learning v2-es parancssori felületével (CLI)
- Folyamatok definiálása az Azure Machine Learning v2-es szoftverfejlesztői készletével (SDK)
- Folyamatok definiálása a Tervezővel
- Példa a CLI v2-folyamat kipróbálása
- Példa a Python SDK v2-folyamat kipróbálása
- Megismerheti a folyamatokban használható SDK- és CLI v2-kifejezéseket .