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/