AI-számítási feladatok műveletei az Azure-ban
Az AI-számítási feladatok éles környezetbe történő létrehozásakor és átállításakor fontos, hogy az üzemeltetési csapatok teljesen fel legyenek szerelve ezeknek a számítási feladatoknak a támogatásához, mint bármely más éles számítási feladathoz. Mivel az üzemeltetési csapatok korlátozott tapasztalattal rendelkezhetnek az AI-technológiákkal kapcsolatban, elengedhetetlen, hogy betanítsa őket ezeken a technológiákon, és a folyamat korai szakaszában integrálja az AI-számítási feladatokat a munkafolyamatokba. Az AI-számítási feladatok fejlesztésének korai szakaszában összehozhatja a műveleteket és az adatcsoportokat az egyes csapatok folyamatainak kölcsönös megértése érdekében. Ez a korai együttműködés kulcsfontosságú, mivel mindkét csapatnak szorosan együtt kell működnie az AI-számítási feladatok hatékony támogatásához. Az adatcsoportok az üzemeltetési csapatoktól függenek, hogy megbízható állapotjelzéseket és végrehajtható riasztásokat biztosítsanak. Az üzemeltetési csapatok az adatcsoportoktól függenek, hogy segítsenek diagnosztizálni a lehetséges problémákat, és a tényleges problémákat az üzemeltetési szabványoknak megfelelően megoldani. Ez a partnerség biztosítja a rendszer gördülékeny és hatékony teljesítményét.
Ez az útmutató javaslatokat nyújt az AI-számítási feladatok támogatásának javítására szolgáló működési mechanizmusok és eljárások fejlesztéséhez. Hangsúlyozza a műveletek és az adatcsoportok közötti hatékony együttműködést.
Ajánlások
Íme a cikkben szereplő javaslatok összegzése.
Ajánlás | Leírás |
---|---|
A számítási feladat minden aspektusának figyelése. | Bár számos általános monitorozási és megfigyelhetőségi szempont vonatkozik az AI-számítási feladatokra is, bizonyos szempontokat kell figyelembe vennie annak biztosítása érdekében, hogy a teljes számítási feladat mindig megfelelően legyen monitorozva. A figyelési és megfigyelhetőségi stratégia kialakításához különböző csapatokban kell dolgoznia, hogy megfelelő szakértelemhez jusson, és lefedje az összes releváns módot és metrikát. ▪ A megfigyelhetőségi platform kiterjesztése |
Biztonságos üzembehelyezési eljárásokat alkalmazhat az AI-számítási feladatra. | Tegyen lépéseket a bizalmas éles adatok legmagasabb szintű biztonságának biztosítása érdekében, és az üzembe helyezési megközelítéseket a nulla állásidőre vonatkozó követelményekhez igazítsa. Szükség esetén használja a megfelelő eszközöket, és helyezze a hangsúlyt a már létező eszközök és folyamatok újbóli feltalálására. Gyakran használhatja a már meglévő szolgáltatásokat a magas szintű hatékonyság eléréséhez, miközben lehetővé teszi a biztonságos üzembe helyezést is. ▪ AI számítási feladatok összetevőinek belefoglalása a biztonságos üzembe helyezési eljárásokba |
A DevOps tesztelési és automatizálási eljárásainak alkalmazása. | DevOps-eljárásokat alkalmazhat az AI-számítási feladatok éles környezetben történő létrehozása, üzembe helyezése és üzemeltetése során. A számítási feladatnak lehetővé kell tennie a megfigyelhetőséget és a tesztelést valós felhasználói bemenettel az éles környezetben. Ez csak akkor biztosítható biztonságosan, ha egy erős DevOps-folyamat és az egyszerűsített automatizálás lehetővé teszi a gyors üzembe helyezést, a hibajavítást és az A/B-tesztelést. ▪ Éles tesztelés támogatása ▪ Az üzemeltetési eljárások automatizálása, ha lehetséges ▪ DevOps-eljárások alkalmazása |
Dokumentálja az előrehaladást. | A kezdetektől jó dokumentációs szokásokat hozhat létre, hogy lehetővé tegye a stratégiai döntések rögzítését, a változáselőzmények és a számítási feladatok által használt adatok kulcsfontosságú információinak rögzítését. ▪ Ajánlott dokumentációs eljárások bevezetése |
A megfigyelhetőségi platform kiterjesztése
A működési kiválóság eléréséhez elengedhetetlen a robusztus megfigyelhetőség. Amikor szervezete AI-technológiákat vezet be, elengedhetetlen, hogy a megfigyelhetőségi platformot továbbfejlesztse a számítási feladatok állapotának átfogó monitorozása érdekében. Az AI-t kezdő szervezeteknél előfordulhat, hogy a big data, az adatelemzés és a DataOps-szakértelem hiányzik az üzemeltetési csapaton belül. Ezért az ajánlott üzemeltetési eljárások betanítása fontos első lépés a megfigyelhetőségi platform fejlesztéséhez. Ezért a műveleteknek és az adatcsoportoknak együtt kell működniük, hogy meghatározzák a megfelelő figyelési módokat és metrikákat a rögzítéshez és elemzéshez.
A modell állapotának kiértékeléséhez átfogó áttekintésre van szükség a konkrét minőségi metrikákról. A minőségi mérések általában olyan metrikákat tartalmaznak, mint a modell frissessége, a kimeneti helyesség és a válasz késése. Az adattudósokkal és a mérnökökkel együttműködve azonban meg kell határoznia azokat a konkrét metrikákat, amelyek meghatározzák a számítási feladatok minőségét. Az AI-számítási feladatok nem determinisztikus jellege különösen fontossá teszi a minőség éber monitorozását, mivel ezek a mérések az üzembe helyezés után bármikor váratlanul változhatnak. A megfigyelhetőségre vonatkozó javaslatok a következők:
Az adattudósokkal és a mérnökökkel együttműködve határozza meg a minőségi metrikákat.
Irányítópultok létrehozása vagy kiterjesztése a számítási feladat általános állapotának felméréséhez. Ennek a megközelítésnek tartalmaznia kell az összetevők rendelkezésre állási mérőszámait és a minőségi metrikákat.
Jól megtervezett rendelkezésre állási és minőségi riasztásokat valósíthat meg, amelyeket az üzemeltetési csapatok megérthetnek és végrehajthatnak.
Szabványos üzemeltetési eljárások kódolása, amelyek meghatározzák, hogy az üzemeltetési csapatok hogyan reagálnak a minőségi riasztásokra, például az adatcsoportokkal való együttműködés a lehetséges hibák kivizsgálására és elhárítására.
Ügyeljen a kihasználtsági metrikákra, mert az AI-számítási feladatok futtatása költségigényes lehet. A költségek gyorsan növekedhetnek, ha a számítási feladatokért felelős csapat nem áll le, nem skáláz le vagy szabadít fel erőforrásokat, ha nincsenek használatban. A műveletek a kihasználtság monitorozásával biztosíthatják, hogy a költségek a várt paramétereken belül maradjanak.
AI számítási feladatok összetevőinek belefoglalása a biztonságos üzembe helyezési eljárásokba
Az AI-számítási feladatok az éles adatoktól függnek, amelyek gyakran bizalmas információkat tartalmaznak. Ezért fontos a legmagasabb szintű biztonság fenntartása ezen számítási feladatok körül. Az adatok védelme érdekében bővítse ki a biztonságos üzembehelyezési eljárásokat , hogy tartalmazza a számítási feladat AI-összetevőihez kapcsolódó összes kódot. Ha a számítási feladathoz nulla állásidőre van szüksége, ennek megfelelően tervezheti meg az AI-összetevők üzembehelyezési megközelítését.
Végpontok következtetéséhez használjon kék-zöld vagy kanári üzemelő példányokat forgalomtükrözéssel vagy anélkül, az üzembehelyezési modelltől függően.
Az indexek kiszolgálásához használjon egy egymás melletti üzembehelyezési modellt aliasfrissítésekkel a forgalom csökkentéséhez.
A vezénylési kódhoz használjon funkciójelzőket vagy kék-zöld telepítéseket.
Az alkalmazástól, az adatplatformtól és az adott hálózati topológiától függően előfordulhat, hogy átjárómegoldást kell használnia, például Azure-alkalmazás Átjárót vagy Azure Front Doort.
Eszközök
Az Azure Machine Learning natív módon, beépített forgalomfelosztással támogatja a kék-zöld környezeteket .
Ne újítsd fel a kereket
Mivel az online következtetési végpontok alapvetően mikroszolgáltatások, teljes mértékben önálló számítási feladat-összetevőkként működnek saját adataikkal és kódjukkal, amelyek egy adott funkciót szolgálnak ki a munkafolyamatban. Ezért kezelje az online következtetési végpontokat, mint a többi kritikus mikroszolgáltatást, amelyek saját életciklussal rendelkeznek. Az online következtetési végpontokat egyenként frissítheti. A nagyobb számítási feladatokban lévő többi mikroszolgáltatáshoz hasonlóan azonban zökkenőmentesen kell együttműködniük. Ezért a frissítések telepítésekor fontossági sorrendbe kell helyeznie az integrációs tesztelést. Győződjön meg arról, hogy az üzemelő példányok nem érintik hátrányosan más szolgáltatásokat, például a modellszolgáltatást és a vezénylőt. Alternatív megoldásként a kötegelt következtetési végpontok gyakran szorosan kapcsolódnak a feladatfeldolgozási számításhoz, és szerepelnek az adatfolyamban. Ezekben az esetekben a mikroszolgáltatások helyett egy nagyobb megoldás részeként kell kezelni őket.
Éles tesztelés támogatása
Az üzemeltetési csapatok valószínűleg nem terveznek vagy végeznek mi-alapú számítási feladatokat. Az AI számítási feladatainak tesztelését azonban monitorozással, riasztással és vizsgálattal kell támogatniuk, mivel éles környezetben tesztelésre van szükség. Az AI nemdeterminista jellege miatt az éles környezetben történő tesztelés szükséges annak biztosításához, hogy a számítási feladat az idő függvényében a várt módon teljesítsen. Az üzemeltetési csapatnak szorosan együtt kell működnie a számítási feladatokkal, hogy a rendellenes teszteredményeket hatékonyan és az üzemeltetési szabványoknak megfelelően rögzítse és diagnosztizálja. Annak érdekében, hogy a műveletek támogathassák a tesztelést, és hogy a számítási feladatokat végző csapatok elvégezhessék a tesztelést, mindkét csapatnak a folyamatokhoz kell igazodnia az együttműködéshez. A nem gyártási környezetekben végzett tesztelési tevékenységek betanítása segít a csapatnak a műveletek sorrendjének megismerésében.
Az üzemeltetési eljárások automatizálása, ha lehetséges
Automatizálja a számítási feladatokkal kapcsolatos összes üzemeltetési gyakorlatot, beleértve a figyelési, riasztási és tesztelési folyamatokat. Az automatizálás elsődleges stratégia a folyamatok megismételhető, hatékony és konzisztens megőrzésére. Az automatizálási stratégiák tervezésekor emberi felügyelet szükséges a tevékenységekhez, például a modell inkonzisztenciák és egyéb minőségi jelek megfelelő diagnosztizálásához. Ez különösen igaz a kezdeti kiadásokra. A modell fenntartásával kapcsolatos folyamatok újak az üzemeltetési csapatok számára, így a minőségi jelekre adott helytelen válaszok kockázata ebben a szakaszban magasabb. A számítási feladatok kiforrott állapotában előfordulhat, hogy automatizálással azonosítja a hamis riasztásokat a jól megtervezett minőségi kapukkal, de ehhez a ponthoz való hozzáférés hosszú és összetett folyamat lehet.
Ha lehetséges, használja újra a meglévő automatizálási eszközöket az AI-számítási feladatok új automatizálási feladatainak elvégzéséhez. Ha például már használja az Azure Pipelinest vagy a GitHub-munkafolyamatokat, használja őket a vezénylési kód üzembe helyezéséhez külön eszköz használata helyett. Kerülje azonban a túltervezést annak érdekében, hogy csak egy automatizálási eszközt használjon. Ha bizonyos feladatok vagy feladatok nem megfelelőek a választott eszközhöz, válasszon egy megfelelőbb eszközt ahelyett, hogy olyan egyéni megoldást hoz létre, amely szükségtelen összetettséghez ad hozzá.
Feljegyzés
A számítási feladatok teljes körű támogatásához számos egymást keresztező szerepkörre és technológiára van szükség. Az adat-, infrastruktúra-, biztonsági és üzemeltetési csapatok bizonyos mértékig az automatizálástól függenek. Használja a lehető legkevesebb eszközt, és szabványosítsa őket az automatizálási stratégia kezelhető és egyszerűbb betanításához.
DevOps-eljárások alkalmazása
A számítási feladatok fejlesztésének korai szakaszában szabványosítsa a DevOps-gyakorlatok használatát a fejlesztési folyamatokban. A tesztkörnyezeteken kívül minden környezet esetében szigorúan meghatározott és kikényszerített szabványoknak kell szabályoznia a teljes fejlesztési életciklust. A manuális üzembe helyezési tevékenységek szigorú tiltásával érvénybe léptetheti ezeket a szabványokat. Minden üzembe helyezést, legyen szó frissítésekről, javításokról vagy új erőforrás-telepítésekről, folyamatos integrációs és folyamatos üzembe helyezési folyamaton keresztül kell elvégezni, amely megfelel a biztonságos üzembehelyezési eljárásoknak. A DevOps megfelelő higiéniai eljárásainak a következőkre kell kiterjednie:
Verziókövetés: A lehető legnagyobb mértékben használja a verziókövetést az összes kódegységhez. A verziókövetés a DevOps és a helyes változáskezelési eljárások alapvető eleme, és elengedhetetlen a zökkenőmentes együttműködéshez. Verziókövetés alkalmazása kódtárcsomagokra, beleértve az SDK-kat és a tárolólemezképeket. Konzisztensnek kell lennie a kódtárcsomagok adott verziójának használata során a szoftverfejlesztési életciklus (SDLC) során. A kódtárak különböző verziói, például az XGBoost vagy a scikit-learn különböző fejlesztési környezetekben a számítási feladatok viselkedésének eltérését okozhatják. Ugyanez igaz a modell verziószámozására is. Győződjön meg arról, hogy a modellverziók konzisztensek az SDLC-ben, hogy ne tesztelje a modell egy verzióját egy előregyártott környezetben, és ne engedjen ki egy másik verziót az éles környezetben.
Egyszerű verzióelnevezési séma: Egyszerű verzióelnevezési sémával biztosíthatja, hogy mindig az adott objektum legújabb jóváhagyott verzióját használja. Az AI-specifikus eszközök a következők lehetnek:
- Jegyzetfüzet kódja.
- Vezénylőkód.
- Adatfeldolgozási feladat kódja.
- Machine Learning-feladat kódja.
- A modell.
Az üzembe helyezhető eszközök: Egyes eszközök kiválóan alkalmasak kísérletezéshez, de nem az üzemeltetésre vannak kialakítva. Ez a korlátozás megnehezítheti vagy lehetetlenné teheti az üzemeltetés automatizálásába való integrálását. A jegyzetfüzetek például jó eszköznek számítanak a kísérletezési és feltáró adatelemzési munkákhoz, de nem alkalmasak az éles folyamatok fejlesztésére. A kísérletezés befejezésekor húzza ki a logikát ezekből az eszközökből, és helyezze egy Python-csomagba, amelyet a feladatkódhoz használhat.
Ajánlott dokumentációs eljárások bevezetése
A jó dokumentációs szokások minden számítási feladattípus esetében fontosak. Az AI-számítási feladatok összetettsége még fontosabbá teszi ezeket a szokásokat. Győződjön meg arról, hogy rendelkezik egy olyan adattárral, amely a számítási feladatokat kezelő csapatra vonatkozik, ahol a dokumentáció biztonságosan van tárolva és verziószámozott. A többi számítási feladathoz hasonlóan a szokásos információkat is dokumentálnia kell. Ez a standard információ tartalmazza a számítási feladatban használt összes eszközt, a biztonsági konfigurációkat, a hálózatterveket és a beállítási útmutatókat. Fontolja meg a következő AI-specifikus számítási feladatok adatainak dokumentálását:
Modellbetanítási és adatindex-kezelési információk: Az adatforrások dokumentálása, az adatforrások tulajdonosa, a frissítés gyakorisága és az elfogultság megszüntetése a modell betanításának és a földelési adatok kezelésének megállapításához.
A betanítási folyamat előzményei: Részletesen bemutatja, hogyan jutott el az aktuális jóváhagyott konfigurációhoz, dokumentálva, hogy miért választott konkrét hiperparamétereket, hőmérsékleteket, súlyokat és egyéb paramétereket. Adja meg a tesztelt egyéb konfigurációkat és a betanítási folyamat során megfigyelt viselkedési változásokat. Ezek az információk segítenek megakadályozni a sikertelen vagy nem hatékony konfigurációk ismétlődését.
Funkciótár információi: Dokumentálja, hogy mely funkciók rendelkeznek a legjobb prediktív teljesítménnyel, és hogyan hozta meg ezt a megállapítást.
Adatelemző munkaállomás konfigurációja: A munkaállomás konfigurációinak alapos dokumentálása az adatelemzők előkészítési folyamatának egyszerűsítése érdekében. Adja meg a conda-környezetek használatához szükséges kódtárakat és függőségeket.
Adatátalakítási információk: Az adatátalakítás során a teljes folyamat dokumentálása az elejétől a végéig. Dokumentálja, hogyan jelennek meg az adatok a betöltéskor, és hogyan jelennek meg az átalakítás után.
Eszközök
Az MLFlow és a Machine Learning segítségével kihasználhatja az automatizált konfiguráció és előzmények rögzítésének előnyeit.