Sdílet prostřednictvím


Nejčastější dotazy k používání AI v aplikacích pro Windows

Obecné

Jak můžu integrovat AI do klientské aplikace pro Windows?

Integraci umělé inteligence do aplikace pro Windows je možné dosáhnout dvěma primárními metodami: místním modelem nebo cloudovým modelem. Pro možnost místního modelu máte možnost využít existující model nebo trénovat vlastní pomocí platforem, jako je TensorFlow nebo PyTorch, a pak ho začlenit do vaší aplikace prostřednictvím OnnxRuntime. Microsoft Foundry ve Windows nabízí rozhraní API pro různé funkce, včetně OCR nebo využití modelu Phi Silica. Na druhou stranu hostování modelu v cloudu a přístup k němu prostřednictvím rozhraní REST API umožňuje vaší aplikaci zůstat zjednodušená delegováním úloh náročných na prostředky do cloudu. Další informace najdete v tématu Použití modelů Machine Learning v aplikaci pro Windows .

Potřebuji k používání funkcí AI nejnovější verzi Windows 11 a počítače Copilot+ s NPU?

Úlohy AI můžete spouštět mnoha způsoby, a to jak instalací a spuštěním modelů místně na zařízení s Windows, nebo spuštěním cloudových modelů (viz Začínáme s AI ve Windows), ale funkce AI podporované rozhraními API windows v současné době vyžadují počítač Copilot+ s NPU.

Jaké programovací jazyky jsou nejvhodnější pro vývoj umělé inteligence v klientských aplikacích pro Windows?

Můžete použít libovolný programovací jazyk, který dáváte přednost. Jazyk C# se například běžně používá k vytváření klientských aplikací pro Windows. Pokud potřebujete větší kontrolu nad podrobnostmi nízké úrovně, je vynikající volbou jazyk C++. Případně můžete zvážit použití Pythonu. Pomocí subsystému Windows pro Linux (WSL) můžete také spouštět nástroje AI založené na Linuxu ve Windows.

Jaké jsou nejlepší architektury AI pro klientské aplikace pro Windows?

Doporučujeme používat OnnxRuntime.

Jak mám při používání AI v klientských aplikacích pro Windows zpracovávat ochranu osobních údajů a zabezpečení dat?

Dodržování ochrany osobních údajů a zabezpečení uživatelských dat je nezbytné při vývoji aplikací využívajících AI. Před shromažďováním dat byste měli dodržovat osvědčené postupy pro zpracování dat, jako je šifrování citlivých dat, používání zabezpečených připojení a získání souhlasu uživatele. Měli byste být také transparentní, jak data používáte, a dát uživatelům kontrolu nad jejich daty. Nezapomeňte si také přečíst vývoj zodpovědného generování aplikací a funkcí umělé inteligence ve Windows .

Jaké jsou požadavky na systém pro spouštění AI v klientských aplikacích pro Windows?

Požadavky na systém pro aplikace pro Windows, které používají AI, závisí na složitosti modelu AI a použité hardwarové akceleraci. U jednoduchých modelů může moderní procesor stačit, ale u složitějších modelů může být vyžadován GPU nebo NPU. Měli byste také zvážit požadavky vaší aplikace na paměť a úložiště a také šířku pásma sítě vyžadovanou pro cloudové služby AI.

Jak optimalizovat výkon AI v klientských aplikacích pro Windows?

Pokud chcete optimalizovat výkon AI v aplikacích pro Windows, měli byste zvážit použití hardwarové akcelerace, jako jsou GPU nebo NPU, a zrychlit odvozování modelů. Notebooky Windows Copilot+ jsou optimalizované pro úlohy umělé inteligence a můžou výrazně zvýšit výkon úloh umělé inteligence. Viz také přehled sady AI Toolkit pro Visual Studio Code.

Můžu v klientské aplikaci pro Windows používat předem natrénované modely AI?

Ano, ve své aplikaci pro Windows můžete použít předem natrénované modely AI. Předem natrénované modely si můžete stáhnout z internetu nebo použít cloudovou službu AI pro přístup k předem natrénovaným modelům. Tyto modely pak můžete do své aplikace integrovat pomocí architektury, jako je OnnxRuntime.

Co je DirectML?

DirectML je rozhraní API nízké úrovně pro strojové učení, které poskytuje akceleraci GPU pro běžné úlohy strojového učení napříč širokou škálou podporovaných hardwaru a ovladačů, včetně všech grafických procesorů s podporou DirectX 12 od dodavatelů, jako jsou AMD, Intel, NVIDIA a Nvidia.

Co je ONNX?

Open Neural Network Exchange nebo ONNX je otevřený standardní formát pro reprezentaci modelů ML. Oblíbené architektury modelů ML, jako jsou PyTorch, TensorFlow, SciKit-Learn, Keras, Chainer, MATLAB atd., je možné exportovat nebo převést na standardní formát ONNX. Jakmile je model ve formátu ONNX, může běžet na různých platformách a zařízeních. ONNX je vhodný pro použití modelu ML v jiném formátu, než na který byl natrénován.

Co je ORT?

OnnxRuntime nebo ORT je jednotný nástroj modulu runtime pro spouštění modelů v různých architekturách (PyTorch, TensorFlow atd.), který podporuje hardwarové akcelerátory (procesory zařízení, GPU nebo NPU).

Jak se ONNX liší od jiných architektur ML, jako jsou PyTorch nebo TensorFlow?

PyTorch a TensorFlow se používají k vývoji, trénování a spouštění modelů hlubokého učení používaných v aplikacích AI. PyTorch se často používá pro výzkum, TensorFlow se často používá pro nasazení v odvětví a ONNX je standardizovaný formát výměny modelů , který překlenuje mezeru, což umožňuje přepínat mezi architekturami podle potřeby a kompatibilními napříč platformami.

Co je NPU? Jak se liší od procesoru nebo GPU?

Jednotka pro neurální zpracování neboli NPU je vyhrazený čip AI navržený speciálně pro provádění úloh AI. Fokus NPU se liší od procesoru nebo GPU. Jednotka centrálního zpracování neboli procesor je primární procesor v počítači, který zodpovídá za provádění instrukcí a výpočtů pro obecné účely. Grafický procesor (GPU) je specializovaný procesor navržený pro vykreslování grafiky a optimalizovaný pro paralelní zpracování. Dokáže vykreslovat složité obrázky pro úpravy videa a herní úlohy.

Jednotky NPU jsou navrženy tak, aby urychlily algoritmy hlubokého učení a mohly odebrat některé práce z procesoru nebo GPU počítače, aby zařízení fungovalo efektivněji. NpU jsou účelově vytvořené pro urychlení úloh neurální sítě. Excelují při paralelním zpracování velkých objemů dat, což je ideální pro běžné úlohy umělé inteligence, jako je rozpoznávání obrázků nebo zpracování přirozeného jazyka. Například během úlohy rozpoznávání obrázků může být NPU zodpovědná za detekci objektů nebo akceleraci obrázků, zatímco GPU zodpovídá za vykreslování obrázků.

Jak zjistím, jaký druh procesoru, GPU nebo NPU má moje zařízení?

Pokud chcete zkontrolovat typ procesoru, GPU nebo NPU na zařízení s Windows a jeho výkon, otevřete Správce úloh (Ctrl + Shift + Esc), pak vyberte kartu Výkon a uvidíte procesor, paměť, Wi-Fi, GPU a/nebo NPU uvedené v seznamu s informacemi o jeho rychlosti, rychlosti využití a dalších datech.

Co je Windows ML?

Windows ML (Machine Learning) umožňuje vaší aplikaci používat sdílenou kopii modulu RUNTIME ONNX (ORT, viz výše) a přidává podporu dynamického stahování poskytovatelů spouštění specifických pro dodavatele, aby bylo možné odvozování modelu optimalizovat napříč širokou škálou procesorů, GPU a NPU v ekosystému Windows, aniž by vaše aplikace vyžadovala samotné náročné moduly runtime nebo EPs.

Užitečné koncepty umělé inteligence

Co je velký jazykový model (LLM)?

LLM je typ modelu strojového učení (ML), který je známý pro schopnost dosáhnout generování a porozumění jazyka pro obecné účely. LLM jsou umělé neurální sítě, které získávají schopnosti učením statistických vztahů z rozsáhlých textových dokumentů během výpočetního a částečně pod dohledem trénovacího procesu pod dohledem. LLM se často používají pro generování textu, což je forma generující umělé inteligence, která vzhledem k určitému vstupnímu textu generuje slova (neboli "tokeny"), která s největší pravděpodobností vytvářejí koherentní a kontextově relevantní věty. Existují také malé jazykové modely (SLM), které mají méně parametrů a omezenější kapacitu, ale můžou být efektivnější (vyžadují méně výpočetních prostředků), nákladově efektivní a ideální pro konkrétní domény.

Co je trénování modelu ML?

Trénování modelu ve službě Machine Learning zahrnuje podávání datové sady do modelu (LLM nebo SLM), které umožňuje učit se z dat, aby model mohl provádět předpovědi nebo rozhodnutí na základě dat a rozpoznávat vzory. Může také zahrnovat iterativní úpravu parametrů modelu za účelem optimalizace jeho výkonu.

Co je odvozování?

Proces použití vytrénovaného modelu strojového učení k vytváření předpovědí nebo klasifikací na nových, nezoznaných datech se nazývá odvozování. Jakmile se jazykový model vytrénuje na datové sadě, seznámíte se s jeho podkladovými vzory a relacemi, můžete tyto znalosti použít ve scénářích reálného světa. Odvozování je moment pravdy modelu AI, test toho, jak dobře může během trénování použít informace získané při trénování, aby se predikce nebo vyřešil úkol. Proces použití existujícího modelu pro odvozování se liší od fáze trénování, což vyžaduje použití trénovacích a ověřovacích dat k vývoji modelu a vyladění jeho parametrů.

Co je vyladění modelu ML?

Vyladění je zásadním krokem strojového učení, ve kterém je předem natrénovaný model přizpůsobený k provedení konkrétní úlohy. Místo trénování modelu od začátku začíná vyladění existujícím modelem (obvykle natrénovaným na velké datové sadě) a upraví jeho parametry pomocí menší datové sady specifické pro úkoly. Díky jemnému vyladění se model učí funkce specifické pro úlohy při zachování obecných znalostí získaných během předtrénování, což vede ke zlepšení výkonu pro konkrétní aplikace.

Co je inženýrství podnětů?

Návrh výzvy je strategický přístup, který se používá s generováním umělé inteligence k formování chování a odpovědí jazykového modelu. Zahrnuje promyšlené vytvoření vstupních výzev nebo dotazů k dosažení požadovaného výsledku z jazykového modelu (například GPT-3 nebo GPT-4). Návrhem efektivní výzvy můžete model ML vést k vytvoření požadovaného typu odpovědi. Mezi techniky patří úprava formulace, určení kontextu nebo použití řídicích kódů k ovlivnění výstupu modelu.

Co je hardwarová akcelerace (pokud jde o trénování modelu ML)?

Hardwarová akcelerace označuje použití specializovaného počítačového hardwaru navrženého k urychlení aplikací umělé inteligence nad rámec toho, co je dosažitelné pomocí procesorů pro obecné účely. Hardwarová akcelerace vylepšuje rychlost, energetickou efektivitu a celkový výkon úloh strojového učení, jako jsou trénovací modely, vytváření předpovědí nebo snižování zátěže výpočtů na vyhrazené hardwarové komponenty, které excelují při paralelním zpracování úloh hlubokého učení. Gpu i NPU jsou příklady hardwarových akcelerátorů.

Jaké jsou rozdíly mezi datovým vědcem, inženýrem STROJOVÉho učení a vývojářem aplikací, kteří chtějí ve své aplikaci používat funkce AI?

Proces vytváření a používání modelů ML zahrnuje tři hlavní role: Datoví vědci: zodpovědní za definování problému, shromažďování a analýzu dat, výběr a trénování algoritmu ML a vyhodnocení a interpretace výsledků. K provádění těchto úloh používají nástroje, jako jsou Python, R, Jupyter Notebook, TensorFlow, PyTorch a scikit-learn. Technici ML: Zodpovídá za nasazování, monitorování a údržbu modelů ML v produkčních prostředích. K zajištění škálovatelnosti, spolehlivosti a zabezpečení modelů ML používají nástroje, jako jsou Docker, Kubernetes, Azure ML, AWS SageMaker a Google Cloud AI Platform. Vývojáři aplikací: Zodpovídá za integraci modelů ML do logiky aplikace, uživatelského rozhraní a uživatelského rozhraní. Používají nástroje, jako je Microsoft Foundry ve Windows, OnnxRuntime nebo ROZHRANÍ REST API, a zpracovávají vstup uživatele a výstup modelu. Každá role zahrnuje různé zodpovědnosti a dovednosti, ale spolupráce a komunikace mezi těmito rolemi je nutná k dosažení nejlepších výsledků. V závislosti na velikosti a složitosti projektu můžou tyto role provádět stejná osoba nebo různé týmy.