Compartilhar via


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. Você pode ler mais sobre a abordagem da Microsoft para o desenvolvimento responsável no Relatório de Transparência de IA Responsável da Microsoft. 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

O teste de ponta a ponta avalia todo o sistema de IA do início ao fim para garantir que ele funcione conforme o esperado e siga os padrões estabelecidos. Essa abordagem abrangente pode incluir:

Equipe Vermelha

O termo agrupamento vermelho historicamente descreveu ataques sistemáticos de adversários para testar vulnerabilidades de segurança. Mais recentemente, 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 modelos de linguagem grandes (LLMs) e pequenos modelos de linguagem (SLMs), o uso benigno e contraditório pode produzir saídas potencialmente prejudiciais que podem tomar muitas formas, incluindo discurso de ódio, incitação ou glorificação da violência ou conteúdo sexual. Uma equipe vermelha completa permite que você teste seu sistema e aprimore sua estratégia de conteúdo para diminuir as possibilidades de danos causados pelo sistema.

Todos os sistemas de IA devem passar por testes de equipe vermelhos, dependendo da função e da finalidade, para sistemas de alto risco que empregam IA gerativa e sistemas de menor risco que usam IA não generativa:

  • Equipe vermelha formal: a equipe vermelha independente deve estar completa para todos os sistemas de alto risco que empregam IA generativa usando LLMs (grandes modelos de linguagem). O red teaming formal inclui o recrutamento de profissionais fora de sua organização para participar de atividades de red teaming.

  • Equipe vermelha interna: no mínimo, planeje a formação de equipes vermelhas internas para todos os sistemas de IA de baixo risco e não generativos. Isso pode ser feito por pessoas dentro de sua organização.

Saiba mais sobre o agrupamento vermelho e como avaliar as necessidades de agrupamento vermelho do seu sistema: Microsoft AI Red Team

Avaliação do modelo

Como parte do teste de ponta a ponta, é importante avaliar o próprio modelo.

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

  • Apliquemitigaçõesde 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.

  • Implementar loops de comentários do cliente: incentive os usuários a se envolverem ativamente em loops de comentários:

    • Solicite comentários diretamente em seu aplicativo/produto usando um mecanismo de comentários simples que está disponível no contexto como parte da experiência do usuário.

    • Aplique técnicas de escuta social nos canais que seus clientes usam para conversas iniciais sobre problemas de recursos, preocupações e possíveis danos.

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.

  • comentários do usuário: utilize mecanismos para detectar problemas do lado do usuário.

    • Peça comentários diretamente em seu produto, com um mecanismo de comentários simples que está disponível no contexto de um fluxo de trabalho típico.

    • Aplique técnicas de escuta social nos canais que seus clientes usam para conversas iniciais sobre problemas de recursos, preocupações e possíveis danos.

  • 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