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


Mi az a Ray az Azure Databricksben?

A Ray egy nyílt forráskód keretrendszer Python-alkalmazások skálázására. Az AI-számítási feladatokhoz kapcsolódó kódtárakat tartalmaz, így különösen alkalmas AI-alkalmazások fejlesztésére. A Ray az Azure Databricksen lehetővé teszi a Ray-alkalmazások futtatását, miközben az Azure Databricks összes platformelőnyét és szolgáltatását élvezheti.

A Ray 2.3.0-s és újabb verziókban Ray-fürtöket hozhat létre, és Ray-alkalmazásokat futtathat Apache Spark-fürtökön az Azure Databricks használatával.

A Ray gépi tanulásának első lépéseiről, beleértve az oktatóanyagokat és példákat, tekintse meg a Ray dokumentációját. A Ray és az Apache Spark integrációjával kapcsolatos további információkért tekintse meg a Ray on Spark API dokumentációját.

Tekintse meg a jelen szakaszban található további cikkeket.

Mi az a Ray?

Ray leegyszerűsíti az elosztott rendszereket azáltal, hogy alapszintű Python-primitíveket biztosít az elosztott alkalmazások nulláról történő létrehozásához. Az elosztott rendszerekben új Python-fejlesztők számára ugyanolyan egyszerű használatot biztosít, mint a standard Python, miközben felügyeli a vezénylést, az ütemezést és a hibatűrést.

A Ray és az Apache Spark kiegészítő keretrendszerek. Ray a logikai párhuzamosságban jeleskedik, és dinamikus, nagy számítási igényű feladatokat kezel, például gépi tanulást és megerősítési tanulást. Az Apache Spark az adat-párhuzamosságra specializálódott, és hatékonyan dolgoz fel nagy adathalmazokat olyan feladatokhoz, mint az ETL és az adatelemzés. Együttesen hatékony kombinációt biztosítanak mind az adatfeldolgozáshoz, mind az összetett számításokhoz.

Miért érdemes futtatni a Rayt az Azure Databricksen?

A Ray Azure Databricksen való futtatásával kihasználhatja az Azure Databricks-ökoszisztéma széles hatósugarát, így fokozhatja az adatfeldolgozási és gépi tanulási munkafolyamatokat olyan szolgáltatásokkal és integrációkkal, amelyek nem érhetők el nyílt forráskód Rayben. A Ray Azure Databricksben való futtatásának előnyei a következők:

  • Egyesített platform: Az Azure Databricks egy egységes platformot biztosít, ahol Ray-alkalmazásokat futtathat az Apache Spark mellett. Ez az integráció támogatja a zökkenőmentes adat-ETL-műveleteket, a hatékony adatátvitelt és a hatékony párhuzamos számítástechnikát ugyanazon a számítási környezetben.
  • Irányítás és szabályozás: A Unity Catalog használatával élvezheti az adatkövetés, az adatok verziószámozása és a hozzáférés-vezérlés előnyeit az összes adategység, fájl, modell és egyebek esetében, biztosítva a megfelelőséget és a biztonságot.
  • Infrastruktúra-kezelés: Az infrastruktúra-eszközök, például az Azure Databricks Terraform Provider és az Azure Databricks Asset Bundles használatával kezelheti a fürtöket és a feladatokat, biztosítva az egyszerűsített műveleteket és a méretezhetőséget.
  • Felügyelt Ray-fürtök: A Ray-fürtök kezelése ugyanabban a végrehajtási környezetben történik, mint egy futó Apache Spark-fürt. Ez biztosítja a méretezhetőséget, a megbízhatóságot és a könnyű használatot összetett infrastruktúra-beállítás nélkül.
  • Modellkiszolgáló és -monitorozás: Csatlakoztassa a Ray Trainrel betanított modelleket a Mozaik AI-modellkiszolgálóhoz a magas rendelkezésre állású, alacsony késésű üzemelő példányokhoz. Emellett a Lakehouse Monitoring használatával nyomon követheti a modell előrejelzési minőségét és sodródását, biztosítva a konzisztens teljesítményt.
  • Továbbfejlesztett ml-fejlesztés: Integrálható a teljes mértékben felügyelt Azure Databricks MLflow szolgáltatással a modellfejlesztés nyomon követéséhez, megkönnyítve a kísérletkezelést és a reprodukálhatóságot a Ray-alkalmazásokban.
  • Automatizált munkafolyamatok: A Databricks-feladatok használatával automatizálhatja a folyamatokat, éles üzemre kész folyamatokat hozhat létre, amelyek leegyszerűsítik a műveleteket, és csökkentik a manuális beavatkozást.
  • Kódkezelés és együttműködés: Hatékonyan kezelheti a kódot az Azure Databricks Git-mappákkal, így zökkenőmentes Git-integrációt tesz lehetővé a verziókövetéshez és az együttműködésen alapuló fejlesztéshez a Ray-alkalmazás kódjához.
  • Hatékony adathozzáférés: Ray-alkalmazások csatlakoztatása a Delta Lake-hez, kihasználva az Azure Databricks adatintegrációk széles körű ökoszisztémáját, hogy a Ray képességeit az alkalmazások és kimenetek szélesebb körére bővítse.

A Ray Azure Databricksen való futtatásával olyan integrált ökoszisztémához férhet hozzá, amely javítja az adatfeldolgozást, a gépi tanulást és az üzemeltetési munkafolyamatokat.

Használati esetek – gépi tanulás és azon túl

A Ray egy sokoldalú eszköz, amely kibővíti a Python képességeit a DataFrame-műveletek korlátain túl, így ideális a nagy mértékben testre szabott és specializált elosztott algoritmusokhoz.

Gépi tanulás és mély tanulás

A Ray gépi tanulási kódtárainak használatával javíthatja az ML-munkafolyamatokat:

  • Hiperparaméter-finomhangolás: Optimalizálja a modell teljesítményét a Ray Tune használatával a teljesítményalapú és méretezhető hiperparaméter-kereséshez.
  • Elosztott mélytanulási képzés: Mélytanulási modellek skálázása több csomóponton olyan népszerű keretrendszerek támogatásával, mint a PyTorch, a TensorFlow, az HuggingFace és a Keras. Ideális a számítógépes látáshoz vagy a nagy nyelvi modellekhez (LLM-ekhez) készült betanítási modellekhez.
  • Hagyományos gépi tanulás: A Ray használatával terjesztheti a betanítást, a kiértékelést és a kötegelt következtetést olyan hagyományos ML-modellekhez, amelyekre olyan népszerű kódtárak épülnek, mint a scikit-learn vagy az XGBoost.

Nagy teljesítményű számítástechnika (HPC)

A Ray a HPC számítási feladatok elosztásában jeleskedik, így a következő célokra alkalmas:

  • Matematikai számítások: Összetett számításokat végezhet olyan mezőkben, mint a fizika, a genomik vagy a pénzügy a Ray Core használatával a hatékony párhuzamos feldolgozás érdekében.
  • Idősor-előrejelzés: Az előrejelzési modellek skálázása, a becslések egyidejű futtatása olyan előrejelzési csomagokkal, mint a Prophet vagy az ARIMA.

Adatfeldolgozás és szolgáltatásfejlesztés

Ray különböző adatfeldolgozási feladatokat is képes kezelni:

  • Számítási funkciók: Az összetett, nagy számítási igényű szolgáltatástervezési feladatok kihasználhatják a Ray elosztott számítási architektúráját.
  • Hang-, kép- és videofeldolgozás: A multimédiás adatok feldolgozásának terjesztése és felgyorsítása, így ideális a beszédfelismerési, képbesorolási és videoelemzési alkalmazásokhoz.

Korlátozások

  • Az Apache Sparkon futó Ray az egyfelhasználós (hozzárendelt) hozzáférési mód, az elkülönítési megosztott hozzáférési mód és a feladatfürtök esetében támogatott. A Ray-fürt nem kezdeményezhető kiszolgáló nélküli futtatókörnyezeteket használó fürtökön.
  • Ne futtassa %pip a csomagokat egy futó Ray-fürtre, mert az leállítja a fürtöt. Ehelyett telepítse a kódtárakat a fürt inicializálása előtt.
  • Ha olyan integrációkat használ, amelyek felülbírálják a konfigurációt, ray.util.spark.setup_ray_cluster a Ray-fürt instabillá válhat. Kerülje a Ray-fürt erőforrásainak túlzott előfizetését külső alkalmazásokban.
  • Ha hasonló ncclInternalError: Internal check failedhibákba ütközik, ez a fürt GPU-k közötti hálózati kommunikációval kapcsolatos problémát jelez. A hiba megoldásához adja hozzá a következő kódrészletet a betanítási kódhoz az elsődleges hálózati adapter használatához.
import os
os.environ["NCCL_SOCKET_IFNAME"] = "eth0"