Szerkesztés

Megosztás a következőn keresztül:


Autonóm járműműveleti (AVOps) megoldás létrehozása

Azure Machine Learning
Azure Data Factory
Azure Data Share
Azure Batch
GitHub

Megoldási ötletek

Ez a cikk egy megoldási ötlet. Ha azt szeretné, hogy további információkkal bővítsük a tartalmat, például a lehetséges használati eseteket, alternatív szolgáltatásokat, megvalósítási szempontokat vagy díjszabási útmutatást, a GitHub visszajelzésével tudassa velünk.

Ez az architektúra útmutatást és javaslatokat nyújt egy automatizált vezetési megoldás fejlesztéséhez.

Architektúra

Diagram that shows an AVOps architecture.

Töltse le a cikkben szereplő architektúradiagramokat tartalmazó Visio-fájlt.

Adatfolyam

  1. A mérési adatok olyan érzékelők adatfolyamaiból származnak, mint a kamerák, a radar, az ultrahang, a lidar és a jármű telemetriai adatai. A jármű adatgyűjtői a mérési adatokat naplózó tárolóeszközökön tárolják. A rendszer ezután feltölti a naplózó tárolási adatait a landing data lake-be. Egy olyan szolgáltatás, mint az Azure Data Box vagy az Azure Stack Edge, vagy egy dedikált kapcsolat, például az Azure ExpressRoute, adatokat dolgoz fel az Azure-ba.

    A mérési adatok lehetnek szimulációkból vagy más forrásokból származó szintetikus adatok is. (Az MDF4, a TDMS és a rosbag a mérések gyakori adatformátumai.) A DataOps fázisban a betöltött mérések feldolgozása történik. Az ellenőrzés és az adatminőség ellenőrzése( például ellenőrzőösszeg) a gyenge minőségű adatok eltávolítására történik. Ebben a szakaszban a rendszer kinyeri a tesztillesztő által a tesztmeghajtók által rögzített nyersadat-metaadatokat. Ezeket az adatokat egy központosított metaadat-katalógus tárolja. Ez az információ segít az alsóbb rétegbeli folyamatoknak az adott jelenetek és sorozatok azonosításában.

  2. Az adatokat egy Azure Data Factory-folyamat dolgozza fel, alakítja át és tölti be. A kimenet nyers és bináris adatként van tárolva az Azure Data Lake-ben. A metaadatok tárolása az Azure Cosmos DB-ben történik. A forgatókönyvtől függően előfordulhat, hogy a rendszer elküldi az Azure Data Explorerbe vagy az Azure Cognitive Searchbe.

  3. A rendszer további információkat, megállapításokat és kontextust ad hozzá az adatokhoz a pontosság és a megbízhatóság javítása érdekében.

  4. A kinyert mérési adatok az Azure Data Share-en keresztül kerülnek a címkézési partnerekhez (a ciklusban lévő emberekhez). A külső partnerek egy külön Data Lake-fiókon keresztül végzik az adatok automatikus címkézését, tárolását és elérését.

  5. A címkézett adathalmazok a lefelé irányuló MLOps-folyamatokba áramlanak, főként észlelési és érzékelőfúziós modellek létrehozásához. Ezek a modellek olyan funkciókat látnak el, amelyeket az önvezető járművek használnak a jelenetek észlelésére (azaz sávváltások, blokkolt utak, gyalogosok, közlekedési lámpák és közlekedési táblák).

  6. A ValOps fázisban a betanított modelleket nyílt hurkos és zárthurkú teszteléssel érvényesítjük.

  7. Az Olyan eszközök, mint a Foxglove, amely az Azure Kubernetes Service-en vagy az Azure Container Instances-en fut, a betöltött és feldolgozott adatokat vizualizálja.

Data collection

Az adatgyűjtés az autonóm járművek üzemeltetése (AVOps) egyik fő kihívása . Az alábbi ábra egy példát mutat be arra, hogyan gyűjthetők és tárolhatók az offline és online járműadatok egy adattóban.

Diagram that shows offline and online data collection.

DataOps

Az adatműveletek (DataOps) az adatműveletek minőségének, sebességének és megbízhatóságának javítására szolgáló eljárások, folyamatok és eszközök készlete. Az autonóm vezetéshez (AD) készült DataOps-folyamat célja annak biztosítása, hogy a jármű irányításához használt adatok kiváló minőségűek, pontosak és megbízhatóak legyenek. Egy konzisztens DataOps-folyamat használatával javíthatja az adatműveletek sebességét és pontosságát, és jobb döntéseket hozhat az önvezető járművek vezérlése érdekében.

DataOps-összetevők

  • A Data Box segítségével az összegyűjtött járműadatokat egy regionális szolgáltatón keresztül továbbíthatja az Azure-ba.
  • Az ExpressRoute privát kapcsolaton keresztül kiterjeszti a helyszíni hálózatot a Microsoft-felhőbe.
  • Az Azure Data Lake Storage fázisok, például nyers vagy kinyert adatok alapján tárolja az adatokat.
  • Az Azure Data Factory kötegelt számítással végzi az ETL-t, és adatvezérelt munkafolyamatokat hoz létre az adatáthelyezés és az adatok átalakításának vezénylése érdekében.
  • Az Azure Batch nagy léptékű alkalmazásokat futtat olyan feladatokhoz, mint az adatátszervezés, az adatok szűrése és előkészítése, valamint a metaadatok kinyerése.
  • Az Azure Cosmos DB tárolja a metaadatok eredményeit, például a tárolt méréseket.
  • Az adatmegosztással nagyobb biztonsággal oszthat meg adatokat partnerszervezetekkel, például címkézési vállalatokkal.
  • Az Azure Databricks számos eszközt biztosít a nagyvállalati szintű adatmegoldások nagy léptékű karbantartásához. Nagy mennyiségű járműadat hosszú ideig futó műveleteihez szükséges. Az adatmérnökök az Azure Databrickset használják elemzési munkabenchként.
  • Az Azure Synapse Analytics csökkenti az adattárházak és a big data rendszerek elemzési idejét.
  • Az Azure Cognitive Search adatkatalógus-keresési szolgáltatásokat biztosít.

MLOps

A gépi tanulási műveletek (MLOps) a következők:

  • Funkciók kinyerési modelljei (például CLIP és YOLO) a jelenetek besorolásához (például hogy egy gyalogos szerepel-e a jelenetben) a DataOps-folyamat során.
  • Automatikus címkézési modellek a betöltött képek, a lidáris és a radaradatok címkézéséhez.
  • Észlelési és számítógépes látásmodellek objektumok és jelenetek észleléséhez.
  • Érzékelőfúziós modell, amely egyesíti az érzékelőstreameket.

Az észlelési modell az architektúra fontos összetevője. Ez az Azure Machine Tanulás modell objektumészlelési modellt hoz létre észlelt és kinyert jelenetek használatával.

A tárolóalapú gépi tanulási modell olyan formátumba való átvitele, amelyet a rendszer beolvashat egy chip (SoC) hardveren és érvényesítési/szimulációs szoftveren, az MLOps-folyamatban történik. Ehhez a lépéshez a SoC gyártójának támogatása szükséges.

MLOps-összetevők

  • Az Azure Machine Tanulás olyan gépi tanulási algoritmusok fejlesztésére szolgál, mint a funkciók kinyerése, az automatikus címkézés, az objektumészlelés és -besorolás, valamint az érzékelők fúziója.
  • Az Azure DevOps támogatja a DevOps-feladatokat, például a CI/CD-t, a tesztelést és az automatizálást.
  • A Vállalati GitHub alternatív megoldás a DevOps-feladatokhoz, például a CI/CD-hez, a teszteléshez és az automatizáláshoz.
  • Az Azure Container Registry lehetővé teszi a tárolólemezképek és -összetevők privát beállításjegyzékben való összeállítását, tárolását és kezelését.

ValOps

Az érvényesítési műveletek (ValOps) a fejlett modellek szimulált környezetekben felügyelt forgatókönyveken keresztüli tesztelésének folyamata, mielőtt költséges valós környezetvédelmi tesztelést végez. A ValOps-tesztek segítenek biztosítani, hogy a modellek megfeleljenek a kívánt teljesítményszabványoknak, pontossági szabványoknak és biztonsági követelményeknek. A felhőbeli érvényesítési folyamat célja, hogy azonosítsa és kezelje az esetleges problémákat, mielőtt éles környezetben üzembe helyezené az önvezető járművet. A ValOps a következőket tartalmazza:

  • Szimuláció érvényesítése. A felhőalapú szimulációs (nyílt ciklusú és zárthurkú tesztelési) környezetek lehetővé teszik az önvezető járműmodellek virtuális tesztelését. Ez a tesztelés nagy méretekben fut, és olcsóbb, mint a valós tesztelés.
  • Teljesítmény-ellenőrzés. A felhőalapú infrastruktúra nagy méretű teszteket futtathat az önvezető járműmodellek teljesítményének kiértékeléséhez. A teljesítmény-ellenőrzés tartalmazhat stresszteszteket, terheléses teszteket és teljesítményteszteket.

A ValOps érvényesítése segíthet kihasználni a felhőalapú infrastruktúra méretezhetőségét, rugalmasságát és költséghatékonyságát, és csökkentheti az önvezető járműmodellek piacra kerülési idejét.

Nyílt hurok tesztelése

Az újraszimuláció vagy az érzékelőfeldolgozás egy nyitott ciklusú teszt- és érvényesítési rendszer az automatikus vezetési funkciókhoz. Ez egy összetett folyamat, és szabályozási követelmények lehetnek a biztonságra, az adatvédelemre, az adatok verziószámozására és a naplózásra vonatkozóan. Az újraszimulációs folyamatok különböző autóérzékelőkből származó nyers adatokat rögzítettek egy felhőbeli gráfon keresztül. Az újraszimuláció ellenőrzi az adatfeldolgozási algoritmusokat, vagy észleli a regressziókat. Az OEM-ek egy irányított aciklikus gráfban egyesítik az érzékelőket, amelyek egy valós járművet jelölnek.

Az újraszimuláció egy nagy léptékű párhuzamos számítási feladat. Több tíz vagy több száz PC-s adatot dolgoz fel több tízezer mag használatával. 30 GB/s-nál nagyobb I/O-átviteli sebességet igényel. A több érzékelőből származó adatok olyan adatkészletekké lesznek kombinálva, amelyek a jármű számítógépes látási rendszerei által a valós világban való navigáláskor rögzített adatokat jelenítik meg. A nyílt ciklusú teszt a visszajátszás és a pontozás használatával ellenőrzi az algoritmusok teljesítményét az alapigazsággal szemben. A kimenetet a munkafolyamat későbbi részében használják az algoritmusok betanításához.

  • Az adathalmazok olyan tesztflotta-járművekből származnak, amelyek nyers érzékelőadatokat gyűjtenek (például kamera, lidar, radar és ultrahangos adatok).
  • Az adatmennyiség a kamera felbontásától és a jármű érzékelőinek számától függ.
  • A nyers adatok újra feldolgozásra kerülnek az eszközök különböző szoftverkiadásai ellen.
  • A rendszer nyers érzékelőadatokat küld az érzékelőszoftver érzékelőbemeneti felületére.
  • A kimenet a korábbi szoftververziók kimenetével van összehasonlítva, és hibajavítások vagy új funkciók, például új objektumtípusok észlelése ellen van ellenőrizve.
  • A feladat második újrainjektálása a modell és a szoftver frissítése után történik.
  • Az eredmények ellenőrzéséhez a rendszer az alapigazság-adatokat használja.
  • Az eredmények a tárolóba vannak írva, és ki vannak töltve az Azure Data Explorerbe vizualizáció céljából.

Zárthurkú tesztelés és szimuláció

Az önvezető járművek zárt ciklusú tesztelése a járművek képességeinek tesztelése, miközben valós idejű visszajelzéseket is tartalmaz a környezettől. A jármű műveletei az előre programozott viselkedésen és az általa tapasztalt dinamikus körülményeken alapulnak, és ennek megfelelően módosítják a műveleteit. A zárthurkú tesztelés összetettebb és reálisabb környezetben fut. Segítségével felmérhető, hogy a jármű képes-e valós helyzeteket kezelni, beleértve azt is, hogy hogyan reagál váratlan helyzetekre. A zárthurkú tesztelés célja annak ellenőrzése, hogy a jármű biztonságosan és hatékonyan tud-e működni különböző körülmények között, valamint hogy szükség szerint finomítsa annak ellenőrzési algoritmusait és döntéshozatali folyamatait.

A ValOps-folyamat integrálja a zárthurkú tesztelést, a külső szimulációkat és az ISV-alkalmazásokat.

Forgatókönyvek kezelése

A ValOps fázisban a rendszer valós forgatókönyvek katalógusát használja annak ellenőrzésére, hogy az önvezető megoldás képes-e szimulálni az önvezető járművek viselkedését. A cél a forgatókönyv-katalógusok létrehozásának felgyorsítása a forgatókönyv részét képező útvonalhálózat automatikus beolvasásával a nyilvánosan elérhető és szabadon elérhető digitális térképekről. Használjon külső eszközöket a forgatókönyvek kezeléséhez, vagy egy egyszerűsített nyílt forráskód-szimulátort, például a CARLA-t, amely támogatja az OpenDRIVE (xodr) formátumot. További információ: ScenarioRunner for CARLA.

ValOps-összetevők

  • Az Azure Kubernetes Service nagy léptékű kötegelt következtetést futtat a resin-keretrendszeren belüli nyílthurkú érvényesítéshez. Javasoljuk, hogy használja a BlobFuse2-t a mérési fájlok eléréséhez. Használhatja az NFS-t is, de ki kell értékelnie a használati eset teljesítményét.
  • Az Azure Batch nagy léptékű kötegkövetkezéseket futtat a resin-keretrendszeren belüli nyílthurkú érvényesítéshez.
  • Az Azure Data Explorer elemzési szolgáltatást biztosít a mérésekhez és a KPI-khez (azaz az újraszimulációhoz és a feladatok futtatásához).

Központosított AVOps-függvények

Az AVOps-architektúra összetett, és különböző harmadik feleket, szerepköröket és fejlesztési fázisokat foglal magában, ezért fontos egy jó szabályozási modell implementálása.

Javasoljuk, hogy hozzon létre egy központosított csapatot olyan funkciók kezelésére, mint az infrastruktúra kiépítése, a költségkezelés, a metaadatok és az adatkatalógus, a lineage, valamint az általános vezénylés és eseménykezelés. Ezeknek a szolgáltatásoknak a központosítása hatékony és leegyszerűsíti a műveleteket.

Javasoljuk, hogy központosított csapattal kezelje ezeket a feladatokat:

  • ARM-/Bicep-sablonok biztosítása, beleértve az AVOps-architektúra egyes területei és alterületei által használt szabványos szolgáltatások sablonjait, például a tárolást és a számítást
  • Központi Azure Service Bus/Azure Event Hubs-példányok implementálása az AVOps-adathurok eseményvezérelt vezénylésére
  • A metaadat-katalógus tulajdonjoga
  • A teljes körű vonalvezetés és nyomon követhetőség képességei az összes AVOps-összetevőben

Diagram that shows centralized AVOps functions.

Forgatókönyv részletei

Ezzel az architektúrával automatizált vezetési megoldást hozhat létre az Azure-ban.

Lehetséges használati esetek

Autóipari oemek, 1. rétegbeli gyártók és isv-k, amelyek automatizált vezetésre fejlesztenek megoldásokat.

Considerations

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 készlete. További információ: Microsoft Azure Well-Architected Framework.

Biztonság

A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: A biztonsági pillér áttekintése.

Fontos megérteni az autóipari OEM és a felhőszolgáltató közötti felelősségmegosztást. A járműben az OEM az egész vermet birtokolja, de ahogy az adatok a felhőbe kerülnek, bizonyos felelősségek átkerülnek a felhőszolgáltatóra. Az Azure Platform as a service (PaaS) beépített továbbfejlesztett biztonságot nyújt a fizikai veremen, beleértve az operációs rendszert is. Az infrastruktúra biztonsági összetevői mellett az alábbi fejlesztéseket is alkalmazhatja. Ezek a fejlesztések lehetővé teszik a zéró megbízhatósági megközelítést.

Költségoptimalizálás

A költségoptimalizálás a szükségtelen kiadások csökkentéséről és a működési hatékonyság javításáról szól. További információ: A költségoptimalizálási pillér áttekintése.

Ezeket a stratégiákat használhatja az önvezető megoldások fejlesztéséhez kapcsolódó költségek csökkentésére:

  • A felhőinfrastruktúra optimalizálása. A felhőinfrastruktúra gondos tervezése és felügyelete segíthet a költségek csökkentésében. Például költséghatékony példánytípusok és skálázási infrastruktúra használatával feleljen meg a változó számítási feladatoknak. Kövesse az Azure felhőadaptálási keretrendszer útmutatását.
  • Használjon kihasználatlan virtuális gépeket. Meghatározhatja, hogy az AVOps-üzemelő példány mely számítási feladatai nem igényelnek feldolgozást egy adott időkereten belül, és kihasználatlan virtuális gépeket használjon ezekhez a számítási feladatokhoz. A kihasználatlan virtuális gépek lehetővé teszik a kihasználatlan Azure-kapacitás előnyeit a jelentős költségmegtakarítás érdekében. Ha az Azure-nak szüksége van a kapacitásra, az Azure-infrastruktúra kiüríti a kihasználatlan virtuális gépeket.
  • Automatikus skálázás használata. Az automatikus skálázás lehetővé teszi a felhőinfrastruktúra igény szerinti automatikus beállítását, csökkentve a manuális beavatkozás szükségességét, és segít csökkenteni a költségeket. További információ: Tervezés skálázáshoz.
  • Fontolja meg a gyakori elérésű, ritka elérésű és archív tárolási szintek használatát. A tárolás jelentős költség lehet egy önvezető megoldásban, ezért költséghatékony tárolási lehetőségeket kell választania, például a hideg tárolást vagy a ritkán használt tárolót. További információ: adatéletciklus-kezelés.
  • Használjon költségkezelési és optimalizálási eszközöket. A Microsoft Cost Management olyan eszközöket biztosít, amelyekkel azonosíthatja és kezelheti a költségcsökkentés területeit, például a nem használt vagy kihasználatlan erőforrásokat.
  • Fontolja meg az Azure-szolgáltatások használatát. Az Azure Machine Tanulás használatával például önvezető modelleket hozhat létre és taníthat be. Ezeknek a szolgáltatásoknak a használata költséghatékonyabb lehet, mint a házon belüli infrastruktúra kiépítése és karbantartása.
  • Megosztott erőforrások használata. Ha lehetséges, használhat megosztott erőforrásokat, például megosztott adatbázisokat vagy megosztott számítási erőforrásokat az önvezető fejlesztéssel járó költségek csökkentésére. Az architektúra központosított funkciói például egy központi buszt, eseményközpontot és metaadat-katalógust implementálnak. Az Olyan szolgáltatások, mint az Azure Data Share , szintén segíthetnek a cél elérésében.

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:

Egyéb közreműködők:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések

További információ a DataOps automatizált vezetési rendszerekhez való fejlesztéséről:

Az alábbi kapcsolódó cikkek is érdekelhetik: