Leggere in inglese

Condividi tramite


Sviluppo di applicazioni e funzionalità di intelligenza artificiale generative responsabili in Windows

Questo documento offre una panoramica delle procedure di sviluppo responsabili consigliate da usare durante la creazione di applicazioni e funzionalità in Windows con intelligenza artificiale generativa.

Linee guida per lo sviluppo responsabile di app e funzionalità di intelligenza artificiale generativa in Windows

Ogni team di Microsoft segue i principi e le procedure di base per creare e distribuire in modo responsabile l'intelligenza artificiale, tra cui Windows. Per altre informazioni sull'approccio di Microsoft allo sviluppo responsabile, vedere Il report sulla trasparenza dell'intelligenza artificiale responsabile di Microsoft. Windows segue i pilastri fondamentali dello sviluppo RAI, ovvero governance, mappa, misura e gestione, allineati al Framework NIST (National Institute for Standards and Technology) ai Risk Management Framework.

Governance - Criteri, procedure e processi

Gli standard sono la base dei processi di governance e conformità. Microsoft ha sviluppato uno standard di IA responsabile, inclusi sei principi che è possibile usare come punto di partenza per sviluppare le linee guida per l'IA responsabile. È consigliabile creare principi di intelligenza artificiale nel ciclo di vita di sviluppo end-to-end, nonché nei processi e nei flussi di lavoro per la conformità alle leggi e alle normative in materia di privacy, sicurezza e intelligenza artificiale responsabile. Ciò si estende dalla valutazione anticipata di ogni funzionalità di intelligenza artificiale, usando strumenti come l'elenco di controllo per l'equità dell'intelligenza artificiale e le linee guida per l'interazione con l'intelligenza artificiale - Microsoft Research, al monitoraggio e alla revisione di benchmark di intelligenza artificiale, test e processi usando strumenti come una scorecard di intelligenza artificiale responsabile, alla documentazione pubblica sulle funzionalità e sulle limitazioni delle funzionalità di intelligenza artificiale e sui controlli degli utenti - avviso, avviso, consenso, raccolta e trattamento dei dati e così via: in conformità alle leggi sulla privacy, ai requisiti normativi e ai criteri applicabili.

Mappa - Identificare i rischi

Le procedure consigliate per identificare i rischi includono:

Test end-to-end

I test end-to-end valutano l'intero sistema di intelligenza artificiale dall'inizio alla fine per assicurarsi che funzioni come previsto e rispetti gli standard stabiliti. Questo approccio completo può includere:

Squadra rossa

Il termine red teaming ha storicamente descritto attacchi antagonisti sistematici per testare le vulnerabilità di sicurezza. Più di recente, il termine si è esteso oltre la cybersecurity tradizionale ed è evoluto nell'uso comune per descrivere molti tipi di probe, test e attacchi di sistemi di IA.

Sia con modelli di linguaggio di grandi dimensioni (LLM) che con modelli linguistici di piccole dimensioni, sia l'utilizzo dannoso che l'utilizzo antagonista possono produrre output potenzialmente dannosi che possono assumere molte forme, tra cui il parlato di odio, l'incitamento o glorificazione della violenza o il contenuto sessuale. Un accurato red teaming consente di sottoporre a stress il sistema e perfezionare la strategia dei contenuti per ridurre la possibilità che il sistema causi danni.

Tutti i sistemi di intelligenza artificiale devono essere sottoposti a test red team, a seconda della funzione e dello scopo, sia per i sistemi ad alto rischio che impiegano intelligenza artificiale generativa sia per i sistemi a minore rischio che utilizzano intelligenza artificiale non generativa.

  • di raggruppamento rosso formale: il raggruppamento rosso indipendente deve essere completato per tutti i sistemi ad alto rischio che usano l'intelligenza artificiale generativa usando modelli di linguaggio di grandi dimensioni ( LLMS). Il red teaming formale include il reclutamento di professionisti da fuori della tua organizzazione per partecipare alle attività di red teaming.

  • red teaming interno: pianificare almeno il red teaming interno per tutti i sistemi di intelligenza artificiale non generativi e a basso rischio. Questa operazione può essere eseguita dagli utenti all'interno dell'organizzazione.

Altre informazioni sul red teaming e su come valutare le esigenze di red teaming del sistema: Microsoft AI Red Team

Valutazione del modello

Come parte dei test end-to-end, è importante valutare il modello stesso.

  • Scheda modello: per i modelli disponibili pubblicamente, ad esempio quelli in HuggingFace, è possibile controllare la scheda modello di ogni modello come un utile riferimento per capire se un modello è quello giusto per il caso d'uso. Altre informazioni sulle schede modello.

  • Test manuali: gli esseri umani che eseguono test step-by-step senza script sono un componente importante della valutazione del modello che supporta...

    • Misurazione dello stato di avanzamento su un piccolo set di problemi di priorità. Quando si mitigano danni specifici, è spesso più produttivo continuare a controllare manualmente lo stato di avanzamento rispetto a un piccolo set di dati fino a quando il danno non viene più osservato prima di passare alla misurazione automatizzata.

    • Definizione e creazione di report delle metriche fino a quando la misurazione automatizzata non è sufficientemente affidabile da usare da sola.

    • Controllo spot periodicamente per misurare la qualità della misurazione automatica.

  • Test automatizzati: i test eseguiti automaticamente sono anche un componente importante della valutazione del modello che supporta...

    • Misurazione su larga scala con maggiore copertura per ottenere risultati più completi.

    • Misurazione continua per monitorare qualsiasi regressione man mano che il sistema, l'utilizzo e le mitigazioni si evolvono.

  • Selezione del modello: selezionare un modello adatto allo scopo e informare se stessi di comprendere le funzionalità, le limitazioni e le potenziali sfide di sicurezza. Quando si testa il modello, assicurarsi che produa risultati appropriati per l'uso. Per iniziare, le destinazioni per le origini dei modelli Microsoft (e non Microsoft/open source) includono:

Misura - Valutare i rischi e la mitigazione

Le procedure consigliate includono:

  • Assegnare un Content Moderator: Content Moderator controlla il testo, l'immagine e il contenuto video per il materiale potenzialmente offensivo, rischioso o altrimenti indesiderato nel contenuto. Altre informazioni: Introduzione a Content Moderator (Formazione di Microsoft Learn).

    • Usare filtri di sicurezza dei contenuti: questo insieme di modelli di classificazione multiclasse rileva quattro categorie di contenuto dannoso (violenza, odio, sesso e autolesionismo) rispettivamente a quattro livelli di gravità (sicuri, bassi, medi e alti). Altre informazioni: Come configurare i filtri di contenuto con il servizio Azure OpenAI.

    • Applica una meta-prompt: un meta prompt è un messaggio di sistema incluso all'inizio del prompt e viene usato per attivare il modello con contesto, istruzioni o altre informazioni rilevanti per il caso d'uso. Queste istruzioni vengono usate per guidare il comportamento del modello. Altre informazioni: Creazione di protezioni di sicurezza efficaci con metaprompt/system message engineering.

    • Utilizza elenchi di blocchi: blocca l'uso di determinati termini o modelli in un prompt. Altre informazioni: Usare un elenco di blocchi in OpenAI di Azure.

    • Acquisire familiarità con la provenienza del modello: la provenienza è la storia della proprietà di un modello o chi-what-where-when ed è molto importante da comprendere. Chi ha raccolto i dati in un modello? A chi si riferiscono i dati? Che tipo di dati viene usato? Dove sono stati raccolti i dati? Quando sono stati raccolti i dati? Sapere da dove provengono i dati del modello può aiutare a valutare la qualità, l'affidabilità ed evitare qualsiasi uso non accurato, ingiusto, distorto o impreciso dei dati.

    • Usare una pipeline standard: usare una pipeline con modalità tenda ration anziché eseguire il pull di parti a fasi. Altre informazioni: Informazioni sulle pipeline di Machine Learning.

  • Applicarele mitigazioni dell'interfaccia utente: offrono maggiore chiarezza all'utente sulle funzionalità e sulle limitazioni di una funzionalità basata sull'intelligenza artificiale. Per aiutare gli utenti e fornire trasparenza sulla funzionalità, è possibile:

    • Incoraggiare gli utenti a modificare gli output prima di accettarli

    • Evidenziare potenziali imprecisioni negli output di intelligenza artificiale

    • Divulgare il ruolo dell'IA nell'interazione

    • Cite references and sources (Cite references and sources)

    • Limitare la lunghezza dell'input e dell'output, se appropriato

    • Specificare l'input o l'output della struttura: i prompt devono seguire un formato standard

    • Preparare le risposte pre-determinate per le richieste controverse.

  • Implementare cicli di feedback dei clienti: Incoraggiare gli utenti a partecipare attivamente ai cicli di feedback:

    • Richiedere commenti e suggerimenti direttamente nell'app o nel prodotto usando un semplice meccanismo di feedback disponibile nel contesto come parte dell'esperienza utente.

    • Applicare tecniche di social listening sui canali usati dai clienti per conversazioni preliminari su problemi di funzionalità, preoccupazioni e potenziali danni.

Gestire - Attenuare i rischi di intelligenza artificiale

Le raccomandazioni per ridurre i rischi di IA includono:

  • Monitoraggio degli abusi: questa metodologia rileva e attenua le istanze di contenuto ricorrente e/o comportamenti che suggeriscono che un servizio è stato usato in modo che possa violare il Codice di comportamento o altri termini del prodotto applicabili. Altre informazioni: Monitoraggio degli abusi.

  • Recapito in più fasi: implementare lentamente la soluzione di intelligenza artificiale per gestire report e problemi in ingresso.

  • Piano di risposta agli eventi imprevisti: per ogni rischio ad alta priorità, valutare cosa accadrà e quanto tempo ci vorrà per rispondere a un evento imprevisto e che aspetto avrà il processo di risposta.

  • Possibilità di disattivare la funzionalità o il sistema: fornire funzionalità per disattivare la funzionalità se un evento imprevisto sta per o si è verificato che richiede la sospensione della funzionalità per evitare ulteriori danni.

  • Controlli di accesso utente/blocco: sviluppare un modo per bloccare gli utenti che stiano usando un sistema in modo non corretto.

  • Feedback degli Utenti: Usare i meccanismi per rilevare problemi lato utente.

    • Richiedere commenti e suggerimenti direttamente nel prodotto, con un semplice meccanismo di feedback disponibile nel contesto di un flusso di lavoro tipico.

    • Applicare tecniche di ascolto social sui canali utilizzati dai clienti per conversazioni iniziali su funzionalità, preoccupazioni e possibili danni.

  • Distribuzione responsabile dei dati di telemetria: identificare, raccogliere e monitorare i segnali che indicano la soddisfazione dell'utente o la loro capacità di usare il sistema come previsto, assicurandosi di seguire le leggi, i criteri e gli impegni applicabili sulla privacy. Usare i dati di telemetria per identificare le lacune e migliorare il sistema.

Strumenti e risorse