O guia definitivo para o desenvolvimento de IA

3 steps in the AI ​​development process cycle

O processo de desenvolvimento de produtos de IA não é uma tarefa simples. É preciso uma aldeia (podemos acrescentar: uma aldeia com conhecimento, experiência e criatividade). Então, como lidamos com os novos desafios da tecnologia de visão computacional? Aqui estão cinco perguntas importantes que usamos para orientar todos os novos projetos.

1. Que produto exato queremos criar e será que precisamos de IA?

A primeira e mais básica pergunta que fazemos a nós mesmos é qual solução queremos criar e se os usuários realmente precisam dela. Quando temos uma resposta clara para essa pergunta, descobrimos se e de que forma devemos abordá-la com IA.

Em geral, a IA é o caminho certo a ser seguido nessas condições:

  1. O problema que nos propusemos a resolver é muito difícil ou impossível de ser resolvido com uma abordagem de desenvolvimento clássica ou tradicional.
  2. Devemos ser capazes de modelar o problema usando um método/abordagem de IA específico.
  3. Há um conjunto de dados suficientemente bom que podemos usar para pesquisa.

Essa etapa é parte integrante do nosso gerenciamento de produtos e envolve todos em nossa organização.

2. Como modelar o problema de IA?

Depois de identificarmos a parte do produto para a qual usaremos a IA, a próxima etapa é determinar como modelá-la. Às vezes, essa é uma tarefa bastante simples, mas, em outras ocasiões, não está claro qual abordagem produziria os melhores resultados. Por exemplo, nessa parte do processo de desenvolvimento, precisamos avaliar se algum problema de visão computacional seria melhor resolvido com um modelo de segmentação semântica ou com um modelo de detecção de objetos. Nossa equipe de pesquisa tem a função mais importante na resposta a essa pergunta.

3. Como podemos encontrar um bom conjunto de dados?

Depois de termos uma ideia de como resolver um determinado problema com IA, precisamos encontrar um conjunto de dados bom o suficiente com o qual possamos trabalhar. Muitas vezes, esse é um ponto decisivo, pois se não conseguirmos encontrar um conjunto de dados bom o suficiente para a equipe de pesquisa experimentar, não poderemos fornecer a melhor solução para o problema que inicialmente nos propusemos a resolver.

Há várias maneiras de acessar os dados. Nesse processo, é muito importante que você entenda as diferenças no conteúdo e na qualidade dos conjuntos de dados.

Nossa equipe de vendas tem uma colaboração muito próxima com parceiros e clientes. Eles nos ajudam a aprimorar nossa tecnologia e nós desenvolvemos novos recursos para serem aplicados em suas soluções para problemas altamente específicos.

Às vezes, a outra abordagem é começar desenvolvendo nossos próprios conjuntos de dados internamente, que é a tarefa da nossa equipe de dados.

4. Como preparamos os dados para o processo de aprendizagem?

Os dados brutos coletados não são suficientes para treinar modelos de IA. É por isso que estabelecemos processos específicos de anotação de dados.

Para essa finalidade específica, nossa equipe da Web desenvolveu um sistema que chamamos internamente de MLS (Machine Learning System). O MLS é usado pela nossa equipe de dados, que é responsável pela anotação de dados. O MLS é uma parte essencial do desenvolvimento de nossos produtos. Ele nos permite ter o máximo de controle sobre a qualidade dos dados anotados, além de aprimorar e acelerar continuamente o processo de anotação.

O processo é exigente e duradouro, mas temos orgulho de dizer que, em menos de três anos, nossa equipe de dados anotou dezenas de milhões de imagens para vários fins de treinamento. A equipe coopera estreitamente com a equipe de pesquisa para garantir que os engenheiros de ML produzam modelos que realmente atendam ao problema inicialmente definido.

5. Como integrar o modelo ao produto final?

O modelo de ML produzido é apenas uma parte do quebra-cabeça. Para que o produto final seja útil, você precisa de muito conhecimento técnico e de experiência do usuário para reunir todas as partes.

Nossa equipe de Ferramentas e Infraestrutura é responsável pela criação de componentes especializados para implementação e execução de redes neurais. Esses componentes permitem uma integração muito mais simples e rápida em dispositivos móveis do que qualquer alternativa de código aberto.

A integração final do modelo é feita por nossas equipes de desenvolvimento de produtos, dispositivos móveis e Web. Elas são responsáveis por garantir que o produto final realmente resolva o problema dos usuários, que o software seja rápido e robusto e que a experiência do usuário seja adaptada a cada plataforma (iOS, Android ou Web).

Por que fazemos isso dessa maneira

Esse processo exige conhecimento e criatividade em engenharia de software, aprendizado de máquina, experiência do usuário e muita persistência. Mas, ei, sem dor, sem ganho.

Essa abordagem nos permite ter sempre em mente o panorama geral e, em última análise, oferecer o maior valor possível ao produto. É assim que acreditamos que todos os produtos de IA devem ser fabricados – com o objetivo de obter qualidade suprema.

Esta é a parte II de nossa breve série sobre a criação de produtos de IA para empresas. Leia a parte I: Como é realmente o desenvolvimento de IA?

May 9, 2019

Descubra nossas soluções

Para explorar nossas soluções, você está a apenas um clique de distância. Experimente nossos produtos ou converse com um de nossos especialistas para se aprofundar no que oferecemos.