Como funciona a garantia de qualidade com IA

Como funciona a garantia de qualidade com IA

Quando a inteligência artificial entra em ação, o papel da Garantia de Qualidade muda para garantir a melhoria constante.

Garantia de qualidade para IA

Se sua empresa já desenvolveu software antes, você sabe que nunca é tão simples quanto escrever algum código e colocá-lo em produção. Independentemente de a quem se destina o software (clientes, funcionários, terceiros), é imprescindível realizar a Garantia de Qualidade (QA) adequada. Caso contrário, você ficaria cego às limitações do software e poderia até entregar produtos quebrados ou totalmente inutilizáveis.

A terceirização de garantia de qualidade e controle de qualidade é hoje um processo central de qualquer projeto de desenvolvimento de software. O processo de design, construção, teste e implantação precisa ser feito corretamente e nessa ordem para alcançar o sucesso. Como tal, os engenheiros de QA trabalham durante todo o ciclo de vida de desenvolvimento de software utilizando metodologias ágeis e testando todo o progresso em incrementos pequenos e iterativos, certificando-se de que o produto responde sempre aos objetivos apropriados.

Um engenheiro de garantia de qualidade trabalhando em um projeto de IA.

Seria de se esperar que projetos de Inteligência Artificial implementassem controle de qualidade assim. No entanto, isso raramente é o caso. Embora o processo iterativo padrão de 4 estágios seja mantido em sua maior parte, as operações orientadas por IA podem simplesmente ser colocadas em produção. Por que? Devido à natureza inerente da IA: está em constante aprendizagem, está em constante evolução e, portanto, necessita de uma gestão contínua.

Isso significa que você não faz controle de qualidade para projetos de IA da mesma forma que faria para qualquer outro projeto. Aqui está o porquê.

O papel do controle de qualidade e dos testes em projetos de IA

Por definição, a IA precisa ser testada continuamente. Se você deseja desenvolver uma IA que realmente funcione, não pode simplesmente lançar alguns dados de treinamento em um algoritmo e encerrar o dia. A função do controle de qualidade e teste é verificar a “utilidade” dos dados de treinamento e se eles cumprem ou não o trabalho que solicitamos.

Como isso é feito? Através de técnicas simples de validação. Basicamente, os engenheiros de controle de qualidade que trabalham com IA precisam selecionar uma parte dos dados de treinamento para usar no estágio de validação. Em seguida, eles o colocam em um cenário elaborado e medem o desempenho do algoritmo, como os dados se comportam e se a IA está retornando resultados preditivos com precisão e consistência.

Se a equipe de controle de qualidade detectar erros significativos durante o processo de validação, a IA voltará ao desenvolvimento, assim como você faria com qualquer outro projeto de desenvolvimento de software. Depois de alguns ajustes aqui e ali, a IA volta ao controle de qualidade até entregar os resultados esperados.

Um diagrama que ilustra o processo de treinamento de IA.

Mas, diferentemente do software padrão, este não é o fim da equipe de controle de qualidade. Usando alguns dados de teste diferentes, os engenheiros de controle de qualidade precisam fazer tudo isso novamente por um período de tempo arbitrário, que depende de quão minucioso você deseja ser ou de quanto tempo e recursos você tem à sua disposição. E tudo isso acontece antes o modelo de IA é colocado em produção.

Isso é o que a maioria das pessoas conhece como “fase de treinamento” da IA, onde a equipe de desenvolvimento testa o algoritmo várias vezes para coisas diferentes. O controle de qualidade, no entanto, nunca se concentra no código real ou no próprio algoritmo de IA – eles precisam assumir que tudo foi implementado como deveria ser e se concentrar em testar se a IA realmente faz o que deveria fazer.

Essa abordagem deixa duas coisas principais para os engenheiros de controle de qualidade trabalharem: os dados de configuração do hiperparâmetro e os dados de treinamento. O primeiro é testado principalmente por meio dos métodos de validação que discutimos antes, mas também pode incluir outros métodos, como validação cruzada. Na verdade, qualquer tipo de projeto de desenvolvimento de IA deve incluir técnicas de validação para determinar se as configurações dos hiperparâmetros estão corretas. Isso é apenas um dado.

Depois disso, só falta testar os próprios dados de treinamento. Mas como os engenheiros de controle de qualidade fazem isso? Eles não podem simplesmente testar a qualidade dos dados, eles também precisam testar a integridade dos dados e fazer um monte de perguntas para ajudá-los a medir os resultados. Estes são sempre um bom ponto de partida:

  • O modelo de treinamento foi projetado para representar com precisão a realidade que o algoritmo está tentando prever?
  • Existe alguma chance de que preconceitos baseados em dados ou humanos estejam influenciando os dados de treinamento de alguma forma?
  • Existem pontos cegos que explicam por que alguns aspectos do algoritmo funcionam no treinamento, mas não funcionam conforme o esperado em contextos do mundo real?

Testar a qualidade dos dados de treinamento pode gerar muito mais perguntas como essas à medida que o projeto avança. Tenha em mente que, para respondê-las com precisão, sua equipe de controle de qualidade precisará de acesso a amostras representativas de dados do mundo real e de uma compreensão abrangente do que é o preconceito da IA ​​e como ele se relaciona com a ética da IA.

A inteligência artificial precisa ser testada na produção

Resumindo, sua equipe de controle de qualidade deve saber quando seu software de IA está devidamente validado, quando os dados de treinamento estão de acordo com o padrão e quando é comprovado que o algoritmo fornece os resultados esperados de forma consistente.

Um diagrama que ilustra o processo de operações de ML.

No entanto, cada projeto de IA terá sempre uma forma única de gerir e processar dados – e, como todos sabemos, os dados estão sempre a crescer e a mudar. É por isso que a abordagem de controle de qualidade para o desenvolvimento de IA se estende ao estágio de produção.

Assim que todos os itens acima receberem luz verde, a Garantia de Qualidade iniciará um novo ciclo, testando o desempenho e o comportamento da IA ​​à medida que ela recebe novos dados do mundo real. Independentemente do tamanho ou complexidade do seu projeto de IA, o que você deseja é sempre acompanhar de perto a evolução da sua IA. E a melhor maneira de fazer isso é por meio de um processo de controle de qualidade adequado.

Hoje, isso é conhecido como “Operações de Aprendizado de Máquina” ou, mais sucintamente, Operações de ML. Isso envolve controle de versão, gerenciamento de software, segurança cibernética, processos de iteração e estágios de descoberta nos quais os engenheiros de controle de qualidade cuidam de tudo o que pode acontecer quando a IA estiver em produção. Espero que este artigo tenha ajudado você a expandir sua perspectiva sobre controle de qualidade e inteligência artificial. Boa sorte!

Se você gostou disso, não deixe de conferir nossos outros artigos sobre IA.

  • Como o GPT-3 está redefinindo a pesquisa de IA e os chatbots?
  • Como soluções de baixo código/sem código reforçam a IA
  • Como a IA deve ser regulamentada?
  • Como criar um sistema de IA em 5 etapas
  • O impacto da IA ​​nos testes de software: desafios e oportunidades

Conteúdo Relacionado

O Rails 8 sempre foi um divisor de águas...
A GenAI está transformando a força de trabalho com...
Entenda o papel fundamental dos testes unitários na validação...
Aprenda como os testes de carga garantem que seu...
Aprofunde-se nas funções complementares dos testes positivos e negativos...
Vídeos deep fake ao vivo cada vez mais sofisticados...
Entenda a metodologia por trás dos testes de estresse...
Descubra a imprevisibilidade dos testes ad hoc e seu...
A nomeação de Nacho De Marco para o Fast...
Aprenda como os processos baseados em IA aprimoram o...
A web está em constante evolução, e com ela,...
A Inteligência Artificial (IA) tem sido um tema cada...
Você já se sentiu frustrado com a complexidade de...
O OpenStack é uma plataforma de computação em nuvem...
Você já se sentiu frustrado com a criação de...
A era digital trouxe uma transformação profunda na forma...
Nos dias atuais, a presença digital é fundamental para...
Introdução Quando se trata de desenvolvimento de software, a...
Como desenvolvedor Dart, você provavelmente já se deparou com...
返回博客

发表评论

请注意,评论必须在发布之前获得批准。