Connect with us

IA 101

Modelos de Aprendizado de Máquina Prontos para Uso vs Personalizados?

mm
Off the shelf vs custom models

Quando é melhor construir do que comprar uma solução pronta?

As empresas podem adotar diferentes abordagens para o desenvolvimento de modelos. Desde serviços de ML totalmente gerenciados até modelos personalizados. Dependendo dos requisitos comerciais, da expertise disponível e das restrições de planejamento, elas devem fazer uma escolha: devem desenvolver soluções personalizadas do zero? Ou devem escolher um serviço pronto para uso?

Em todas as etapas de cargas de trabalho de ML, uma decisão deve ser tomada sobre como as diferentes peças do quebra-cabeça se encaixarão. Desde a coleta, preparação e visualização de dados, até a engenharia de recursos, treinamento de modelos e avaliação, os engenheiros de aprendizado de máquina se perguntam repetidamente a mesma pergunta: Será uma solução implementada personalizada, escrita e desenvolvida do zero? Ou será um serviço pronto para uso?

Mas quando é melhor construir do que comprar uma solução pronta? Os principais fatores diferenciadores entre as duas abordagens: esforços de pré-processamento, velocidade de desenvolvimento e expertise necessária.

Coisas a considerar ao determinar o uso de modelos de aprendizado de máquina prontos ou personalizados?

Esforços de pré-processamento

Os projetos de ML enfrentam todo tipo de desafios, mas talvez o maior desafio seja a disponibilidade de dados de treinamento. A falta de dados de treinamento pode parar um projeto antes mesmo de começar. Antes de um projeto começar, ele pode enfrentar custos de pré-processamento significativos, desde a coleta de dados, rotulagem de dados, limpeza e esforços de pré-processamento. Isso é a armadilha bem conhecida em que muitos projetos de ML falham: o pré-processamento acaba consumindo 80% dos recursos alocados, enquanto poucos recursos são deixados para o treinamento e avaliação do modelo.

As soluções prontas para uso aliviam as dores e esforços de pré-processamento. Elas são projetadas para realizar as operações mais comuns com apenas uma pequena configuração necessária. A melhor coisa sobre elas é: soluções prontas para uso existem para todas as etapas de cargas de trabalho de ML.

Por outro lado, as implementações personalizadas geralmente exigem mais esforços de pré-processamento. Isso não significa que elas devem ser descartadas por completo: elas ainda são necessárias para ajustar finamente uma determinada etapa de ML para as especificidades do problema que está sendo resolvido. Um conjunto de dados especialmente sujo pode exigir alguma regra de limpeza especial. Ao mesmo tempo, um conjunto de recursos específico pode exigir engenharia de recursos personalizada, assim como arquiteturas neurais podem exigir ajustes leves. Nesse caso, soluções personalizadas construídas do zero são prováveis de atender a todas as necessidades.

Velocidade de desenvolvimento

As soluções prontas para uso se concentram na configuração em vez da implementação. Em vez de alocar recursos para descobrir o que deve ser feito, as equipes de ML se concentram em como as diferentes peças do quebra-cabeça se encaixarão. Essa abordagem permite que as empresas, pesquisadores e engenheiros implementem rapidamente protótipos e provas de conceito. Em vez de reinventar a roda, as soluções prontas para uso tornam possível aproveitar o conhecimento existente, economizando assim tempo de desenvolvimento.

As soluções personalizadas implementadas do zero são conhecidas por serem muito mais lentas em termos de velocidade de desenvolvimento. Isso ocorre devido às suas necessidades de manutenção aumentadas: os engenheiros devem descobrir tanto o que quanto como da solução. Da mesma forma, quanto mais complexa a solução, mais tempo e recursos são necessários para garantir sua escalabilidade e disponibilidade enquanto está em produção. Nessa perspectiva, soluções personalizadas e esforços de tempo são diretamente proporcionais: quanto mais complexa a solução, mais tempo ela exigirá.

Geralmente, no entanto, a verdade está em algum lugar no meio: um código existente será reestruturado e adaptado às necessidades do projeto atual. Tal é o caso da abordagem de aprendizado de transferência bem conhecida para o treinamento de modelos.

Expertise

Assim como existem múltiplos níveis em que o Aprendizado de Máquina é feito, existem múltiplos níveis de expertise em que os modelos de ML podem ser desenvolvidos, variando de interfaces sem código até a construção de modelos do zero.

As soluções prontas para uso existem para as quais é necessário muito pouca expertise em aprendizado de máquina. Ao utilizar interfaces intuitivas e até mesmo abordagens de arrastar e soltar, tornou-se extremamente simples para qualquer pessoa (desde analistas de negócios até engenheiros de software) construir e implantar algum tipo de modelo de aprendizado de máquina. Embora essa abordagem simples ao desenvolvimento de modelos possa funcionar para fins de prototipagem, é improvável que atenda aos requisitos de sistemas de produção.

Expertise ainda é necessária para configurar, configurar e manter as soluções prontas para uso em produção. Soluções alternativas, patches de código, conexão a diferentes interfaces de API e lidar com problemas de implantação são tarefas comuns necessárias para garantir o desempenho dos modelos em ambientes de produção.

As soluções personalizadas são geralmente implementadas em um nível infraestrutural e não há como escapar disso: expertise é definitivamente necessária. Dependendo do tamanho da empresa e dos objetivos do projeto, equipes multidisciplinares podem ser necessárias para manter sistemas de produção. Cientistas de dados, engenheiros de ML e analistas de negócios se reúnem para dar sentido aos resultados de inferência e manter modelos de produção.

O que você deve usar: um modelo de aprendizado de máquina pronto para uso ou personalizado?

Uma solução de ML será construída de muitos componentes e serviços individuais que precisam se unir como uma solução coesa. Nunca é sobre ir 100% personalizado ou ir 100% pronto para uso, pois diferentes problemas de negócios exigem soluções diferentes. Mais frequentemente do que não, as soluções baseadas em ML são construídas por uma mistura dos dois: serviços prontos para uso para extrair insights gerais, combinados com modelos personalizados para aumentar a precisão e modelar o conhecimento específico do domínio.

O truque é saber quando implementar soluções personalizadas do zero e quais partes do projeto podem aproveitar os benefícios dos serviços prontos para uso. Isso depende muito do tipo de problema que está sendo abordado, dos requisitos de negócios, dos dados disponíveis e das restrições gerais do ambiente de desenvolvimento.

Para mais informações sobre tendências de IA e tecnologia, veja Josh Miramant, CEO da Blue Orange Digital, sobre soluções orientadas por dados para Cadeia de Suprimentos, Automação de Documentos de Saúde, e mais.

Você também pode gostar:

Use NLP para classificar comentários em mídias sociais

Como o Processamento de Linguagem está sendo Aprimorado por meio do Modelo BERT de Código Aberto do Google

Josh Miramant é o CEO e fundador da Blue Orange Digital, uma agência de ciência de dados e aprendizado de máquina de alto escalão com escritórios em Nova York e Washington DC. Miramant é um palestrante popular, futurista e um consultor estratégico de negócios e tecnologia para empresas e startups. Ele ajuda as organizações a otimizar e automatizar seus negócios, implementar técnicas analíticas baseadas em dados e entender as implicações de novas tecnologias, como inteligência artificial, big data e Internet das Coisas.