Desenvolvendo aplicativos e recursos de IA generativa responsável no Windows
Este documento fornece uma visão geral das práticas recomendadas de desenvolvimento responsável que devem ser usadas ao criar aplicativos e recursos no Windows com inteligência artificial generativa.
Diretrizes para o desenvolvimento responsável de aplicativos e recursos de IA generativa no Windows
Todas as equipes da Microsoft seguem princípios e práticas fundamentais para criar e entregar IA de forma responsável, incluindo o Windows. Se desejar, leia mais sobre a abordagem da Microsoft ao desenvolvimento responsável no primeiro Relatório de Transparência de IA Responsável anual. O Windows segue pilares fundamentais do desenvolvimento de IA responsável — governar, mapear, medir e gerenciar — que estão alinhados à Estrutura de Gerenciamento de Risco de IA do National Institute for Standards and Technology (NIST).
Governar – Políticas, práticas e processos
Os padrões são a base dos processos de governança e conformidade. A Microsoft desenvolveu nosso próprio Padrão de IA Responsável, incluindo seis princípios que você pode usar como ponto de partida para desenvolver suas diretrizes para IA responsável. Recomendamos a você integrar princípios de IA em seu ciclo de vida de desenvolvimento de ponta a ponta, bem como em seus processos e fluxos de trabalho, para ajudar a garantir a conformidade com leis e regulamentações em privacidade, segurança e IA responsável. Isso abrange desde a avaliação inicial de cada recurso de IA, usando ferramentas como a Lista de Verificação de Imparcialidade de IA e Diretrizes para Interação Humanos-IA – Microsoft Research, até o monitoramento e revisão de benchmarks, testes e processos de IA usando ferramentas como um Scorecard de IA responsável, até a documentação pública sobre os recursos e limitações de seus recursos de IA e divulgação e controles do usuário – aviso, consentimento, coleta de dados e processamento de informações, etc. – de acordo com as leis de privacidade, requisitos regulatórios e políticas aplicáveis.
Mapear – Identificar riscos
As práticas recomendadas para identificar riscos incluem:
Testar ponta a ponta
Red teaming: o termo red teaming historicamente descreve ataques sistemáticos de adversários para testar vulnerabilidades de segurança. Com o surgimento dos LLMs (grandes modelos de linguagem ), o termo se estendeu além da segurança cibernética tradicional e evoluiu no uso comum para descrever muitos tipos de investigação, teste e ataque de sistemas de IA. Com os LLMs, o uso benigno e contraditório pode produzir saídas potencialmente prejudiciais, que podem tomar muitas formas, incluindo conteúdo prejudicial, como discurso de ódio, incitação ou glorificação de violência ou conteúdo sexual.
Avaliação do modelo: além de testar ponta a ponta, também é importante avaliar o modelo em si.
Cartão de modelo: para modelos disponíveis publicamente, como os do HuggingFace, você pode verificar o Cartão de Modelo de cada modelo como uma referência útil para entender se um modelo é o certo para o seu caso de uso. Leia mais sobre Cartões de Modelos.
Testes manuais: fazer com que pessoas realizem testes passo a passo sem scripts é um componente importante da avaliação de modelos que permite...
Medir o progresso em um pequeno conjunto de questões prioritárias. Ao atenuar danos específicos, geralmente é mais produtivo continuar verificando manualmente o progresso em um pequeno conjunto de dados até que o dano não seja mais observado antes de passar para a medida automatizada.
Definir e relatar métricas até que a medição automatizada seja confiável o suficiente para ser usada sozinha.
Verificação pontual periódica para medir a qualidade das medições automáticas.
Teste automatizado: o teste executado automaticamente também é um componente importante da avaliação do modelo que permite...
Medir em grande escala com cobertura aumentada para fornecer resultados mais abrangentes.
Medições contínuas para monitorar qualquer regressão à medida que o sistema, o uso e as mitigações evoluem.
Seleção de modelo: selecione um modelo adequado ao seu propósito e eduque-se para entender suas capacidades e limitações e os possíveis desafios de segurança. Ao testar seu modelo, certifique-se de que ele produza resultados apropriados para seu uso. Para começar, os destinos para fontes de modelo da Microsoft (e não Microsoft/código aberto) incluem:
Medida – Avaliar riscos e mitigação
As práticas recomendadas incluem:
Atribuir um Content Moderator: o Content Moderator verifica o conteúdo de textos, imagens e vídeos a fim de detectar materiais potencialmente ofensivos, suspeitos ou indesejáveis. Saiba mais: Introdução ao Content Moderator (Treinamento do Microsoft Learn).
Usar filtros de segurança de conteúdo: esse conjunto de modelos de classificação de várias classes detecta quatro categorias de conteúdo prejudicial (violência, ódio, sexual e automutilação) em quatro níveis de gravidade, respectivamente (seguro, baixo, médio e alto). Saiba mais: Como configurar filtros de conteúdo com o Serviço OpenAI do Azure.
Aplicar um meta-prompt: um meta-prompt é uma mensagem do sistema incluída no início do prompt que é usada para preparar o modelo com contexto, instruções ou outras informações relevantes para seu caso de uso. Essas instruções são usadas para orientar o comportamento do modelo. Saiba mais: Criando guardrails de segurança eficazes com meta-prompts/engenharia de mensagens do sistema.
Use listas de bloqueio: bloqueia o uso de certos termos ou padrões em um prompt. Saiba mais: Usar uma lista de bloqueio no Azure OpenAI.
Familiarize-se com a procedência do modelo: proveniência é o histórico de propriedade de um modelo, ou "quem-o-que-onde-quando", e é muito importante entendê-la. Quem coletou os dados em um modelo? A quem os dados se referem? Que tipos de dados são usados? Onde os dados foram coletados? Quando os dados foram coletados? Saber de onde vieram os dados do modelo pode ajudar você a avaliar sua qualidade e confiabilidade e evitar qualquer uso de dados antiético, injusto, tendencioso ou impreciso.
Use um pipeline padrão: use um pipeline de moderação de conteúdo em vez de reunir partes aos poucos. Saiba mais: Entendendo pipelines de aprendizado de máquina.
Aplique mitigações de UI: elas fornecem clareza importante para o usuário sobre os recursos e limitações de um recurso baseado em IA. Para ajudar os usuários e fornecer transparência sobre seu recurso, você pode:
Incentivar os usuários a editar saídas antes de aceitá-las
Destacar possíveis imprecisões nas saídas de IA
Explicar o papel da IA na interação
Citar referências e fontes
Limitar o comprimento de entradas e saídas quando apropriado
Fornecer entrada ou saída de estruturas – os prompts devem seguir um formato padrão
Prepare respostas pré-determinadas para solicitações controversas.
Gerenciar – Mitigar riscos de IA
As recomendações para mitigar os riscos de IA incluem:
Monitoramento de abusos: essa metodologia detecta e mitiga instâncias de conteúdo recorrente e/ou comportamentos que sugerem que um serviço foi usado de uma maneira capaz de violar o Código de Conduta ou outros termos do produto aplicáveis. Saiba mais: Monitoramento de abusos.
Entrega em fases: implemente sua solução de IA lentamente para lidar com os relatórios recebidos e preocupações.
Plano de resposta a incidentes: para cada risco de alta prioridade, avalie o que acontecerá e quanto tempo levará para responder a um incidente e como será o processo de resposta.
Capacidade de desativar o recurso ou o sistema: forneça funcionalidade para desativar o recurso se um incidente que exija pausar a funcionalidade para evitar mais danos estiver prestes a ocorrer ou tiver ocorrido.
Controles/bloqueio de acesso de usuários: desenvolva uma maneira de bloquear usuários que estão usando indevidamente um sistema.
Mecanismo de feedback do usuário: fluxos para detectar problemas do lado do usuário.
Implantação responsável de dados de telemetria: identifique, colete e monitore sinais que indicam a satisfação do usuário ou sua capacidade de usar o sistema conforme pretendido, garantindo que você siga as leis, políticas e compromissos de privacidade aplicáveis. Use dados de telemetria para identificar lacunas e melhorar o sistema.
Ferramentas e recursos
Caixa de ferramentas de IA Responsável: a IA Responsável é uma abordagem à avaliação, ao desenvolvimento e à implantação de sistemas de IA de maneira segura, confiável e ética. A caixa de ferramentas de IA Responsável é um conjunto de ferramentas que fornece uma coleção de interfaces de usuário e bibliotecas de exploração e avaliação de modelos e dados que permitem uma melhor compreensão dos sistemas de IA. Essas interfaces e bibliotecas capacitam desenvolvedores e partes interessadas de sistemas de IA a desenvolver e monitorar a IA de forma mais responsável e a adotar ações mais eficientes orientadas por dados.
Depuração de modelo do dashboard de IA responsável: este dashboard pode ajudar você a identificar, diagnosticar e mitigar problemas usando dados para adotar ações informadas. Essa experiência personalizável pode ser feita em uma infinidade de direções, desde analisar o modelo ou os dados de forma holística, conduzir um mergulho profundo ou comparação em coortes de interesse, explicar e perturbar previsões de modelos para instâncias individuais e informar os usuários sobre decisões e ações de negócios. Fazer o teste de tomada de decisão de IA responsável.
Revise o resumo do Azure Machine Learning em O que é IA responsável?
Leia o artigo de Brad Smith sobre Combate ao conteúdo abusivo gerado por IA: uma abordagem abrangente de 13 de fevereiro de 2024.
Leia o Blog de Segurança da Microsoft.
Visão geral das práticas de IA responsável para modelos do OpenAI do Azure – Serviços de IA do Azure
Como usar os filtros de conteúdo (versão prévia) com o Serviço OpenAI do Azure
Planejando o red teaming para grandes modelos de linguagem (LLMs) e suas aplicações
A virada da IA/ML para a segurança. Uma barra de bugs do ciclo de vida do desenvolvimento
Ferramentas para gerenciar e identificar mitigações de IA responsável – Microsoft Research
Planejando-se para falhas de linguagem natural com o Guia Estratégico de IA
Análise de erros e Construção de uma IA Responsável com o kit de ferramentas de Análise de Erros (youtube.com)
InterpretML e Como explicar modelos com IntepretML Deep Dive (youtube.com)
Explicação da caixa preta e da caixa de vidro em aprendizado de máquina (youtube.com)