Viabilidade

Durante a fase de ideação e planejamento, você investiga os elementos de uma solução de ML. Durante a tarefa de enquadramento de problema, você enquadra um problema em termos de uma solução de ML. O curso Introdução ao enquadramento de problemas de machine learning apresenta essas etapas em detalhes. Durante a tarefa de planejamento, você estima a viabilidade de uma solução, planeja abordagens e define métricas de sucesso.

Embora o ML possa ser uma solução teoricamente boa, você ainda precisa estimar a viabilidade no mundo real. Por exemplo, uma solução pode funcionar tecnicamente, mas ser impraticável ou impossível de implementar. Os seguintes fatores influenciam a viabilidade de um projeto:

  • Disponibilidade de dados
  • Dificuldade do problema
  • Qualidade da previsão
  • Requisitos técnicos
  • Custo

Disponibilidade de dados

A qualidade dos modelos de ML depende dos dados usados no treinamento. Elas precisam de muitos dados para fazer previsões de alta qualidade. As perguntas a seguir podem ajudar você a julgar se tem os dados necessários para treinar um modelo:

  • Quantidade. É possível ter dados de alta qualidade suficientes para treinar um modelo? Os exemplos rotulados são escassos, difíceis de conseguir ou muito caros? Por exemplo, receber rótulos médicos de imagens ou traduções de idiomas raros é difícil. Para fazer boas previsões, os modelos de classificação exigem vários exemplos para cada rótulo. Se o conjunto de dados de treinamento tiver exemplos limitados para alguns rótulos, o modelo não poderá fazer boas previsões.

  • Disponibilidade do recurso no momento da veiculação. Todos os atributos usados no treinamento estarão disponíveis no momento da disponibilização? As equipes passaram um tempo considerável treinando modelos apenas para perceber que alguns recursos só ficaram disponíveis alguns dias depois de serem necessários para o modelo.

    Por exemplo, suponha que um modelo preveja se um cliente clicará em um URL, e um dos recursos usados no treinamento incluem user_age. No entanto, quando o modelo disponibiliza uma previsão, user_age não estará disponível, talvez porque o usuário ainda não tenha criado uma conta.

  • Regulamentos. Quais são os regulamentos e requisitos legais para adquirir e usar os dados? Por exemplo, alguns requisitos definem limites para o armazenamento e o uso de certos tipos de dados.

IA generativa

Modelos de IA generativa pré-treinados geralmente exigem conjuntos de dados selecionados para se destacarem em tarefas específicas de um domínio. Serão necessários conjuntos de dados para os seguintes casos de uso:

  • Engenharia de prompts, ajuste eficiente de parâmetros e ajustes. Dependendo do caso de uso, podem ser necessários entre 10 e 10.000 exemplos de alta qualidade para refinar ainda mais a saída de um modelo. Por exemplo, se um modelo precisar ser ajustado para se destacar em uma tarefa específica, como responder a perguntas médicas, você precisará de um conjunto de dados de alta qualidade que represente os tipos de perguntas que serão feitas, junto com os tipos de respostas com que ele deve responder.

    A tabela a seguir mostra estimativas do número de exemplos necessários para refinar a saída de um modelo de IA generativa para determinada técnica:

  • Técnica Número de exemplos obrigatórios
    Comandos zero-shot 0
    Comandos few-shot Cerca de 10 s a 100 s
    Ajuste da eficiência dos parâmetros 1 Cerca de 100 a 10.000 s
    Ajuste de detalhes Cerca de 1.000 a 10.000 s (ou mais)
    1 Adaptação de classificação baixa (LoRA, na sigla em inglês) e ajuste de comandos.
  • Informações atualizadas. Depois de pré-treinados, os modelos de IA generativa têm uma base de conhecimento fixa. Se o conteúdo no domínio do modelo mudar com frequência, você vai precisar de uma estratégia para manter o modelo atualizado, por exemplo:

Dificuldade do problema

A dificuldade de um problema pode ser difícil de estimar. O que inicialmente parece ser uma abordagem plausível pode vir a ser uma pergunta de pesquisa aberta. O que parece prático e viável pode acabar sendo irrealista ou imprevisível. As respostas às seguintes perguntas podem ajudar a avaliar a dificuldade de um problema:

  • Algum problema semelhante já foi resolvido? Por exemplo, as equipes da organização usaram dados semelhantes (ou idênticos) para criar modelos? Pessoas ou equipes fora da sua organização resolveram problemas semelhantes, por exemplo, na Kaggle ou no TensorFlow Hub? Nesse caso, é provável que você possa usar partes do modelo deles para criar o seu.

  • A natureza do problema é difícil? Conhecer as comparações humanas para a tarefa pode informar o nível de dificuldade do problema. Exemplo:

    • Os humanos conseguem classificar o tipo de animal em uma imagem com cerca de 95% de precisão.
    • Os humanos conseguem classificar dígitos manuscritos com cerca de 99% de precisão.

    Os dados anteriores sugerem que criar um modelo para classificar animais é mais difícil do que criar um modelo para classificar dígitos escritos à mão.

  • Existem usuários de má-fé em potencial? As pessoas vão tentar explorar seu modelo ativamente? Nesse caso, você estará em uma corrida constante para atualizar o modelo antes que ele possa ser usado indevidamente. Por exemplo, os filtros de spam não conseguem detectar novos tipos de spam quando alguém explora o modelo para criar e-mails que parecem legítimos.

IA generativa

Os modelos de IA generativa têm possíveis vulnerabilidades que podem aumentar a dificuldade de um problema:

  • Origem de entrada. De onde virá a entrada? Os comandos maliciosos podem vazar dados de treinamento, material do preâmbulo, conteúdo do banco de dados ou informações da ferramenta?
  • Uso de saída. Como as saídas serão usadas? O modelo vai gerar conteúdo bruto ou haverá etapas intermediárias que testam e verificam se é adequado? Por exemplo, fornecer uma saída bruta para plug-ins pode causar uma série de problemas de segurança.
  • Ajuste. O ajuste com um conjunto de dados corrompido pode afetar negativamente os pesos do modelo. Essa corrupção faria com que o modelo gerasse conteúdo incorreto, tóxico ou enviesado. Conforme observado anteriormente, o ajuste exige um conjunto de dados que tenha sido verificado para conter exemplos de alta qualidade.

Qualidade da previsão

Considere cuidadosamente o impacto que as previsões de um modelo terão nos usuários e determine a qualidade de previsão necessária para o modelo.

A qualidade necessária depende do tipo de previsão. Por exemplo, a qualidade de previsão exigida para um sistema de recomendação não será a mesma para um modelo que sinaliza violações da política. Recomendar o vídeo errado pode criar uma experiência ruim para o usuário. No entanto, sinalizar incorretamente um vídeo por violar as políticas de uma plataforma pode gerar custos de suporte ou, pior, taxas legais.

Seu modelo precisará ter uma qualidade de previsão muito alta porque previsões erradas são extremamente caras? Geralmente, quanto maior a qualidade de previsão necessária, mais difícil é o problema. Infelizmente, os projetos geralmente alcançam retornos decrescentes à medida que você tenta melhorar a qualidade. Por exemplo, aumentar a precisão de um modelo de 99,9% para 99,99% pode significar um aumento de 10 vezes no custo do projeto (se não mais).

À medida que a qualidade da previsão aumenta, o mesmo acontece com os custos do projeto.

Figura 2. Um projeto de ML normalmente requer cada vez mais recursos à medida que a qualidade de previsão necessária aumenta.

IA generativa

Ao analisar as saídas da IA generativa, considere o seguinte:

  • Precisão real. Embora os modelos de IA generativa possam produzir conteúdos fluentes e coerentes, não é garantido que sejam factuais. As declarações falsas de modelos de IA generativa são chamadas de confabulações. Por exemplo, os modelos de IA generativa podem confabular e produzir resumos incorretos de textos, respostas erradas a perguntas matemáticas ou declarações falsas sobre o mundo. Muitos casos de uso ainda exigem verificação humana da saída da IA generativa antes de serem usados em um ambiente de produção, por exemplo, código gerado por LLM.

    Assim como o ML tradicional, quanto maior o requisito de precisão factual, maior o custo de desenvolvimento e manutenção.

  • Qualidade de saída. Quais são as consequências jurídicas e financeiras (ou implicações éticas) de resultados ruins, como conteúdo tendencioso, plágio ou tóxico?

Requisitos técnicos

Os modelos têm uma série de requisitos técnicos que afetam a viabilidade. Veja a seguir os principais requisitos técnicos que você precisará atender para determinar a viabilidade do projeto:

  • Latência. Quais são os requisitos de latência? Com que rapidez as previsões precisam ser entregues?
  • Consultas por segundo (QPS). Quais são os requisitos de QPS?
  • Uso da RAM. Quais são os requisitos de RAM para treinamento e disponibilização?
  • Plataforma. Onde o modelo será executado: on-line (consultas enviadas ao servidor de RPC), WebML (dentro de um navegador da Web), ODML (em um smartphone ou tablet) ou off-line (previsões salvas em uma tabela)?
  • Interpretabilidade. As previsões precisam ser interpretáveis? Por exemplo, seu produto vai precisar responder a perguntas como "Por que um conteúdo específico foi marcado como spam?" ou "Por que um vídeo viola a política da plataforma?".

  • Frequência de treinamento. Quando os dados do modelo mudam rapidamente, pode ser necessário fazer um novo treinamento frequente ou contínuo. No entanto, o retreinamento frequente pode gerar custos significativos que superam os benefícios da atualização das previsões do modelo.

Na maioria dos casos, você provavelmente terá que comprometer a qualidade de um modelo para aderir às especificações técnicas dele. Nesses casos, é preciso determinar se ainda é possível produzir um modelo bom o suficiente para ir para a produção.

IA generativa

Considere os seguintes requisitos técnicos ao trabalhar com IA generativa:

  • Plataforma. Muitos modelos pré-treinados vêm em uma variedade de tamanhos, permitindo que funcionem em várias plataformas com diferentes recursos computacionais. Por exemplo, os modelos pré-treinados podem variar de escalonamento de data center até ajuste em um smartphone. Considere as restrições de latência, privacidade e qualidade do seu produto ou serviço ao escolher o tamanho do modelo. Muitas vezes, essas restrições podem entrar em conflito. Por exemplo, as restrições de privacidade podem exigir que as inferências sejam executadas no dispositivo de um usuário. No entanto, a qualidade de saída pode ser ruim porque o dispositivo não tem os recursos computacionais para produzir bons resultados.
  • Latência. O tamanho da entrada e da saída do modelo afeta a latência. Em particular, o tamanho da saída afeta a latência mais do que o tamanho da entrada. Os modelos podem carregar as entradas em paralelo, mas eles só podem gerar saídas em sequência. Em outras palavras, a latência pode ser a mesma para ingerir uma entrada de 500 ou 10 palavras, enquanto a geração de um resumo de 500 palavras leva muito mais tempo do que a de 10 palavras.
  • Uso de ferramentas e APIs. O modelo vai precisar usar ferramentas e APIs, como pesquisar na Internet, usar uma calculadora ou acessar um cliente de e-mail para concluir uma tarefa? Normalmente, quanto mais ferramentas são necessárias para concluir uma tarefa, maiores são as chances de propagação de erros e aumento das vulnerabilidades do modelo.

Custo

A implementação de ML vai valer o custo dela? A maioria dos projetos de ML não será aprovada se a solução de ML for mais cara para implementar e manter do que o dinheiro gerado (ou economizado). Os projetos de ML geram custos humanos e de máquina.

  • Custos humanos. Quantas pessoas são necessárias para que o projeto passe da prova de conceito à produção? À medida que projetos de ML evoluem, as despesas normalmente aumentam. Por exemplo, projetos de ML exigem que mais pessoas implantem e mantenham um sistema pronto para produção do que para criar um protótipo. Tente estimar o número e os tipos de papéis que o projeto precisará em cada fase.

  • Custos da máquina. Treinar, implantar e manter modelos requer muita computação e memória. Por exemplo, talvez você precise da cota de TPU para treinar modelos e disponibilizar previsões, além da infraestrutura necessária para o pipeline de dados. Talvez seja necessário pagar para ter dados rotulados ou pagar taxas de licenciamento de dados. Antes de treinar um modelo, estime os custos da máquina para criar e manter atributos de ML a longo prazo.

  • Custo de inferência. O modelo precisará fazer centenas ou milhares de inferências que custam mais do que a receita gerada?

Observação importante

Encontrar problemas relacionados a qualquer um dos tópicos anteriores pode tornar a implementação de uma solução de ML um desafio, mas prazos apertados podem ampliar os desafios. Tente planejar e orçar tempo suficiente com base na dificuldade percebida do problema e tente reservar um tempo de sobrecarga ainda maior do que para um projeto que não seja de ML.