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 primo report annuale sulla trasparenza dell'IA responsabile. 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

  • Red-teaming: il termine red teaming ha storicamente descritto attacchi antagonisti sistematici per testare le vulnerabilità di sicurezza. Con l'aumento dei modelli linguistici di grandi dimensioni, il termine si è esteso oltre la cybersecurity tradizionale e si è evoluto nell'uso comune per descrivere molti tipi di test, test e attacchi di sistemi di intelligenza artificiale. Con i LLM, sia l'utilizzo benigno che quello antagonista possono produrre output potenzialmente dannosi, che possono assumere molte forme, tra cui contenuto dannoso, come il discorso di odio, l'incitamento o la glorificazione della violenza, o il contenuto sessuale.

  • Valutazione del modello: oltre a testare end-to-end, è anche 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.

  • Applicare le 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.

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.

  • Meccanismo di feedback degli utenti: flussi per rilevare i problemi dal lato dell'utente.

  • 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