Mesterséges intelligencia (AI) architektúra tervezése

A mesterséges intelligencia (AI) a számítógép képessége az intelligens emberi viselkedés utánzására. A mesterséges intelligencián keresztül a gépek elemezhetik a képeket, megérthetik a beszédet, természetes módon kommunikálhatnak, és adatokkal előrejelzéseket készíthetnek.

Illustration depicting the relationship of artificial intelligence as a parent concept. Within AI is machine learning. Within machine learning is deep learning.

AI-fogalmak

Algoritmus

Az algoritmusok számítások és szabályok sorozata, amelyeket egy probléma megoldására vagy egy adatkészlet elemzésére használnak. Ez olyan, mint egy folyamatdiagram, amely részletes útmutatást ad a felteendő kérdésekhez, de matematikai és programozási kódban van megírva. Egy algoritmus leírhatja, hogyan állapítható meg, hogy egy kisállat macska, kutya, hal, madár vagy gyík. Egy másik sokkal bonyolultabb algoritmus leírhatja, hogyan azonosíthat egy írott vagy beszélt nyelvet, elemezheti a szavait, lefordíthatja őket egy másik nyelvre, majd ellenőrizheti a fordítás pontosságát.

Gépi tanulás

A gépi tanulás egy olyan AI-technika, amely matematikai algoritmusokkal hoz létre prediktív modelleket. Az algoritmus az adatmezők elemzésére és az adatokból való "tanulásra" szolgál a benne található minták használatával modellek létrehozásához. Ezek a modellek ezután megalapozott előrejelzések vagy új adatokkal kapcsolatos döntések meghozatalára szolgálnak.

A prediktív modelleket ismert adatok alapján ellenőrzi a rendszer, az adott üzleti forgatókönyvekhez kiválasztott teljesítménymetrikákkal méri, majd szükség szerint módosítja. Ezt a tanulási és érvényesítési folyamatot képzésnek nevezzük. Rendszeres újratanítással az ML-modellek idővel javulnak.

Mély tanulás

A mély tanulás egy olyan gépi tanulási típus, amely meghatározhatja, hogy az előrejelzései pontosak-e. Algoritmusokat is használ az adatok elemzéséhez, de az ml-nél nagyobb léptékben teszi ezt.

A mély tanulás mesterséges neurális hálózatokat használ, amelyek több algoritmusrétegből állnak. Minden réteg megvizsgálja a bejövő adatokat, saját speciális elemzést végez, és olyan kimenetet hoz létre, amelyet más rétegek is megérthetnek. Ez a kimenet ezután a következő rétegnek lesz átadva, ahol egy másik algoritmus saját elemzést végez, és így tovább.

Az egyes neurális hálózatok számos rétege és néha több neurális hálózat használata esetén a gépek saját adatfeldolgozással tanulhatnak. Ez sokkal több adatot és sokkal nagyobb számítási teljesítményt igényel, mint az ML.

Robotok

A robot egy automatizált szoftverprogram, amelyet egy adott feladat végrehajtására terveztek. Gondolj rá úgy, mint egy test nélküli robotra. A korai robotok viszonylag egyszerűek voltak, és viszonylag egyszerű algoritmikus logikával kezelték az ismétlődő és terjedelmes feladatokat. Ilyenek például a keresőmotorok által a webes tartalmak automatikus feltárására és katalógusára használt webbejárók.

A robotok sokkal kifinomultabbak lettek, mi és más technológiák használatával utánozzák az emberi tevékenységet és a döntéshozatalt, gyakran pedig közvetlenül az emberekkel kommunikálnak szövegen vagy akár beszéden keresztül. Ilyenek például a vacsorafoglalásra alkalmas robotok, az ügyfélszolgálati interakciókat segítő csevegőrobotok (vagy beszélgetési AI), valamint a közösségi oldalakra friss híreket vagy tudományos adatokat közzétévő közösségi robotok.

A Microsoft az Azure Bot Service-t kínálja, amely egy nagyvállalati szintű robotfejlesztéshez készült felügyelt szolgáltatás.

Autonóm rendszerek

Az autonóm rendszerek egy fejlődő új osztály részei, amelyek túlmutatnak az alapvető automatizáláson. Ahelyett, hogy egy adott feladatot többször hajtanak végre, vagy nem változnak (mint a robotok), az autonóm rendszerek intelligenciát hoznak a gépekre, hogy alkalmazkodjanak a változó környezetekhez a kívánt cél elérése érdekében.

Az intelligens épületek autonóm rendszereket használnak az olyan műveletek automatikus vezérlésére, mint a világítás, a szellőztetés, a légkondicionáló és a biztonság. Egy kifinomultabb példa lenne egy önirányítású robot, amely feltár egy összecsukott akna akna, hogy alaposan feltérképezze a belső, meghatározza, mely részek szerkezetileg hang, elemzi a levegőt a légáteresztő, és észleli jeleit csapdába esett bányászok szüksége mentő-minden nélkül emberi monitorozás valós időben a távoli végén.

Általános információk a Microsoft AI-ről

További információ a Microsoft AI-ról, és naprakészen tarthatja a kapcsolódó híreket:

Magas szintű architektúratípusok

Előre összeállított AI

Az előre összeállított AI pontosan úgy hangzik, mint a használatra kész AI-modellek, szolgáltatások és API-k. Ezek segítségével anélkül adhat hozzá intelligenciát az alkalmazásokhoz, webhelyekhez és folyamatokhoz, hogy adatokat kellene gyűjtenie, majd saját modelleket kellene létrehoznia, betanítása és közzététele érdekében.

Az előre összeállított AI-ra példa lehet egy előre betanított modell, amely beépíthető úgy, ahogyan van, vagy amely alapkonfigurációt biztosít a további egyéni betanításhoz. Egy másik példa egy felhőalapú API-szolgáltatás, amely igény szerint meghívható a természetes nyelv kívánt módon történő feldolgozásához.

Azure Cognitive Services

A Cognitive Services lehetőséget biztosít a fejlesztőknek arra, hogy előre összeállított API-kat és integrációs eszközkészleteket használva olyan alkalmazásokat hozzanak létre, amelyek képesek látni, hallani, beszélni, megérteni, sőt, még okokat is kezdeni. A Cognitive Services szolgáltatáskatalógusa öt fő pillérre sorolható: Látás, Beszéd, Nyelv, Web Search és Döntés/Javaslat.

Előre összeállított AI-modellek az AI Builderben

Az AI Builder a Microsoft Power Platform új képessége, amely pont-kattintásos felületet biztosít az AI alkalmazásokhoz való hozzáadásához, még akkor is, ha nem rendelkezik kódolási vagy adatelemzési ismeretekkel. (Az AI Builder egyes funkciói még nem jelentek meg általánosan elérhetőként, és előzetes verziós állapotban maradnak. További információkért tekintse meg a szolgáltatás elérhetőségét régiónkénti oldalon.)

Létrehozhat és betaníthat saját modelleket, de az AI Builder olyan előre összeállított AI-modelleket is biztosít, amelyek azonnal használatra készek. Hozzáadhat például egy összetevőt a Microsoft Power Appsben egy előre összeállított modell alapján, amely felismeri a névjegykártyák névjegyadatait.

Egyéni AI

Bár az előre összeállított AI hasznos (és egyre rugalmasabb), a legjobb módja annak, hogy megkapja, amire szüksége van a mesterséges intelligenciából, valószínűleg saját maga hozhat létre egy rendszert. Ez nyilvánvalóan egy nagyon mély és összetett téma, de tekintsünk meg néhány alapfogalmat az imént tárgyaltakon túl.

Kódnyelvek

Az AI alapvető fogalma az algoritmusok használata az adatok elemzésére és modellek létrehozására az adatok leírására (vagy pontozására) a hasznos módokon. Az algoritmusokat fejlesztők és adattudósok (és néha más algoritmusok) programozási kóddal írják. Az AI-fejlesztés két legnépszerűbb programozási nyelve jelenleg a Python és az R.

A Python egy általános célú, magas szintű programozási nyelv. Egyszerű, könnyen elsajátítható szintaxissal rendelkezik, amely az olvashatóságot hangsúlyozza. Nincs fordítási lépés. A Python nagy méretű standard kódtárat tartalmaz, de támogatja a modulok és csomagok hozzáadását is. Ez ösztönzi a modularitást, és lehetővé teszi, hogy szükség esetén bővítse a képességeket. A Pythonhoz készült AI- és ML-kódtárak nagy és növekvő ökoszisztémája van, köztük sok, az Azure-ban könnyen elérhető.

Az R a statisztikai számítástechnika és a grafika nyelve és környezete . Használható mindenre, a széles körű társadalmi és marketing trendek online leképezésétől a pénzügyi és éghajlati modellek fejlesztéséig.

A Microsoft teljes mértékben elfogadta az R programozási nyelvet, és számos különböző lehetőséget kínál az R-fejlesztők számára a kód Azure-ban való futtatására.

Tanfolyam

A betanítás a gépi tanulás alapvető eleme. Ez egy algoritmus "tanítása" iteratív folyamata modellek létrehozásához, amelyek az adatok elemzésére, majd pontos előrejelzések készítésére szolgálnak. A gyakorlatban ez a folyamat három általános fázissal rendelkezik: betanítás, ellenőrzés és tesztelés.

A betanítási fázis során az ismert adatok minőségi készlete fel van címkézve, hogy az egyes mezők azonosíthatók legyenek. A címkézett adatok egy adott előrejelzésre konfigurált algoritmushoz lesznek etetve. Ha elkészült, az algoritmus egy olyan modellt ad ki, amely paraméterek készleteként található mintákat írja le. Az ellenőrzés során a rendszer megjelöli a friss adatokat, és a modell tesztelésére szolgál. Az algoritmus szükség szerint van beállítva, és esetleg több betanításon is átesik. Végül a tesztelési fázis valós adatokat használ címkék és előre kiválasztott célok nélkül. Feltéve, hogy a modell eredményei pontosak, használatra késznek tekinthető, és üzembe helyezhető.

Hiperparaméterek finomhangolása

A hiperparaméterek olyan adatváltozók, amelyek a betanítási folyamatot szabályozzák. Ezek konfigurációs változók, amelyek vezérli az algoritmus működését. A hiperparaméterek így általában a modell betanítása előtt vannak beállítva, és nem módosulnak a betanítási folyamaton belül a paramétereknek megfelelően. A hiperparaméter-finomhangolás magában foglalja a próbaverziók futtatását a betanítási feladaton belül, felméri, hogy milyen jól végzik el a feladatot, majd szükség szerint módosítják őket. Ez a folyamat több modellt hoz létre, mindegyiket különböző hiperparaméter-családokkal tanítja be.

A modell kiválasztása

A betanítási és hiperparaméter-finomhangolási folyamat számos jelölt modellt hoz létre. Ezek számos különböző varianciával rendelkezhetnek, beleértve az adatok előkészítéséhez szükséges erőfeszítéseket, a modell rugalmasságát, a feldolgozási idő mennyiségét és természetesen az eredmények pontosságát. A legjobban betanított modell kiválasztását az igényeinek és korlátainak megfelelően modellválasztásnak nevezzük, de ez a betanítás előtti előtervezésről szól, mivel a legjobban működő modell kiválasztásáról van szó.

Automatizált gépi tanulás (AutoML)

Az automatizált gépi tanulás, más néven AutoML a gépi tanulási modell fejlesztésének időigényes, iteratív feladatainak automatizálása. Jelentősen csökkentheti az éles üzemre kész ML-modellek beszerzéséhez szükséges időt. Az automatizált gépi tanulás a modellek kiválasztásában, a hiperparaméterek finomhangolásában, a modell betanításában és egyéb feladatokban is segíthet, anélkül, hogy kiterjedt programozási vagy tartományi ismeretekre van szükség.

Pontozás

A pontozást előrejelzésnek is nevezik, és egy betanított gépi tanulási modellen alapuló értékek generálásának folyamata, néhány új bemeneti adat alapján. A létrehozott értékek vagy pontszámok a jövőbeli értékek előrejelzéseit jelölhetik, de valószínű kategóriát vagy eredményt is jelenthetnek. A pontozási folyamat számos különböző típusú értéket hozhat létre:

  • Ajánlott elemek listája és hasonlósági pontszám

  • Numerikus értékek idősorozat-modellekhez és regressziós modellekhez

  • Valószínűségi érték, amely annak valószínűségét jelzi, hogy egy új bemenet egy meglévő kategóriához tartozik

  • Annak a kategóriának vagy fürtnek a neve, amelyhez az új elem a leginkább hasonlít

  • Előrejelzett osztály vagy eredmény besorolási modellekhez

A köteg pontozása akkor történik, ha az adatokat bizonyos meghatározott időszakban gyűjtik, majd egy kötegben dolgozzák fel. Ilyen lehet például az üzleti jelentések létrehozása vagy az ügyfelek lojalitásának elemzése.

A valós idejű pontozás pontosan az a pontozás, amely folyamatban van, és a lehető leggyorsabban történik. A klasszikus példa a hitelkártya-csalások észlelése, de a valós idejű pontozás beszédfelismeréshez, orvosi diagnózisokhoz, piaci elemzésekhez és sok más alkalmazáshoz is használható.

Általános információk az Egyéni AI-ről az Azure-ban

Azure AI-platformajánlatok

Az alábbiakban áttekintjük azokat az Azure-technológiákat, platformokat és szolgáltatásokat, amelyekkel migrálási megoldásokat fejleszthet az igényeinek megfelelően.

Azure Machine Learning

Ez egy nagyvállalati szintű gépi tanulási szolgáltatás a modellek gyorsabb létrehozásához és üzembe helyezéséhez. Az Azure Machine Tanulás webes felületeket és SDK-kat kínál, így gyorsan betanítheti és üzembe helyezheti gépi tanulási modelljeit és folyamatait nagy méretekben. Ezeket a képességeket mind használhatja olyan nyílt forráskódú Python-keretrendszerekkel, mint a PyTorch, a TensorFlow és a scikit-learn.

Gépi tanulási referenciaarchitektúrák az Azure-hoz

Azure automatizált gépi tanulás

Az Azure széles körű támogatást nyújt az automatizált gépi tanuláshoz. A fejlesztők kód nélküli felhasználói felülettel vagy kódelső jegyzetfüzetek használatával hozhatnak létre modelleket.

Azure Cognitive Services

Ez az AI-szolgáltatások és a kognitív API-k átfogó családja, amely segít intelligens alkalmazások létrehozásában. Ezek a tartományspecifikus, előre betanított AI-modellek testre szabhatók az adataival.

Ez egy AI-alapú felhőalapú keresési szolgáltatás mobil- és webalkalmazás-fejlesztéshez. A szolgáltatás kereshet a privát heterogén tartalmak között, és lehetőség van a mi-bővítésre, ha a tartalom strukturálatlan vagy nyers formában nem azonosítható.

Azure Bot Service

Ez egy használatra készült robotfejlesztési környezet, amely beépített sablonokkal rendelkezik a gyors kezdéshez.

Apache Spark az Azure-ban

Apache Spark is a parallel processing framework that supports in-memory processing to boost the performance of big data analytic applications. a Spark alapelemeket nyújt a memórián belüli fürtszámításhoz. A Spark-feladatok adatokat tölthetnek be és gyorsítótárazhatnak a memóriába, és ismételten lekérdezhetik őket, ami sokkal gyorsabb, mint a lemezalapú alkalmazások, például a Hadoop.

Az Apache Spark az Azure HDInsightban az Apache Spark Microsoft-implementációja a felhőben. A HDInsight Spark-fürtöi kompatibilisek az Azure Storage-ral és az Azure Data Lake Storage-ral, így HDInsight Spark-fürtökkel feldolgozhatja az Azure-ban tárolt adatokat.

Az Apache Spark microsoftos gépi tanulási kódtára a SynapseML (korábbi nevén MMLSpark). Ez a nyílt forráskódú kódtár számos mélytanulási és adatelemzési eszközt, hálózatkezelési képességet és termelési szintű teljesítményt ad hozzá a Spark-ökoszisztémához. További információ a SynapseML funkcióiról és képességeiről.

Azure Databricks Runtime for Machine Tanulás

Az Azure Databricks egy Apache Spark-alapú elemzési platform, amely egykattintásos beállítással, egyszerűsített munkafolyamatokkal és interaktív munkaterülettel rendelkezik az adattudósok, mérnökök és üzleti elemzők közötti együttműködéshez.

A Databricks Runtime for Machine Tanulás (Databricks Runtime ML) lehetővé teszi egy Databricks-fürt elindítását az elosztott betanításhoz szükséges összes kódtárral. Használatra kész környezetet biztosít a gépi tanuláshoz és az adatelemzéshez. Emellett több népszerű kódtárat is tartalmaz, köztük a TensorFlow, a PyTorch, a Keras és az XGBoost. Az elosztott betanítást is támogatja a Horovod használatával.

Ügyfelek sikertörténetei

A különböző iparágak innovatív és inspiráló módon alkalmazzák az AI-t. Az alábbiakban számos ügyféleset-tanulmányt és sikertörténetet olvashat:

További AI-ügyféltörténetek tallózása

További lépések