Windows dostaly rozhraní pro AI aplikace. Ve stylu DirectX, pro GPU i speciální hardware

10. 3. 2018

Sdílet

 Autor: Redakce

Umělá inteligence ve formě takzvaného strojového učení založeného na algoritmech neuronových sítí se dravě dere k řízení automobilů, ale například za účelem rozpoznávání obsahu fotek i do mobilů a podobných zařízení. Není ale důvod, proč by využití těchto technik nemohlo propuknout i v klasických plnohodnotných počítačích. Microsoft pro tyto účely přišel s platformou, která nabídne v systému Windows pro umělou inteligenci standardizovanou podporu, podobnou infrastruktuře, kterou vytváří DirectX pro herní aplikace. Tato AI platforma ve Windows se jmenuje WinML a má pracovat nejen s běžným, ale i na AI specializovaným hardwarem. WinML (ML jako Machine Learning) má sloužit k aplikaci algoritmů strojového učení přímo na notebooku, PC nebo tabletu. Půjde o tzv. inferenci, tedy aplikování neuronových sítí, vytrénovaných (naučených) někde jinde. Účelem je, aby takové aplikace mohly cílit na jednotné rozhraní, místo toho, aby musely mít explicitní podporu pro konkrétní hardware, na kterém poběží. Výpočty AI totiž nejsou jako standardní program zkompilovaný pro procesor x86 (nebo ARM) a pak už s trochou snahy běžící všude, ale využívají různé silně specifické akcelerátory.

AI ve Windows: standard běžící na GPU, procesorech, i ASICích

Aplikace napsaná pro WinML bude komunikovat s jednotným rozhraním API, za kterým bude moci být různý výpočetní hardware. O to, aby na něm kód běžel, se už pak bude starat právě WinML, vývojář bude nutnosti se přizpůsobovat různému hardwaru ušetřen. Engine WinML má být založen na základě DirectX a hardwarem, na kterém skrze toto API poběží aplikace, bude asi nejčastěji GPU. U toho je ovšem vyžadována podpora DirectX 12. Pokud tento požadavek není splněn, či pokud je v systému jen nějaké nevýkonné integrované řešení, bude ale WinML podporovat také běh na CPU. V takovém případě bude kompilátor místo GPU shaderů produkovat kód využívající instrukce SIMD, údajně včetně AVX-512. Kód bude překládán dynamicky.

Slajd k WinML z konference Windows Developer Day Slajd k WinML z konference Windows Developer Day

Ovšem kromě GPU a CPU bude WinML podporovat i specifické akcelerátory strojového učení, které se začaly objevovat v mobilech a možná indikují, že se z tohoto hardwaru brzo stane standardní součást počítačů. Intel již oznámil, že WinML bude umět pracovat s jeho čipy Movidius („VPU“). Ty jsou dostupné ve formě USB klíčenek, ale zdá se, že Intel počítá i s integrací do notebooků, či možná s verzí v moduly do slotu M.2 nebo na rozšiřující kartě. Eventuálně by se asi tento akcelerátor mohl dostat i přímo do procesorů jako integrovaný blok.

Intel a Movidius ale nebudou jediné akcelerátory strojového učení, které WinML má podporovat. Mezi firmami, které Microsoft představil jako první partnery, je také Qualcomm. Ten v Snapdragonech nabízí „AI Engine“ (používající jak GPU a DSP Hexagon, tak třeba obrazové procesory) a tento hardware by měl skrze WinML fungovat i na počítačích s Windows běžících na platformě ARM. Uvidíme, jak se situace vyvine, ale eventuálně by se mezi podporovaný hardware možná mohly zařadit třeba i AI procesory Trillium chystané ARMem, pokud se jim podaří šířeji se prosadit.

bitcoin_skoleni

Čip Movidius Myriad X, verze s integrovanou pamětí LPDDR4 Čip Movidius Myriad X, AI akcelerátor od Intelu

Aplikace pro WinML budou pro svůj „obsah“, tedy pro data vytrénované neuronové sítě, používat standardní formát ONNX. Ten je otevřený a má umožňovat přenos dat (oné umělé inteligence) mezi různými systémy. Tuto technologii podporují kromě Microsoftu také Amazon nebo Facebook a z hardwarových hráčů Nvidia, Intel, AMD i ARM. Sítě pro použití v aplikacích WinML budou tak moci být snadno trénovány na cloudových službách jako AWS nebo Azure a model pak vývojář jednoduše importuje do aplikace (fungovat to má v budoucím Visual Studiu).

Příchod této platformy do Windows je dobrý nápad, ale z části možná i nutnost, vzhledem k tomu, že v mobilech už se tyto aplikace běžící na specializovaném hardwaru začaly šířit. Na Windows by také měly být užitečné, například pro automatické třídění fotografií dle zachycených osob, rozpoznávání objektů a podobné triky. Pochopitelně ale bude na vývojářích softwaru, aby tyto schopnosti využili. Nějaký software sice může dodat i sám Microsoft, ale bez toho, aby systém vzali za svůj nezávislí vývojáři, asi do světa díru neudělá.