Návrh architektury umělé inteligence (AI)

Umělá inteligence (AI) je schopnost počítače napodobit inteligentní lidské chování. Prostřednictvím umělé inteligence můžou počítače analyzovat obrázky, porozumět řeči, interagovat přirozenými způsoby a vytvářet předpovědi pomocí dat.

Obrázek znázorňující vztah umělé inteligence jako nadřazeného konceptu V rámci AI je strojové učení. V rámci strojového učení je hluboké učení.

Koncepty AI

Algoritmus

Algoritmus je posloupnost výpočtů a pravidel používaná k řešení problému nebo analýze sady dat. Je to jako vývojový diagram s podrobnými pokyny pro otázky, které je třeba klást, ale napsané v matematickém a programovacím kódu. Algoritmus může popsat, jak zjistit, jestli je zvíře kočka, pes, ryba, pták nebo ještěrka. Jiný mnohem složitější algoritmus může popisovat, jak identifikovat psaný nebo mluvený jazyk, analyzovat jeho slova, přeložit je do jiného jazyka a pak zkontrolovat přesnost překladu.

Strojové učení

Strojové učení (ML) je technika AI, která používá matematické algoritmy k vytváření prediktivních modelů. Algoritmus se používá k parsování datových polí a k tomu, aby se z dat "poučil" pomocí vzorů, které se v něm nacházejí, ke generování modelů. Tyto modely se pak používají k provádění informovaných předpovědí nebo rozhodování o nových datech.

Prediktivní modely se ověřují na základě známých dat, měří se metrikami výkonu vybranými pro konkrétní obchodní scénáře a pak se podle potřeby upraví. Tento proces učení a ověřování se nazývá trénování. Prostřednictvím pravidelného přetrénování se modely ML postupně vylepšují.

Hloubkové učení

Hluboké učení je typ strojového učení, který může sám určit, jestli jsou jeho předpovědi přesné. Používá také algoritmy k analýze dat, ale dělá to ve větším měřítku než ML.

Hluboké učení využívá umělé neurální sítě, které se skládají z několika vrstev algoritmů. Každá vrstva sleduje příchozí data, provádí vlastní specializovanou analýzu a vytváří výstup, kterému ostatní vrstvy rozumí. Tento výstup se pak předá do další vrstvy, kde jiný algoritmus provádí vlastní analýzu atd.

S mnoha vrstvami v každé neurální síti (a někdy pomocí více neurálních sítí) se počítač může učit prostřednictvím vlastního zpracování dat. To vyžaduje mnohem více dat a mnohem větší výpočetní výkon než ML.

Roboti

Robot je automatizovaný softwarový program navržený tak, aby prováděl určitou úlohu. Představte si to jako robota bez těla. Raní roboti byli poměrně jednoduchí a zvládali opakující se a objemné úlohy s relativně přímočarou algoritmickou logikou. Příkladem mohou být webové prohledávací moduly, které vyhledávací weby používají k automatickému zkoumání a katalogu webového obsahu.

Roboti jsou mnohem důmyslnější a používají AI a další technologie k napodobení lidské aktivity a rozhodování, často při přímé interakci s lidmi prostřednictvím textu nebo dokonce řeči. Mezi příklady patří roboti, kteří si mohou rezervovat večeři, chatovací roboti (nebo konverzační AI), kteří pomáhají s interakcemi se službami zákazníkům, a sociální roboti, kteří publikují nejnovější zprávy nebo vědecké údaje na webech sociálních médií.

Microsoft nabízí Azure Bot Service, spravovanou službu vytvořenou pro vývoj robotů na podnikové úrovni.

Autonomní systémy

Autonomní systémy jsou součástí vyvíjející se nové třídy, která přesahuje rámec základní automatizace. Místo opakovaného provádění konkrétní úlohy s malými nebo žádnými variacemi (jako to dělají roboti), autonomní systémy přinášejí počítačům inteligenci, aby se mohly přizpůsobit měnícím se prostředím a dosáhnout požadovaného cíle.

Inteligentní budovy používají autonomní systémy k automatickému řízení operací, jako je osvětlení, ventilace, klimatizace a zabezpečení. Sofistikovanější příklad by mohl být robot, který sám zkoumá zhroucenou důlní šachtu, aby důkladně zmapoval její interiér, určil, které části jsou strukturálně zvukové, analyzoval vzduch z hlediska prodyšnosti a zjistil známky uvězněných horníků, kteří potřebují záchranu – to vše bez lidského sledování v reálném čase na vzdálené straně.

Obecné informace o umělé inteligenci Microsoftu

Přečtěte si další informace o umělé inteligenci Microsoftu a udržujte si přehled o souvisejících novinkách:

Typy architektury vysoké úrovně

Předem připravená AI

Předem připravená AI je přesně to, co vypadá jako předpřipravené modely AI, služby a rozhraní API, které jsou připravené k použití. Ty vám pomůžou přidat inteligentní funkce do aplikací, webů a toků, aniž byste museli shromažďovat data a pak vytvářet, trénovat a publikovat vlastní modely.

Jedním z příkladů předem vytvořené umělé inteligence může být předem vytrénovaný model, který je možné začlenit tak, jak je, nebo použít k poskytnutí směrného plánu pro další vlastní trénování. Dalším příkladem může být cloudová služba API, kterou je možné podle potřeby volat za účelem zpracování přirozeného jazyka požadovaným způsobem.

Azure Cognitive Services

Služby Cognitive Services poskytují vývojářům příležitost používat předem připravená rozhraní API a integrační sady nástrojů k vytváření aplikací, které můžou vidět, slyšet, mluvit, rozumět a dokonce začít přemýšlet. Katalog služeb v rámci služeb Cognitive Services je možné rozdělit do pěti hlavních pilířů: Vision (Zpracování obrazu), Speech (Řeč), Language (Jazyk), Web Search (Vyhledávání na webu) a Decision/Recommendation (Rozhodování/doporučení).

Předem vytvořené modely AI v AI Builderu

AI Builder je nová funkce na platformě Microsoft Power Platform , která poskytuje rozhraní pro přidání AI do vašich aplikací, a to i v případě, že nemáte zkušenosti s kódováním nebo datovými vědami. (Některé funkce AI Builderu ještě nejsou obecně dostupné a zůstávají ve stavu Preview. Další informace najdete na stránce Dostupnost funkcí podle oblastí .)

Můžete vytvářet a trénovat vlastní modely, ale AI Builder nabízí také vybrané předem vytvořené modely AI , které jsou připravené k použití hned. Do Microsoft Power Apps můžete například přidat komponentu založenou na předem vytvořeném modelu, který rozpozná kontaktní informace z vizitek.

Vlastní AI

I když je předem připravená AI užitečná (a stále flexibilnější), nejlepší způsob, jak od AI získat to, co potřebujete, je pravděpodobně vytvořit systém sami. Je zřejmé, že se jedná o velmi hluboké a složité téma, ale pojďme se podívat na některé základní koncepty nad rámec toho, co jsme právě probrali.

Jazyky kódu

Základním konceptem AI je použití algoritmů k analýze dat a generování modelů, které je popisují (nebo skóre) užitečnými způsoby. Algoritmy píší vývojáři a datoví vědci (a někdy i jiné algoritmy) pomocí programovacího kódu. Dva z nejoblíbenějších programovacích jazyků pro vývoj AI jsou aktuálně Python a R.

Python je univerzální programovací jazyk vysoké úrovně. Má jednoduchou syntaxi, která klade důraz na čitelnost. Neexistuje žádný kompilovací krok. Python má velkou standardní knihovnu, ale podporuje také možnost přidávat moduly a balíčky. To podporuje modularitu a umožňuje rozšířit možnosti v případě potřeby. Existuje velký a rostoucí ekosystém knihoven AI a ML pro Python, včetně mnoha, které jsou snadno dostupné v Azure.

R je jazyk a prostředí pro statistické výpočty a grafiku. Může být použit pro všechno od mapování širokých sociálních a marketingových trendů on-line až po vývoj finančních a klimatických modelů.

Microsoft plně osvojil programovací jazyk R a nabízí vývojářům jazyka R mnoho různých možností spouštění kódu v Azure.

Školení

Trénování je základem strojového učení. Jedná se o iterativní proces "výuky" algoritmu k vytváření modelů, které se používají k analýze dat a následnému vytváření přesných předpovědí. V praxi má tento proces tři obecné fáze: trénování, ověřování a testování.

Během trénovací fáze se označí sada kvality známých dat, aby bylo možné identifikovat jednotlivá pole. Označená data se předá algoritmu nakonfigurovaným tak, aby se generovala konkrétní predikce. Po dokončení algoritmus vypíše model, který popisuje nalezené vzory jako sadu parametrů. Během ověřování se nová data označí a použijí se k otestování modelu. Algoritmus se upraví podle potřeby a případně projde dalším trénováním. A konečně, testovací fáze používá skutečná data bez jakýchkoli značek nebo předem vybraných cílů. Za předpokladu, že jsou výsledky modelu přesné, považuje se za připravený k použití a dá se nasadit.

Ladění hyperparametrů

Hyperparametry jsou datové proměnné, které řídí samotný proces trénování. Jedná se o proměnné konfigurace, které řídí fungování algoritmu. Hyperparametry se tedy obvykle nastavují před zahájením trénování modelu a v rámci trénovacího procesu se nemění způsobem, jakým jsou parametry. Ladění hyperparametrů zahrnuje spuštění zkoušek v rámci trénovací úlohy, vyhodnocení, jak dobře úlohu provádí, a následné úpravy podle potřeby. Tento proces generuje několik modelů, z nichž každý je natrénovaný pomocí různých rodin hyperparametrů.

Výběr modelu

Proces trénování a ladění hyperparametrů vytváří řadu kandidátských modelů. Ty můžou mít mnoho různých odchylek, včetně úsilí potřebného k přípravě dat, flexibility modelu, doby zpracování a samozřejmě stupně přesnosti jeho výsledků. Volba nejlépe natrénovaného modelu pro vaše potřeby a omezení se nazývá model selection, ale jedná se o předplánování před trénováním jako o volbu toho, který nejlépe funguje.

Automatizované strojové učení (AutoML)

Automatizované strojové učení, označované také jako AutoML, je proces automatizace časově náročných a iterativních úloh vývoje modelu strojového učení. Může výrazně zkrátit dobu potřebnou k získání modelů ML připravených pro produkční prostředí. Automatizované strojové učení vám může pomoct s výběrem modelu, laděním hyperparametrů, trénováním modelu a dalšími úlohami, aniž by to vyžadovalo rozsáhlé programování nebo znalosti domény.

Vyhodnocování

Bodování se také označuje jako predikce a je proces generování hodnot na základě natrénovaného modelu strojového učení s některými novými vstupními daty. Vytvořené hodnoty nebo skóre můžou představovat předpovědi budoucích hodnot, ale můžou také představovat pravděpodobnou kategorii nebo výsledek. Proces vyhodnocování může generovat mnoho různých typů hodnot:

  • Seznam doporučených položek a skóre podobnosti

  • Číselné hodnoty pro modely časových řad a regresní modely

  • Hodnota pravděpodobnosti označující pravděpodobnost, že nový vstup patří do některé existující kategorie

  • Název kategorie nebo clusteru, ke kterému je nová položka nejvíce podobná

  • Predikovaná třída nebo výsledek pro klasifikační modely

Dávkové vyhodnocování je, když se data shromažďují během určitého pevného časového období a pak se zpracovávají v dávce. To může zahrnovat generování obchodních sestav nebo analýzu loajality zákazníků.

Bodování v reálném čase je přesně to, co probíhá a provádí se co nejrychleji. Klasickým příkladem je detekce podvodů s platebními kartami, ale bodování v reálném čase se dá použít také při rozpoznávání řeči, lékařských diagnostikách, analýzách trhu a mnoha dalších aplikacích.

Obecné informace o vlastní AI v Azure

Nabídky platforem Azure AI

Následuje přehled technologií, platforem a služeb Azure, které můžete použít k vývoji řešení AI pro vaše potřeby.

Azure Machine Learning

Jedná se o službu strojového učení na podnikové úrovni, která umožňuje rychleji sestavovat a nasazovat modely. Azure Machine Learning nabízí webová rozhraní a sady SDK, abyste mohli rychle trénovat a nasazovat modely a kanály strojového učení ve velkém měřítku. K těmto funkcím můžete přistupovat z opensourcových architektur Pythonu, jako jsou PyTorch, TensorFlow a scikit-learn.

Referenční architektury strojového učení pro Azure

Automatizované strojové učení Azure

Azure poskytuje rozsáhlou podporu automatizovaného strojového učení. Vývojáři můžou vytvářet modely pomocí uživatelského rozhraní bez kódu nebo prostřednictvím prostředí s poznámkovými bloky založeným na kódu.

Azure Cognitive Services

Jedná se o komplexní řadu služeb AI a kognitivních rozhraní API, které vám pomůžou vytvářet inteligentní aplikace. Tyto předem vytrénované modely AI specifické pro doménu je možné přizpůsobit s vašimi daty.

Jedná se o cloudovou vyhledávací službu využívající umělou inteligenci pro vývoj mobilních a webových aplikací. Služba může prohledávat soukromý heterogenní obsah s možnostmi pro rozšiřování pomocí umělé inteligence, pokud je obsah nestrukturovaný nebo nehledatelný v nezpracované podobě.

Azure Bot Service

Toto je účelové vývojové prostředí robotů s předdefinované šablony, abyste mohli rychle začít.

Apache Spark v Azure

Apache Spark je architektura pro paralelní zpracování, která podporuje zpracování v paměti pro zvýšení výkonu aplikací pro analýzu velkých objemů dat. Spark poskytuje primitivy pro clusterové výpočty v paměti. Úloha Sparku může načítat a ukládat data do mezipaměti a opakovaně je dotazovat, což je mnohem rychlejší než u aplikací založených na disku, jako je Hadoop.

Apache Spark ve službě Azure HDInsight je implementace Apache Sparku v cloudu od Microsoftu. Clustery Spark ve službě HDInsight jsou kompatibilní se službou Azure Storage a Azure Data Lake Storage, takže ke zpracování dat uložených v Azure můžete použít clustery HDInsight Spark.

Knihovna Microsoft Machine Learning pro Apache Spark je MMLSpark (Microsoft ML pro Apache Spark). Jedná se o opensourcovou knihovnu, která do ekosystému Spark přidává mnoho nástrojů pro hluboké učení a datové vědy, možnosti sítí a výkon na úrovni produkčního prostředí. Přečtěte si další informace o funkcích a možnostech MMLSpark.

Modul runtime Azure Databricks pro Machine Learning

Azure Databricks je analytická platforma založená na Apache Sparku s nastavením jedním kliknutím, zjednodušenými pracovními postupy a interaktivním pracovním prostorem pro spolupráci mezi datovými vědci, inženýry a obchodními analytiky.

Databricks Runtime pro Machine Learning (Databricks Runtime ML) umožňuje spustit cluster Databricks se všemi knihovnami potřebnými pro distribuované trénování. Poskytuje připravené prostředí pro strojové učení a datové vědy. Navíc obsahuje několik oblíbených knihoven, včetně TensorFlow, PyTorch, Keras a XGBoost. Podporuje také distribuované trénování s využitím Horovodu.

Příběhy zákazníků

Různá odvětví používají AI inovativním a inspirujícím způsobem. Následuje několik zákaznických případových studií a úspěšných scénářů:

Projděte si další příběhy zákazníků s AI.

Další kroky