Mesterségesintelligencia- (AI-) architektúra tervezése

A mesterséges intelligencia (AI) a számítógép azon képessége, hogy utánozza az intelligens emberi viselkedést. A mesterséges intelligencián keresztül a gépek képeket elemezhetnek, beszédet írhatnak, természetes módon kommunikálhatnak, és előrejelzéseket készíthetnek adatok használatával.

A mesterséges intelligencia szülőfogalomként való kapcsolatát ábrázoló ábra. Az AI-ben a gépi tanulás. A gépi tanulás a mély tanulás.

AI-fogalmak

Algoritmus

Az algoritmusok számítások és szabályok sorozatai, amelyeket egy probléma megoldására vagy egy adatkészlet elemzésére használnak. Ez olyan, mint egy folyamatábra, amely részletes utasításokat tartalmaz 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-e. 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 (ML) egy olyan AI-technika, amely matematikai algoritmusokkal hoz létre prediktív modelleket. Az algoritmusok az adatmezők elemzésére és az adatokból való "tanulásra" szolgálnak a benne található minták használatával modellek létrehozásához. Ezeket a modelleket ezután arra használják, hogy tájékozott előrejelzéseket vagy döntéseket hozzanak az új adatokról.

A prediktív modellek ellenőrzése ismert adatok alapján, meghatározott üzleti forgatókönyvekhez kiválasztott teljesítménymetrikák alapján mérve, majd szükség szerint módosítható. Ezt a tanulási és ellenőrzési folyamatot betanításnak nevezzük. Az időszakos újratanítás révén az ML-modellek idővel javulnak.

Deep learning

A mély tanulás olyan gépi tanulási típus, amely képes meghatározni, hogy az előrejelzései pontosak-e. Algoritmusokat is használ az adatok elemzéséhez, de ez nagyobb léptékben történik, mint az ML.

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. Ezt a kimenetet ezután átadja a következő rétegnek, ahol egy másik algoritmus végzi a saját elemzését, é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. Ehhez sokkal több adatra és sokkal nagyobb számítási teljesítményre van szükség, mint az ML.

Robotok

A robot egy automatizált szoftverprogram, amelyet egy adott feladat végrehajtására terveztek. Úgy képzeld el, mint egy robotot test nélkül. 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 kifinomultabbá váltak, 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 kommunikálnak az emberekkel 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 kínál, amely egy nagyvállalati szintű robotfejlesztésre tervezett 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, alig vagy egyáltalán nem hajtanak végre (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őzés, a légkondicionáló és a biztonság. Egy kifinomultabb példa lehet egy önirányítású robot, amely egy összecsukott aknaaknát vizsgálva alaposan feltérképezi a belsejét, megállapítja, hogy mely részek szilárdak szerkezetileg, elemzik a levegőt a légáteresztő képesség érdekében, és észlelik a csapdába esett bányászok jeleit, akik mentésre szorulnak anélkül, hogy a távoli végen valós időben emberi megfigyelést kellene végezni.

Á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ű architekturális tí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 intelligenciát adhat az alkalmazásokhoz, webhelyekhez és folyamatokhoz anélkül, hogy adatokat kellene gyűjtenie, majd saját modelleket kellene létrehoznia, betanítása és közzététele után.

Az előre összeállított AI egyik példája lehet egy olyan előre betanított modell, amely az adott módon beépíthető, vagy 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 bármikor 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 nyújt 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 megtekinteni, hallani, beszélni, megérteni, sőt akár okokat kezdeni. A Cognitive Services szolgáltatáskatalógusa öt fő pillérbe sorolható: Vision, Speech, Language, Web Search és Decision/Recommendation.

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óban maradnak. További információt a Szolgáltatás rendelkezésre állása régiónként lapon talál.)

Saját modelleket készíthet és taníthat be, de az AI Builder 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ákról származó kapcsolattartási adatokat.

Egyéni AI

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

Kódnyelvek

A mesterséges intelligenciának az alapvető fogalma az algoritmusok használata az adatok elemzéséhez és modellek létrehozásához az adatok leírására (vagy pontozására) 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 kihangsúlyozza az olvashatóságot. Nincs fordítási lépés. A Python nagy méretű standard kódtárral rendelkezik, 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 Python AI- és ML-kódtárainak nagy és egyre bővülő ökoszisztémája van, köztük sok olyan is, amely könnyen elérhető az Azure-ban.

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 feltérké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.

Oktatás

A betanítás a gépi tanulás alapja. 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ázisból áll: betanítás, ellenőrzés és tesztelés.

A betanítási fázisban az ismert adatok minőségi készlete lesz megjelölve, hogy az egyes mezők azonosíthatók legyenek. A címkézett adatok egy adott előrejelzésre konfigurált algoritmusba lesznek beállítva. Ha elkészült, az algoritmus egy modellt ad ki, amely paraméterek készleteként a talált mintákat írja le. Az ellenőrzés során a rendszer címkével t használ a modell teszteléséhez. 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 címkék és előre kijelölt célok nélkül használ valós adatokat. Feltételezve, hogy a modell eredményei pontosak, a rendszer használatra késznek tekinti, és üzembe helyezhető.

Hiperparaméterek finomhangolása

A hiperparaméterek a betanítási folyamatot szabályozó adatváltozók. Ezek konfigurációs változók, amelyek az algoritmus működését szabályozzák. 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 úgy, ahogyan a paraméterek. A hiperparaméterek finomhangolása 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, amelyek mindegyike különböző hiperparaméter-családokkal van betanítva.

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ést, a modell rugalmasságát, a feldolgozási idő mennyiségét és természetesen az eredmények pontosságát. Az igényeinek és korlátainak leginkább megfelelő betanított modell kiválasztását model selection-nek nevezzük, de ez legalább annyira a betanítás előtti előtervezésről szól, mint a legjobban működő modell kiválasztásáról.

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

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

Pontozás

A pontozástelőrejelzésnek is nevezik, amely egy betanított gépi tanulási modellen alapuló értékek létrehozásának folyamata, néhány új bemeneti adat alapján. A létrehozott értékek vagy pontszámok jövőbeli értékek előrejelzését is jelenthetik, de egy 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 generálhat:

  • Az ajánlott elemek listája és a hasonlósági pontszám

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

  • Valószínűségérték, amely azt 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ötegelt pontozás az, amikor az adatokat bizonyos meghatározott időtartam alatt gyűjtik, majd kötegben dolgozzák fel. Ilyen lehet például az üzleti jelentések létrehozása vagy az ügyfelek hűségének 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 áttekintheti azokat az Azure-technológiákat, -platformokat és -szolgáltatásokat, amelyekkel az igényeinek megfelelő AI-megoldásokat fejleszthet.

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 Learning 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 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 az adatokkal testre szabhatók.

Ez egy AI-alapú felhőalapú kereső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 AI-bővítésre, ha a tartalom strukturálatlan vagy nem azonosítható nyers formában.

Azure Bot Service

Ez egy beépített robotfejlesztési környezet, amely beépített sablonokkal rendelkezik a gyors kezdéshez.

Apache Spark az Azure-ban

Az Apache Spark egy párhuzamos feldolgozást végző keretrendszer, amely támogatja a memóriabeli feldolgozást a big data-elemző alkalmazások teljesítményének növelése érdekében. a Spark alapelemeket nyújt a memórián belüli fürtszámításhoz. A Spark-feladatok betölthetik és gyorsítótárazhatják az adatokat a memóriába, és újra 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 HDInsightban található Spark-fürtök kompatibilisek az Azure Storage-ral és a Azure Data Lake Storage, így HDInsight Spark-fürtökkel feldolgozhatja az Azure-ban tárolt adatokat.

Az Apache SparkHoz készült Microsoft Machine Learning-kódtár az MMLSpark (Az Apache Sparkhoz készült Microsoft ML). Ez egy nyílt forráskódú kódtár, amely számos mélytanulási és adatelemzési eszközt, hálózatkezelési képességet és éles szintű teljesítményt ad hozzá a Spark-ökoszisztémához. További információ az MMLSpark funkcióiról és képességeiről.

Azure Databricks Runtime for Machine Learning

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 Learning (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 tö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

Következő lépések