Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per gli sviluppatori di app che cercano di integrare le funzionalità di intelligenza artificiale, Microsoft Windows offre una piattaforma completa e flessibile che supporta l'elaborazione locale, su dispositivo e soluzioni scalabili basate sul cloud.
La scelta tra modelli di intelligenza artificiale locali e basati sul cloud dipende dalle esigenze e dalle priorità specifiche. Molte app di produzione usano una strategia ibrida: provare prima un'API di intelligenza artificiale locale Windows o un modello locale, quindi eseguire il fallback a un endpoint cloud quando il modello non è installato, il dispositivo non è supportato, l'utente non acconsente al download di un modello o l'attività richiede un modello più grande.
I fattori da considerare includono:
- Privacy, conformità e sicurezza dei dati
- Disponibilità delle risorse
- Accessibilità e collaborazione
- Costo
- Manutenzione e aggiornamenti
- Prestazioni e latenza
- Scalabilità
- Requisiti di connettività
- Dimensioni e complessità del modello
- Strumenti ed ecosistemi associati
- Personalizzazione e controllo
Fattori decisionali chiave per gli sviluppatori di app
Privacy, conformità e sicurezza dei dati
Locale: Poiché i dati rimangono nel dispositivo, l'esecuzione di un modello in locale può offrire vantaggi relativi alla sicurezza e alla privacy, con la responsabilità della sicurezza dei dati che si riposa sull'utente. Lo sviluppatore è responsabile della gestione degli aggiornamenti, della compatibilità e del monitoraggio delle vulnerabilità di sicurezza.
Nuvola: I provider di servizi cloud offrono misure di sicurezza affidabili, ma i dati devono essere trasferiti nel cloud, che potrebbero generare problemi di privacy dei dati per il responsabile del servizio app o aziendale in alcuni casi. L'invio di dati al cloud deve inoltre essere conforme alle normative sulla protezione dei dati, ad esempio GDPR o HIPAA, a seconda della natura dei dati e dell'area in cui opera l'app. I provider di servizi cloud gestiscono in genere gli aggiornamenti e la manutenzione della sicurezza, ma gli utenti devono assicurarsi che usino API sicure e le procedure consigliate per la gestione dei dati.
Disponibilità delle risorse
Locale: L'esecuzione di un modello dipende dalle risorse disponibili nel dispositivo in uso, tra cui CPU, GPU, NPU, memoria e capacità di archiviazione. Ciò può essere limitato se il dispositivo non ha una potenza di calcolo elevata o un'archiviazione sufficiente. I modelli di linguaggio di piccole dimensioni, ad esempio Phi, sono più adatti per l'uso locale in un dispositivo. Copilot+ I PC offrono modelli predefiniti con funzionalità di intelligenza artificiale pronte all'uso supportate da Microsoft Foundry on Windows.
Nuvola: Le piattaforme cloud, ad esempio Azure i servizi di intelligenza artificiale, offrono risorse scalabili. È possibile usare la potenza di calcolo o lo spazio di archiviazione necessario e pagare solo per ciò che si usa. I modelli di linguaggio di grandi dimensioni, ad esempio i modelli linguistici OpenAI , richiedono più risorse, ma sono anche più potenti.
Accessibilità e collaborazione
Locale, on-premises: Il modello e i dati sono accessibili solo sul dispositivo, a meno che non vengano condivisi manualmente. Ciò ha il potenziale per rendere più complessa la collaborazione sui dati del modello.
Nuvola: È possibile accedere al modello e ai dati da qualsiasi posizione con connettività Internet. Questo può essere migliore per gli scenari di collaborazione.
Costo
Locale, in sede: Non sono previsti costi aggiuntivi oltre l'investimento iniziale nell'hardware del dispositivo.
Nuvola: Mentre le piattaforme cloud operano su un modello con pagamento in base al consumo, i costi possono accumularsi in base alle risorse usate e alla durata dell'utilizzo.
Manutenzione e aggiornamenti
Locale: L'utente è responsabile della gestione del sistema e dell'installazione degli aggiornamenti.
Nuvola: La manutenzione, gli aggiornamenti del sistema e i nuovi aggiornamenti delle funzionalità vengono gestiti dal provider di servizi cloud, riducendo il sovraccarico di manutenzione per l'utente.
Prestazioni e latenza
Locale: L'esecuzione di un modello in locale può ridurre la latenza perché i dati non devono essere inviati in rete. Tuttavia, le prestazioni sono limitate dalle funzionalità hardware del dispositivo.
Nuvola: I modelli basati sul cloud possono sfruttare hardware potente, ma possono introdurre latenza a causa della comunicazione di rete. Le prestazioni possono variare in base alla connessione Internet dell'utente e al tempo di risposta del servizio cloud.
Scalabilità
Locale, in loco: Il ridimensionamento di un modello su un dispositivo locale può richiedere aggiornamenti hardware significativi o l'aggiunta di più dispositivi, che possono essere costosi e richiedere molto tempo.
Nuvola: Le piattaforme cloud offrono una scalabilità semplice, consentendo di modificare rapidamente le risorse in base alla richiesta senza la necessità di modifiche hardware fisiche.
Requisiti di connettività
Locale: Un dispositivo locale non richiede una connessione Internet per eseguire un modello, che può essere utile in ambienti con connettività limitata.
Nuvola: I modelli basati sul cloud richiedono una connessione Internet stabile per l'accesso e possono essere interessati da problemi di rete.
Disponibilità del runtime e meccanismo di fallback
Locale: Le funzionalità di intelligenza artificiale locale possono dipendere dall'hardware, Windows dalla versione, dalla versione dell'SDK Windows per le app, dall'area e dal fatto che sia installato un modello facoltativo. Prima di richiamare una funzionalità di intelligenza artificiale locale, controllare lo stato di idoneità e guidare l'utente tramite qualsiasi flusso di download o consenso del modello richiesto. Per Windows le API di intelligenza artificiale, usare il modello di idoneità specifico dell'API documentato in Introduzione alle Windows API di intelligenza artificiale e alle singole pagine API.
Cloud: Un endpoint cloud può fornire un fallback quando un modello locale non è pronto o supportato nel dispositivo corrente. Decidere se il fallback è automatico, controllato dall'utente o disabilitato per scenari sensibili alla privacy. Assicurarsi che l'interfaccia utente spieghi quando i dati lasciano il dispositivo.
Dimensioni e complessità del modello
Locale, on-premises: I dispositivi locali possono avere limitazioni per le dimensioni e la complessità dei modelli che possono essere eseguiti a causa di limitazioni hardware. I modelli più piccoli, ad esempio Phi, sono più adatti per l'esecuzione locale.
Nuvola: Le piattaforme cloud possono gestire modelli più grandi e più complessi, ad esempio quelli forniti da OpenAI, a causa dell'infrastruttura scalabile.
Strumenti e ecosistema associato
Locale: Le soluzioni di intelligenza artificiale locale, ad esempio Microsoft FoundryMicrosoft Foundry on Windows, Windows ML e Foundry Local, si integrano con Windows App SDK e ONNX Runtime, consentendo agli sviluppatori di incorporare modelli direttamente in app desktop o perimetrali con dipendenze esterne minime.
Nuvola: Le soluzioni di intelligenza artificiale cloud, ad esempio Microsoft Foundry, i Azure servizi di intelligenza artificiale e Azure il servizio OpenAI, offrono un set completo di API e SDK per la creazione di applicazioni di intelligenza artificiale. Questi servizi sono progettati per integrarsi perfettamente con Azure DevOps, GitHub Copilot, Kernel semantico e altri Azure servizi, abilitando l'orchestrazione end-to-end, la distribuzione dei modelli e il monitoraggio su larga scala.
Personalizzazione e controllo
Locale, on-premises: I modelli locali possono essere usati subito, senza richiedere un elevato livello di esperienza. Microsoft Foundry on Windows offre modelli come Phi Silica che sono pronti per l'uso. In alternativa, Windows ML consente agli sviluppatori di eseguire modelli personalizzati, ad esempio quelli sottoposti a training con ONNX Runtime, direttamente nei Windows dispositivi. Questo offre un elevato livello di controllo sul modello e sul relativo comportamento, consentendo l'ottimizzazione e l'ottimizzazione in base a casi d'uso specifici. Foundry Local consente inoltre agli sviluppatori di eseguire modelli in locale nei Windows dispositivi, fornendo un livello elevato di controllo sul modello e sul relativo comportamento.
Nuvola: I modelli basati sul cloud offrono anche opzioni pronte per l'uso e personalizzabili, consentendo agli sviluppatori di sfruttare le funzionalità con training preliminare, adattando comunque il modello alle proprie esigenze specifiche. Microsoft Foundry è un'offerta unificata Azure di piattaforma distribuita come servizio per operazioni di intelligenza artificiale aziendali, generatori di modelli e sviluppo di applicazioni. Questa base combina l'infrastruttura di livello di produzione con interfacce descrittive, consentendo agli sviluppatori di concentrarsi sulla creazione di applicazioni anziché sulla gestione dell'infrastruttura.
Esempi di intelligenza artificiale cloud
Se una soluzione basata sul cloud funziona meglio per lo Windows scenario dell'app, potresti essere interessato ad alcune delle esercitazioni seguenti.
Molte API sono disponibili per l'accesso ai modelli basati sul cloud per supportare le funzionalità di intelligenza artificiale nell'app Windows , indipendentemente dal fatto che questi modelli siano personalizzati o pronti per l'uso. L'uso di un modello basato sul cloud consente all'app di rimanere semplificata delegando attività a elevato utilizzo di risorse al cloud. Alcune risorse che consentono di aggiungere API basate su intelligenza artificiale basate sul cloud offerte da Microsoft o OpenAI includono:
Aggiungere completamenti della chat OpenAI alla tua app desktop WinUI 3 / Windows App SDK: un tutorial su come integrare le funzionalità di completamento OpenAI ChatGPT basate sul cloud in un'app desktop WinUI 3 / Windows App SDK.
Windows : Esercitazione su come integrare le funzionalità di generazione di immagini basate sul cloud di OpenAI DALL-E in un'app desktop WinUI 3/App SDK.
Azure Servizio OpenAI: se si vuole che l'app Windows accinga ai modelli OpenAI, ad esempio GPT-4, GPT-4 Turbo with Vision, GPT-3.5-Turbo, DALLE-3 o la serie di modelli Embeddings, con le funzionalità di sicurezza e aziendali aggiunte di Azure, è possibile trovare indicazioni in questa Azure documentazione di OpenAI.
Azure Servizi di intelligenza artificiale: Azure offre un'intera suite di servizi di intelligenza artificiale disponibili tramite LE API REST e gli SDK della libreria client nei linguaggi di sviluppo più diffusi. Per altre informazioni, vedere la documentazione di ogni servizio. Questi servizi basati sul cloud consentono a sviluppatori e organizzazioni di creare rapidamente applicazioni intelligenti, all'avanguardia, pronte per il mercato e responsabili con API e modelli predefiniti e personalizzabili. Le applicazioni di esempio includono l'elaborazione del linguaggio naturale per conversazioni, ricerca, monitoraggio, traduzione, riconoscimento vocale, visione e processo decisionale.
Progettare un percorso locale/cloud ibrido
Usare un percorso ibrido quando l'app deve sfruttare l'inferenza locale quando disponibile, ma offrire comunque un'esperienza utile nei dispositivi non supportati o prima che un modello locale sia pronto.
- Scegliere prima la funzionalità locale. Iniziare con un'API Windows di intelligenza artificiale quando corrisponde allo scenario o usare Windows ML/ Foundry Local quando è necessario eseguire un modello specifico.
- Controllare l'idoneità prima dell'uso. All'avvio o prima della visualizzazione della funzionalità, eseguire una query sullo stato di idoneità della funzionalità locale. Se l'API segnala che la funzionalità non è supportata, non è installata o richiede un download, non richiamarla cieco.
- Chiedere il consenso quando è necessario scaricare un modello locale. Alcuni modelli locali sono opzionali e possono avere dimensioni di diversi GB. Spiegare le dimensioni del download, il motivo per cui è necessario il modello e se l'app può continuare senza di essa.
- Definisci un fallback nel cloud. Se il modello locale non è pronto, chiamare un endpoint cloud solo quando l'utente e l'organizzazione consentono ai dati di lasciare il dispositivo. Mantenere i percorsi locali e cloud dietro la stessa astrazione a livello di app, in modo che il resto dell'app non dipende dalla posizione in cui viene eseguita l'inferenza.
- Mantenere osservabile il comportamento. Registrare il percorso usato, gli errori di idoneità, i risultati di download del modello e gli errori di fallback nel cloud senza registrare richieste, token o contenuti sensibili, a meno che l'organizzazione non abbia approvato la gestione dei dati.
Flusso decisionale di fallback ibrido
Usare questo flusso come punto di partenza:
- Quando l'utente avvia una funzionalità di intelligenza artificiale, verificare se una funzionalità di intelligenza artificiale locale rientra nell'attività.
- Se nessuna funzionalità locale rientra nell'attività, usare l'intelligenza artificiale cloud o un altro servizio.
- Se una funzionalità locale rientra nell'attività, verificare se la funzionalità è pronta nel dispositivo corrente.
- Se la funzionalità locale è pronta, eseguire l'inferenza locale.
- Se la funzionalità locale richiede un download del modello, chiedere il consenso dell'utente prima di avviare il download.
- Se l'utente acconsente, scaricare o preparare il modello, quindi riprovare l'inferenza locale.
- Se l'utente non acconsente o se la funzionalità locale non è supportata, verificare se il fallback cloud è consentito per lo scenario.
- Se il fallback cloud è consentito, usare il percorso cloud.
- Se il fallback sul cloud non è consentito, spiegare il requisito del dispositivo, del modello o dei criteri e disabilitare o nascondere la funzionalità.
Per informazioni dettagliate sull'idoneità locale, vedere Windows API di intelligenza artificiale, Introduzione alle Windows API di intelligenza artificiale, Foundry Locale Windows Machine Learning.