Mik azok az Azure Machine Learning-folyamatok?

Az Azure Machine Tanulás folyamat egy teljes gépi tanulási feladat egymástól függetlenül végrehajtható munkafolyamata. Az Azure Machine Tanulás 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 az Azure Machine Tanulás folyamatokra?

A gépi tanulási folyamat lényege, hogy egy teljes gépi tanulási feladatot feloszt egy többhelyes munkafolyamatra. Minden lépés egy kezelhető összetevő, amely egyenként fejleszthető, optimalizálható, konfigurálható és automatizálható. A lépések jól definiált felületeken keresztül kapcsolódnak egymáshoz. Az Azure Machine Tanulás folyamatszolgáltatás automatikusan vezényl minden függőséget a folyamatlépések között. Ez a moduláris megközelítés két fő előnnyel jár:

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 és a modell éles üzembe helyezésének folyamatát. 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ó munkafolyamatba absztrakcióval egészítheti ki, és minden lépést egy adott feladathoz képezhet 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 adatok előkészítése, a modell betanítása, a modell kiértékelése és a modell üzembe helyezésének lépéseit. Az adatmérnökök általában az adatlépésekre koncentrálnak, az adattudósok a legtöbb időt modellbetanítással és -értékeléssel töltik, a gépi tanulási mérnökök 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 Tanulás ö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 folyamata és minden lépése szabványosítható az egyes vállalatok által előnyben részesített DevOps-gyakorlattal. 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.

A képzés hatékonysága és költségcsökkentése

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. Nagy mennyiségű adat előzetes feldolgozását és a GPU-igényes transzformátormodell betanítását igényli. 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 a betanítást sokszor futtatni 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 az egyik betanításról a másikra. Ez jelentős károkat jelent, ha minden alkalommal, amikor a teljes képzés az adatfeldolgozástól a modell betanításig zajlik. 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 a korábbi 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óriaigényű processzorgépek futtatása, valamint a számításigényes betanítás költséges GPU-gépeken is futtatható. Ha megfelelően választja ki, hogy melyik géptípuson fusson, a betanítási költség jelentősen csökkenthető.

Első lépések – ajánlott eljárások

A gépi tanulási projekttő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 módszere van.

Az első megközelítés általában azokra a csapatokra vonatkozik, akik korábban nem használták a folyamatot, és szeretnék kihasználni az MLOpshoz hasonló folyamat előnyeit. Ebben a helyzetben az adattudósok általában a kedvenc eszközeikkel fejlesztettek ki néhány gépi tanulási modellt a helyi környezetükben. A gépi tanulási mérnököknek éles környezetbe kell vinniük az adattudósok 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, elvégzi az egyes lépések egységtesztét, és végül az összes lépést egy folyamatba csomagolja.

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 adatmérnökök rendszeresen végzik munkájukat. Ha elégedettek az eredményükkel, a kódjukat úgy strukturálják, 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 a folyamat többi kódjának érintése nélkül.

Miután a csapat létrehozott egy gépi tanulási folyamatokat és újrahasználható összetevőket tartalmazó gyűjteményt, elkezdhetik 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őt. Ebben a szakaszban a csapat általános termelékenysége jelentősen javulni fog.

Az Azure Machine Tanulás különböző módszereket kínál egy folyamat létrehozásához. A DevOps-eljárásokat ismerő felhasználók számára a parancssori felület használatát javasoljuk. A Pythont ismerő adattudósok számára javasoljuk a folyamatok írását az Azure Machine Tanulás SDK 2-vel. A felhasználói felületet előnyben részesítő felhasználók a tervezővel létrehozhatnak folyamatokat regisztrált összetevők használatával.

Melyik Azure-folyamattechnológiát érdemes használni?

Az Azure-felhő számos különböző 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 azok használatát:

Eset Elsődleges személy Azure-ajánlat OSS-ajánlat Canonical pipe Erősségeit
Modell vezénylése (Gépi tanulás) Adattudós Azure Machine Tanulás Pipelines 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ód és alkalmazá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 Tanulás folyamatok egy hatékony létesítmény, amely a korai fejlesztési fázisokban megkezdi az érték átadását.