A hora da verdade para começar seu primeiro projeto de inteligência artificial

Existem várias maneiras de uma empresa se envolver com a IA. Saiba quais

Vamos começar a desenvolver a primeira iniciativa de inteligência artificial (IA). A hora da verdade. Existem várias maneiras de uma empresa se envolver com a IA. Pode-se usar Machine Learning-as-a-Service (MLaaS) e APIs de IA de terceiros, como os providos pela Amazon, Google, IBM ou Microsoft; terceirizar o desenvolvimento para uma empresa que construa algoritmos de IA; ou criar uma equipe interna. Na prática, acaba-se muitas vezes adotando-se uma abordagem “híbrida”, combinando uma equipe interna com recursos externos, e, claro, usando MLaaS e APIs sempre que possível.

O uso de ML-as-a-Service e APIs aceleram o desenvolvimento. Esses serviços cumprem funções específicas e limitadas, mas dependendo das suas necessidades podem fornecer resultados quase imediatos. Bem, imediato é forma de falar, pois não esqueça que estes algoritmos precisam aprender com seus dados e o ciclo de treinamento não pode ser ignorado.

Os serviços de MLaaS resolvem problemas de analítica preditiva e as APIs atuam nos domínios da visão e de processamento de linguagem. As APIs de linguagem incluem transcrição, tradução e extração de tópicos. A questão é que algumas não trabalham muito bem com a língua portuguesa, e seus níveis de acerto estão abaixo dos obtidos com a língua inglesa.

Já as APIs de visão incluem reconhecimento de objetos, detecção de cenas e identificação de logotipos. Como objetos são iguais no mundo inteiro, ou seja, um gato é um gato aqui e na China, estas APIs funcionam bem melhor que as de processamento de linguagem. Sugiro a leitura de um excelente artigo que compara as funcionalidades de diversos provedores de serviços de IA, “Comparing Machine Learning as a Service: Amazon, Microsoft Azure, Google Cloud AI, IBM Watson”, para se ter uma ideia do que é possível fazer com estas funcionalidades de MLaaS e APIs.

Como transferir grandes volumes de dados é custoso, se você já estiver usando ambientes de nuvem da Amazon, Google, IBM ou Microsoft, e os seus serviços de MLaaS e APIs atendem aos seus requisitos, é mais atrativo continuar com ele. Por isso, ao escolher um provedor para uso intensivo de cloud computing, valide também se os seus recursos de IA também são adequados para suas necessidades.

No caso das APIs, é importante lembrar que elas oferecem funcionalidades específicas, geralmente nos campos de visão e linguagem. Se seus requisitos não forem atendidos pelo que está disponível, será necessária uma abordagem alternativa. Além disso as APIs não permitem ajustar os dados ou modelos de treinamento nos quais os serviços se baseiam.

Se você deseja desenvolver serviços com base em dados de treinamento exclusivos ou usar algoritmos complementares para obter melhores resultados, as APIs poderão se mostrar inadequadas. Estas APIs foram projetadas para adoção em massa e por isso tendem a ser genéricas e não têm profundidade e especificidade de domínios. Não esqueça que estas APIs também estão disponíveis para seus concorrentes. Não será possível criar vantagem competitiva duradoura se você depender apenas do uso de APIs de terceiros. Lembre-se também que o uso destas APIs cria uma dependência sobre a qual você não tem controle.

De qualquer modo, desenvolver uma solução com base em APIs tem custo bem menor do que desenvolver do zero e isso torna a IA acessível a empresas de todos os tamanhos e budgets (sim, você vai precisar investir em IA!). Pode ser usado como prova de valor antes de se comprometer com orçamentos bem maiores.

Desenvolver uma solução com base em APIs tem custo bem menor do que do zero

Os serviços de MLaaS são um passo além das APIs. Permitem fazer upload de seus dados, configurar, treinar e refinar seus próprios modelos de IA usando uma interface simples. Esses serviços abstraem muito das dificuldades do desenvolvimento de IA e permitem que você desenvolva uma solução personalizada mais rapidamente. Claro, que nem tudo é maravilhoso e você tem que discutir alguns aspectos como os que o uso de serviços de MLaaS implicam em menos controle do que o desenvolvimento interno e o acesso à modelos complementares será limitado, reduzindo a personalização e o refinamento. Não ignore seus requisitos de privacidade.

O uso de serviços de MLaaS envolve passar seus dados a terceiros. Isso está de acordo com suas políticas de governança de dados? Você sabe se este terceiro retém uma cópia dos seus dados e os utiliza para outros fins? Como nas APIs, você cria uma relação de dependência. Pode ser muito caro migrar para outro provedor de MLaaS, dadas as dependências e os custos de transferência de dados. Analise também questões de propriedade intelectual.

Os serviços MLaaS oferecem uma maneira rápida e flexível de desenvolver soluções sob medida, a um custo menor do que a criação de uma equipe interna. Podem ser alternativas ideais para prototipagem. Mas, se você precisar de mais controle, flexibilidade, autonomia e propriedade intelectual, estes serviços não serão a solução.

Se as alternativas de API adequada e MLaaS não forem suficientes (e na maioria das vezes não serão!) você vai precisar criar sua própria solução de IA. No entanto, investir em uma equipe interna é caro e uma alternativa mais econômica será contratar recursos de IA terceirizados, que fornecem desde “ML engineers” alocados especificamente para desenvolver o projeto, até o desenvolvimento completo da solução.

Investir em uma equipe interna é caro e uma alternativa mais econômica será contratar recursos de IA terceirizados

A natureza do desenvolvimento da IA permite que os engenheiros de ML trabalhem em vários fluxos de trabalho simultaneamente, o que faz com que a terceirização possa ser mais barata do que manter uma equipe permanente. A empresa que dispõe dos profissionais pode alocá-los a mais de um projeto, dividindo o custo.

Os desafios iniciais são que se você não tem experiência com projetos de IA terá alguma dificuldade de mensurar prazos e custos. Por exemplo, negocie claramente qual a precisão (níveis de acerto) que os modelos devem atender. Você fornecerá dados de treinamento rotulados e limpos? Ou os dados devem ser criados pelo contratante? A falta de dados ou dados não rotulados e sujos pode atrasar em muitos meses o projeto! Quais prazos devem ser cumpridos?

Isso pode ser muito mais desafiador do que no desenvolvimento de software tradicional, pois a melhoria de um modelo exige experimentação. Pode levar poucas semanas para se chegar a 50% de precisão, uns meses para 80%, mais alguns para 95% e muitos mais para alcançar o patamar de 98%. Até que nível você realmente precisa chegar? E, acorde também como considerar que a solução está pronta para produção.

E chegamos à solução mais flexível, mas também mais custosa: uma equipe interna, que oferece controle máximo, capacidade e diferenciação competitiva. Você tem o controle sobre o hardware, linguagens de programação, frameworks, técnicas e dados, tendo a flexibilidade de iterar e expandir suas soluções à medida que suas necessidades evoluem.

Com uma equipe interna, você tem a oportunidade de criar soluções otimizadas, potencialmente além do atual estado da arte. E você poderá desenvolver uma oferta exclusiva de IA que ofereça vantagem competitiva, maior credibilidade no mercado e valor associado à sua empresa. Além disso você mantém o controle sobre seus próprios dados.

Não será uma tarefa fácil e barata. O artigo “Getting Data Science Right: How To Structure Data Science Teams For Maximum Results” nos dá uma ideia do custo de criar e manter uma equipe sólida e preparada. Para desenvolver uma equipe interna de IA, você deve atrair, estruturar, gerenciar e reter talentos de IA; selecionar as linguagens de desenvolvimento, estruturas e técnicas que você adotar; realizar coleta e limpeza de dados; aprender como produzir IA no mundo real e não apenas em laboratórios de demonstração; e garantir conformidade com os padrões regulatórios e éticos.

Pode levar meses para criar uma equipe interna que seja produtiva e, potencialmente, mais tempo para coletar os dados necessários e desenvolver soluções personalizadas que entreguem os resultados nos padrões exigidos. Escassez de talentos é um fato e você vai ter que lidar com esta realidade.

IA será a nova eletricidade. Assim, pela importância do assunto, devemos estudar e compreender seus impactos nos negócios

Já escrevi sobre este tema em “Contratando talentos de IA: onde achar e como selecionar?” . Já o artigo “How Uber Organizes Around Machine Learning” mostra como uma empresa de tecnologia usa IA de forma conseguir vantagens competitivas, como o fazem Google, Facebook, Amazon e outras e “Building the AI-Powered Organization” sugere alguns modelos de organização de IA nas empresas. Leituras que recomendo para um melhor posicionamento dos investimentos e desafios que você terá pela frente ao montar uma equipe interna.

Mas, provavelmente para a maioria das empresas, uma abordagem “híbrida” para a IA será a ideal. Use APIs de terceiros para resolver uma versão inicial e mais simples de soluções de IA. Passe para MLaaS para criar em soluções mais refinadas, e comece a montar equipe interna usando empresas especializadas em IA como suporte e mentoria. Desenvolva uma estratégia de dados (uma recomendação sobe isso aqui) e crie um pipeline de dados de treinamento. E nunca esqueça que começar por uma estratégia de IA é fundamental. Leia sobre isso aqui.

IA será a nova eletricidade. Assim, pela importância do assunto devemos estudar e compreender seus impactos nos negócios. Desenhar e colocar em prática uma estratégia de IA. Os executivos não podem ignorar o assunto. As organizações que perceberem o potencial da IA e reagirem antes das outras terão dado um passo significativo em termos de vantagem competitiva.

FONTE: NEOFEED