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

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

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

Koncepty AI

Algoritmus

Algoritmus je posloupnost výpočtů a pravidel sloužících k řešení problému nebo analýze sady dat. Je to jako vývojový diagram s podrobnými pokyny pro otázky, které se mají klást, ale napsané v matematickém a programovacím kódu. Algoritmus může popsat, jak určit, jestli je zvíře kočkou, psem, rybou, ptákem nebo ještěrkou. Další mnohem složitější algoritmus může popsat, jak identifikovat napsaný 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í je technika umělé inteligence, která k vytváření prediktivních modelů používá matematické algoritmy. Algoritmus se používá k analýze datových polí a k "učení" z dat pomocí vzorů nalezených v ní k vygenerová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ěřených podle metrik výkonu vybraných pro konkrétní obchodní scénáře a podle potřeby se upraví. Tento proces učení a ověřování se nazývá trénování. Díky pravidelnému přetrénování se modely ML v průběhu času vylepšují.

Hluboké učení

Hluboké učení je typ STROJOVÉho učení , který dokáže určit, jestli jsou predikce 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í používá umělé neurální sítě, které se skládají z několika vrstev algoritmů. Každá vrstva zkoumá 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á další vrstvě, 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 konkrétní úlohu. Představte si to jako robot bez těla. Raní roboti byli poměrně jednoduché, zpracovávali opakující se a voluminé úlohy s relativně jednoduchou algoritmickou logikou. Příkladem by byly webové prohledávací moduly používané vyhledávacími weby k automatickému zkoumání a katalogu webového obsahu.

Roboti se stávají mnohem sofistikovanějšími a používají AI a další technologie k napodobování lidské aktivity a rozhodování, často při interakci přímo s lidmi prostřednictvím textu nebo dokonce řeči. Mezi příklady patří roboti, kteří můžou pořídit rezervaci večeře, chatovací roboty (nebo konverzační AI), kteří pomáhají s interakcemi zákaznických služeb a sociálními roboty, kteří posílali nejnovější zprávy nebo vědecká data 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 základní automatizaci. Místo opakovaného provádění konkrétní úlohy s malými nebo žádnými variacemi (například roboty) přinášejí autonomní systémy do počítačů inteligentní funkce, aby se mohly přizpůsobit měnícím se prostředím, aby dosáhly požadovaného cíle.

Inteligentní budovy používají autonomní systémy k automatickému řízení provozu, jako je osvětlení, ventilace, klimatizace a zabezpečení. Sofistikovanější příklad by byl samosměrný robot, který zkoumá sbalený důlní hřídel, aby důkladně mapoval jeho interiér, určil, které části jsou strukturálně zvukové, analyzovat vzduch pro prodyšnost a detekovat známky zachycených minářů, kteří potřebují záchranu-vše bez lidského monitorování v reálném čase na vzdáleném konci.

Obecné informace o umělé inteligenci Microsoftu

Přečtěte si další informace o umělé inteligenci Microsoftu a mějte aktuální informace 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 zní jako modely umělé inteligence, služby a rozhraní API, které jsou připravené k použití. Ty vám pomůžou přidávat 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 připravených AI může být předem natrénovaný model, který lze 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 by byla cloudová služba API, kterou lze volat na základě vůle ke zpracování přirozeného jazyka požadovaným způsobem.

Azure Cognitive Services

Cognitive Services poskytují vývojářům možnost 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 zdůvodnit. Katalog služeb v rámci Cognitive Services je možné zařadit do pěti hlavních pilířů: Vision, Speech, Language, Web Search a Decision/Recommendation.

Předem připravené modely AI v AI Builderu

AI Builder je nová funkce v Microsoft Power Platform , která poskytuje rozhraní pro přidávání AI do aplikací pomocí point-and-click, i když nemáte žádné znalosti kódování nebo datových věd. (Některé funkce V AI Builderu ještě nebyly vydány pro obecnou dostupnost 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 také nabízí předem připravené modely AI, které jsou připravené k použití hned. Můžete například přidat komponentu v Microsoft Power Apps na základě předem vytvořeného 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 získat to, co potřebujete, je pravděpodobně vytvořit systém sami. Je to zřejmě 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é popisují (nebo skóre) způsobem, který je užitečný. Algoritmy píší vývojáři a datoví vědci (a někdy i jinými algoritmy) pomocí programovacího kódu. Dva z nejoblíbenějších programovacích jazyků pro vývoj umělé inteligence jsou v současné době Python a R.

Python je univerzální programovací jazyk vysoké úrovně. Má jednoduchou snadnou syntaxi, která zdůrazňuje č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 v případě potřeby rozšířit možnosti. Existuje rozsáhlý a rostoucí ekosystém knihoven AI a ML pro Python, včetně mnoha snadno dostupných v Azure.

R je jazyk a prostředí pro statistické výpočty a grafiku. Dá se použít pro všechno od mapování rozsáhlých sociálních a marketingových trendů online až po vývoj finančních a klimatických modelů.

Microsoft plně přijal programovací jazyk R a nabízí vývojářům jazyka R mnoho různých možností, jak spustit kód v Azure.

Školení

Trénování je základem strojového učení. Jedná se o iterativní proces "výuky" algoritmu k vytvoř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 známých dat kvality, aby bylo možné identifikovat jednotlivá pole. Označená data se předá algoritmu nakonfigurovaným pro vytvoření konkrétní předpovědi. Po dokončení algoritmus vypíše model, který popisuje vzory nalezené jako sadu parametrů. Během ověřování se označí nová data a použijí se k otestování modelu. Algoritmus se upraví podle potřeby a případně provede další trénování. Fáze testování používá data z reálného světa 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 lze je nasadit.

Ladění hyperparametrů

Hyperparametry jsou datové proměnné, které řídí samotný trénovací proces. Jedná se o konfigurační proměnné, které řídí fungování algoritmu. Hyperparametry jsou tedy obvykle nastaveny před zahájením trénování modelu a nejsou upraveny v rámci trénovacího procesu způsobem, jakým jsou parametry. Ladění hyperparametrů zahrnuje spouštění zkušebních verzí v rámci trénovacího úkolu, vyhodnocení toho, jak dobře se úloha provádí, a pak se podle potřeby upraví. Tento proces generuje více modelů, z nichž každý se trénuje pomocí různých rodin hyperparametrů.

Výběr modelu

Proces trénování a ladění hyperparametrů vytváří mnoho kandidátských modelů. Mohou mít mnoho různých odchylek, včetně úsilí potřebného k přípravě dat, flexibility modelu, množství doby zpracování a samozřejmě stupně přesnosti výsledků. Výběr nejvhodnějšího vytrénovaného modelu pro vaše potřeby a omezení se nazývá výběr modelu, ale to je co nejvíce o předplánování před trénováním, protože se jedná o výběr nejvhodnějšího modelu.

Automatizované strojové učení (AutoML)

Automatizované strojové učení, označované také jako AutoML, je proces automatizace časově náročných iterativních úloh vývoje modelů 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í může pomoct s výběrem modelu, laděním hyperparametrů, trénováním modelu a dalšími úlohami bez nutnosti rozsáhlého programování nebo znalosti domény.

Vyhodnocování

Bodování se také nazývá predikce a je proces generování hodnot na základě natrénovaného modelu strojového učení vzhledem k některým novým vstupním datům. Vytvořené hodnoty nebo skóre mohou představovat předpovědi budoucích hodnot, ale mohou 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. Může to zahrnovat generování obchodních sestav nebo analýzu věrnosti zákazníků.

Bodování v reálném čase je přesně to, že bodování 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é v 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í umělé inteligenci v Azure

Nabídky platforem Azure AI

Následuje rozpis 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 Učení 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í poznámkových bloků, které jsou prvními kódy.

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 natrénované modely AI pro určitou doménu je možné přizpůsobit vašimi daty.

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

Azure Bot Service

Jedná se o účelové vývojové prostředí robotů s předdefinované šablony, které vám pomůžou 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 paměti a dotazovat se na ni opakovaně, což je mnohem rychlejší než aplikace založené na disku, jako je Hadoop.

Apache Spark v Azure HDInsight je implementace Apache Sparku v cloudu od Microsoftu. Clustery Spark v 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 strojového učení Microsoftu pro Apache Spark je SynapseML (dříve označovaná jako MMLSpark). Tato opensourcová knihovna přidává do ekosystému Spark mnoho nástrojů hlubokého učení a datových věd, síťových funkcí a výkonu na produkční úrovni. Přečtěte si další informace o funkcích a možnostech SynapseML.

Azure Databricks Runtime pro machine Učení

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 Učení (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řípadové studie

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

Procházet další příběhy zákazníků AI

Další kroky