Fundamentos de IA

Soluções de Aprendizado de Máquina Prontas para Uso contra Modelos Personalizados?

mm
Adicione Unite.AI às suas fontes preferidas no Google

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 do 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 de dados, preparação e visualização, 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á que será uma solução implementada personalizada, escrita e desenvolvida do zero? Ou será que 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 personalizados ou prontos para uso?

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 significativos de pré-processamento, desde a coleta de dados até a rotulagem, limpeza e pré-processamento. Este é o conhecido erro 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 tensões e dores dos 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 é: as soluções prontas para uso existem para todas as etapas do 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 certa etapa de ML para as especificidades do problema sendo resolvido. Um conjunto de dados especialmente sujo pode exigir regras de limpeza personalizadas. 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, as 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 concentrarão 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 em produção. Nessa perspectiva, as soluções personalizadas e os esforços de tempo são diretamente proporcionais: quanto mais complexa a solução, mais tempo ela exigirá.

No entanto, geralmente a verdade está no meio: uma base de código existente será reorganizada e adaptada às necessidades do projeto atual. Tal é o caso da conhecida abordagem de transferência de aprendizado para treinamento de modelos.

Expertise

Assim como existem múltiplos níveis em que o Aprendizado de Máquina é realizado, 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 ML. Embora essa abordagem simples de desenvolvimento de modelos possa funcionar para fins de prototipagem, é improvável que atenda aos requisitos dos sistemas de produção.

A 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 evitar: a expertise é definitivamente necessária. Dependendo do tamanho da empresa e dos objetivos do projeto, equipes multidisciplinares podem ser necessárias para manter os sistemas de produção. Cientistas de dados, engenheiros de ML e analistas de negócios se reúnem para dar sentido aos resultados da inferência e manter os 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á composta por muitos componentes e serviços individuais que precisam se unir como uma solução coesa. Nunca é sobre ir 100% personalizado ou 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 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, com soluções baseadas em dados para Cadeia de Suprimentos, Automação de Documentos de Saúde, e muito mais.

Você também pode gostar:

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

Como o Processamento de Linguagem está sendo Aprimorado através do Modelo BERT de Código Aberto do Google (GOOGL )

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.