Como resolver a crise de reprodutibilidade da Inteligência Artificial

Faculdade de Educação Tecnológica do Estado do Rio de Janeiro

Como resolver a crise de reprodutibilidade da Inteligência Artificial

A sociedade nunca confiará totalmente nas ações da Inteligência Artificial, a menos que seja possível demonstrar resultados razoavelmente reproduzíveis

Por: James Kobielus

A reprodutibilidade é frequentemente deixada para trás na corrida da IA ​​por  resultados rápidos. E o movimento para metodologias ágeis pode apenas exacerbar esse cenário. Sem reprodutibilidade, não é possível saber realmente o que seu sistema de IA está fazendo ou fará, e isso é um grande risco quando você usa Inteligência Artificial para qualquer trabalho crítico, desde diagnosticar condições médicas até dirigir caminhões, passando por ameaças de segurança.

A tendência natural dos cientistas de dados é ser econômico na documentação para ganhar velocidade ao desenvolver, treinar e iterar modelos de Machine e  Deep Learning. Mas a reprodutibilidade depende do conhecimento da sequência de etapas que produz um modelo, processo ou decisão de IA.

A reprodutibilidade desmorona quando os cientistas de dados que construíram um modelo de IA falham em seguir uma abordagem repetível para o seu trabalho ou em documentar o que realmente fizeram com detalhes precisos. Nesses cenários, nem os desenvolvedores originais de um modelo de IA, nem ninguém, pode ter certeza de que o que encontraram pode ser reproduzido em uma data posterior por eles mesmos ou por qualquer outra pessoa.

Os problemas de reprodutibilidade se multiplicam à medida que as plataformas de pipeline de IA subjacentes – incluindo estruturas de modelagem, aceleradores de hardware e data lakes distribuídos – evoluem em todos os níveis, reduzindo a possibilidade de se posicionar uma réplica precisa da plataforma original para qualquer validação cruzada posterior .

Plataformas DevOps compartilhadas podem garantir a reprodutibilidade
Para garantir que a reprodutibilidade não seja prejudicada por métodos ágeis, as equipes de ciência de dados devem realizar todo o seu trabalho em plataformas de DevOps compartilhadas. Essas plataformas – que agora são oferecidas por dezenas de fornecedores – permitem que as equipes de desenvolvimento de IA mantenham registros de auditoria confiáveis ​​dos processos específicos usados ​​pelos profissionais de ciência de dados para desenvolver suas soluções de Inteligência Artificial. As ferramentas DevOps de ciência de dados usam repositórios ricos de metadados associados e um registro de como os dados, modelos, metadados, códigos e outros artefatos específicos são executados no contexto de um determinado processo ou decisão. Eles também automatizam as seguintes funções do pipeline da IA:

  • Registro de todas as etapas do processo de aquisição, manipulação, modelagem e implantação de análise orientada por dados.
  • Versão de todos os dados, modelos, hiper parâmetros, metadados e outros artefatos em todos os estágios do pipeline de desenvolvimento.
  • Retenção de cópias de arquivamento de todos os conjuntos de dados, gráficos, scripts, ferramentas e outros artefatos usados ​​em cada iteração do processo de modelagem.
  • Geração de narrativas detalhadas que explicitam como cada passo contribuiu para os resultados analíticos alcançados em cada iteração.
  • Acessibilidade e introspecção no nível do projeto por partes independentes de cada script, execução e resultado.

E mesmo que se adote rigorosamente plataformas e práticas de DevOps em seu trabalho, os cientistas de dados podem inadvertidamente comprometer a reprodutibilidade dos resultados de uma execução para outra. Mesmo quando dois cientistas de dados estão trabalhando com os mesmos dados de treinamento e versões de modelo de Machine Learning, os desenvolvedores podem inadvertidamente introduzir a variabilidade de execução para execução – e comprometer a reprodutibilidade – através das seguintes práticas de modelagem de redes neurais .

Inicialização: Os modelos se aproximam de um resultado útil quando suas saídas convergem em um valor específico. A aceleração desse processo geralmente exige que os valores iniciais do modelo sejam definidos por amostragem. Isso geralmente aumenta a velocidade de convergência ao definir os pesos iniciais como zero. Mas também introduz aleatoriedade na inicialização de cada execução. O resultado é que os pesquisadores podem se desviar inadvertidamente da reprodutibilidade estrita quando tentam verificar as descobertas de outra pessoa.

Ordenação: A capacidade dos modelos de aprender os padrões subjacentes em um conjunto de dados pode ser degradada pela ordem das observações às quais eles são expostos durante o treinamento. Assim, os cientistas de dados aprenderam que geralmente é uma boa prática embaralhar aleatoriamente um conjunto de dados antes de cada treinamento. Mas essa prática também se desvia da reprodutibilidade estrita das descobertas entre as execuções.

Camadas: Os modelos podem incluir camadas e nós que possuem aleatoriedade inerente, como desistências, que reduzem o overfitting excluindo alguns nós de entrada da rede neural, ocultos e visíveis, de qualquer execução de treinamento específica. Isso normalmente resulta na mesma amostra de entrada produzindo diferentes ativações de camada de execução para execução, o que se desvia da reprodutibilidade estrita.

Migração: As bibliotecas de modelos podem ter comportamentos sutilmente diferentes de versão para versão, mesmo que a API de front-end e o conjunto de dados de treinamento permaneçam inalterados ao migrar um modelo de uma estrutura para outra. Isso pode comprometer a reprodutibilidade se os desenvolvedores subsequentes não puderem recorrer a estruturas de modelagem de back-end usadas para gerar um resultado específico.

Execução: O código do modelo pode não produzir cálculos consistentes nas execuções, se não executado nas mesmas versões e configurações de aceleradores de hardware de back-end, como GPUs, devido a alterações nas implementações de hardware. Isso pode prejudicar a reprodutibilidade. Os profissionais subsequentes precisam estar cientes dessas dependências de hardware e, portanto, não podem desativar as operações alteradas sem comprometer o escopo de seus testes.

Não economize na trilha de auditoria
Se os cientistas de dados garantirem que o trabalho atenda a padrões consistentes de transparência, auditabilidade e acessibilidade, eles facilitarão a identificação desses problemas de reprodutibilidade por outras pessoas. Por todas essas razões, os cientistas de dados devem sempre garantir que os métodos ágeis deixem uma trilha de auditoria suficiente para a verificação independente.

No entanto, como acabei de dizer, alguns desses problemas podem ser causados ​​por nuances misteriosas de modelagem, treinamento, portabilidade de estrutura cruzada e dependência de hardware de back-end. Como resultado, eles podem não ser facilmente localizados em avaliações feitas por outros cientistas de dados, a menos que essas revisões incluam os algoritmos, frameworks e os especialistas em hardware necessários.

A reprodutibilidade continuará sendo um desafio para os profissionais de IA. Mas continuará a ressurgir e a crescer em importância para todos os interessados ​​em IA, porque a sociedade nunca confiará totalmente nas ações automatizadas tomadas por esses ativos inteligentes incorporados, a menos que possam mostrar resultados razoavelmente repetíveis, de acordo com o que seus desenvolvedores definiram.

Fonte: CIO

Texto original:
http://cio.com.br/tecnologia/2018/10/06/como-resolver-a-crise-de-reprodutibilidade-da-inteligencia-artificial/