Design para IA responsável com HAX da Microsoft
O kit de ferramentas Human-AI eXperience da Microsoft Research nos faz pensar sobre como usamos IA em nosso código.
O aprendizado de máquina (ML) está em toda parte agora. Pode não ser a inteligência artificial geral e flexível prometida por histórias de ficção científica, mas é uma alternativa poderosa para mecanismos de regras, imagens e sistemas de reconhecimento de voz. Mas um grande problema permanece: a IA – Inteligência Artificial – moderna é composta de sistemas de caixa preta que são tão bons quanto seus dados de treinamento.
A natureza subjacente dos módulos baseados em ML que colocamos em nossos aplicativos e serviços levanta novas questões sobre como projetamos nossos aplicativos. Se não sabemos exatamente como um aplicativo toma decisões, como podemos informar seus operadores e usuários? Precisamos de alguma forma de projetar essa mistura de certeza e incerteza em nosso código para que possamos mostrar aos usuários que, enquanto os aplicativos tomam decisões, eles precisam permanecer cientes do viés algorítmico e outras fontes fundamentais de erro.
Dois conceitos vêm à tona: um é a questão da explicação da IA e o outro é a questão mais complexa do uso responsável da IA. O primeiro é difícil de lidar porque as complexidades de uma rede neural de aprendizado profundo treinada são muito difíceis de entender, quanto mais explicar. O segundo é um problema de várias camadas que começa com sua escolha de conjuntos de dados e dados de treinamento e termina com a forma como o aprendizado de máquina foi usado.
Apresentando HAX
Se quisermos impulsionar o uso de IA responsável, precisamos de ferramentas para ajudar toda a equipe de desenvolvimento a entender o que está fazendo e mostrar como suas escolhas afetam os usuários finais. Precisamos ser capazes de pelo menos minimizar – se não evitar – os danos que nossos aplicativos podem causar. É aí que entra o novo kit de ferramentas Human-AI eXperience (HAX) da Microsoft Research, fornecendo uma estrutura para nos ajudar a escolher como trabalhamos com essas novas tecnologias e como usamos o design para manter os usuários informados. HAX baseia-se no trabalho publicado em um artigo de 2019 , transformando seus conceitos de pesquisa em ferramentas práticas.
Como desenvolvedores, muitas vezes nos esquecemos do design. Afinal, é apenas o Chrome para manter os usuários felizes. Mas um ciclo de vida de desenvolvimento de software moderno precisa incorporar design desde os estágios iniciais de um projeto, reforçando rapidamente o design ao lado do código como parte de um modelo de desenvolvimento ágil orientado a protótipos. O design centrado no usuário faz parte da coleta de requisitos tanto quanto a análise de negócios e a arquitetura de sistemas.
HAX tem como objetivo fornecer ferramentas que podem se encaixar em qualquer ciclo de vida de desenvolvimento de software, informando e orientando sem alterar a maneira como você trabalha. É um grande desafio, mas necessário. Precisamos ser capazes de incorporar o uso responsável de IA em nossos processos de uma forma que ainda nos permita nos beneficiar da tecnologia. A IA responsável também precisa ser considerada em nossos modelos de UI (User Interface). Nossos aplicativos de aprendizado de máquina podem não ter uma interface de usuário, mas ainda podem fazer parte de uma interação com os usuários.
Como mostramos o uso responsável de técnicas de reconhecimento de imagem em uma ferramenta de segurança baseada em visão computacional que desliga máquinas perigosas quando alguém entra em um espaço considerado arriscado? Não há IU do aplicativo, então podemos projetar uma sinalização apropriada como parte do design do nosso aplicativo? A abordagem adotada pelo HAX deve ajudar aqui, pois ajuda você a fazer as perguntas certas como parte do processo de desenvolvimento.
Trabalhando com HAX
No centro do HAX está um conjunto de diretrizes criado a partir de 18 práticas recomendadas que você pode usar para orientar as interações entre os usuários e seus sistemas. Eles são apresentados como padrões de design em uma série de cartões, codificados por cores de acordo com o momento em que você deseja usá-los em um aplicativo. Eles representam quatro zonas de interação diferentes: antes de uma interação, durante uma interação, quando algo dá errado e como um sistema deve funcionar com os usuários por um período mais longo.
Os vários cartões são apresentados em uma biblioteca de design interativo que adiciona exemplos das várias interações. O primeiro cartão de orientação sugere descrever o que o sistema faz, fornecendo uma introdução eficaz à ferramenta que você está apresentando. Os exemplos incluem mostrar como as ferramentas de produtividade usam o aprendizado de máquina, por exemplo, como o Word usa o processamento de linguagem natural como parte de seu serviço de previsão de texto.
No entanto, é o conjunto de diretrizes que se concentra em lidar com a incerteza que é provavelmente o mais útil. Freqüentemente, presumimos que nossos aplicativos funcionarão perfeitamente e nossos usuários compreenderão nossa intenção, por isso é importante ter as melhores práticas que avisam explicitamente quando as coisas não funcionam. Até certo ponto, essas diretrizes são um argumento para a clareza em nossa cópia da IU e para substitutos perfeitos em caso de falha.
Quando um sistema baseado em IA falha, é importante que o usuário entenda o que deu errado e por quê. Por exemplo, se um chatbot não entende o que um termo significa, ele deve pedir esclarecimentos e aplicar a resposta do usuário como parte de sua rotulagem e treinamento estendidos.
HAX desde o início
Uma ferramenta como HAX é melhor usada no início do processo de desenvolvimento. Com o aprendizado de máquina, um componente-chave em um aplicativo de IA, você precisa entender como as interações com ele afetam o resto do seu código. HAX inclui uma pasta de trabalho do Excel para ajudar sua equipe a compreender o impacto de construir interfaces de IA responsáveis em seus sistemas. Este processo envolve mais do que a equipe de design; deve incluir desenvolvedores, gerentes de projeto e até mesmo analistas de negócios.
As ferramentas de planejamento baseadas no Excel são uma parte familiar do processo de engenharia de software, ajudando na coleta de requisitos e na definição do escopo básico do projeto. Não é um exagero adicionar uma nova planilha logo no início do ciclo de vida de desenvolvimento de software com o objetivo de garantir que ela seja mantida atualizada durante todo o processo. A pasta de trabalho HAX usa metáforas familiares com base no dimensionamento de camisetas para ajudar a abordar o impacto da adição de interações humano-AI a um aplicativo.
Usar uma metáfora familiar aqui é importante. Um dos maiores problemas de qualquer iniciativa de desenvolvimento interdisciplinar é a linguagem. As equipes de engenharia, design e negócios têm seus próprios dialetos. O mesmo termo pode significar coisas diferentes para disciplinas diferentes e palavras diferentes podem dizer a mesma coisa. Ao trazer um novo modelo, podemos fornecer um atalho para o processo muitas vezes doloroso de encontrar uma maneira de trabalhar juntos e escolher algo que todos nós entendemos que funciona bem.
Explorando IA com o HAX Playbook
A parte final do HAX ainda está em desenvolvimento, o HAX Playbook . Esta é uma ferramenta guiada que ajuda a testar cenários básicos de interação para um aplicativo, fornecendo uma lista de cenários a serem testados com base em suas respostas a um conjunto de perguntas. A versão inicial suporta apenas sistemas de linguagem natural, mas estes podem ser os mais difíceis de definir, pois as ferramentas de conversação são surpreendentemente de forma livre. As sugestões incluem observar como um sistema lida com erros ortográficos, gera respostas e classifica dados.
A equipe de pesquisa da Microsoft está trabalhando no HAX Playbook no GitHub , para que você possa ver como eles o construíram e o que estão adicionando. Você pode até mesmo bifurcar o repositório para adicionar perguntas e sugestões, focando em seus próprios cenários e aplicativos. Você pode pensar no Manual como um complemento das Diretrizes, uma ferramenta que mostra o que pode ser necessário considerar acima e além dos cartões de amostra.
A Microsoft Research está fazendo um trabalho importante com a HAX. Temos a tendência de tratar a IA responsável como um tópico de pesquisa, em vez de uma disciplina prática. Mas se quisermos usar o aprendizado de máquina como parte de nossos aplicativos, precisamos entender que, na verdade, ele está muito mais próximo de casa e precisa fazer parte de nossos processos de desenvolvimento de software. HAX nos força a focar no aspecto de interação humana da IA, para começar a fazer perguntas sobre como nosso software usa IA. Ao fazer isso, leva os desenvolvedores a pensar mais sobre como a tecnologia é usada.