BLOG | ESCRITÓRIO DO DIRETOR DE TECNOLOGIA

Como os engenheiros da F5 estão usando a IA para otimizar o software

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 22 de fevereiro de 2022


Há muita publicidade em torno do uso de IA em tudo, desde marketing e recrutamento até operações e segurança. Nossa pesquisa anual indica que a maioria das organizações está ansiosamente de olho na IA em negócios, operações e segurança.

Planos de IA

Nada disso é uma surpresa. Há inúmeras pesquisas indicando uma adoção saudável da IA para dar suporte a uma ampla variedade de funções de negócios e TI.

O que nem sempre é discutido é como a IA está sendo incorporada ao desenvolvimento.

A premissa central do valor da IA para os negócios e a segurança está em sua capacidade de reconhecer padrões e relacionamentos que produzem insights acionáveis. Muitos não consideram o “motor” por trás dessa capacidade, então nunca realmente se aprofundam nos detalhes de quais tecnologias de IA estão sendo usadas para descobrir magicamente insights valiosos.

O aprendizado de máquina é um ramo específico da IA que se concentra na análise e modelagem de dados. Seu uso é aplicável à segurança porque, com tempo e dados suficientes, ele é capaz de identificar padrões que indicam comportamento anômalo em tempo real. Da mesma forma, ele pode encontrar relacionamentos obscuros em dados comerciais que representam oportunidades de comercializar produtos e serviços.

Mas o aprendizado de máquina também se destaca na modelagem; ou seja, na execução de centenas de cenários “e se” para produzir uma melhor compreensão da relação complexa entre múltiplas variáveis. No desenvolvimento — engenharia — essas variáveis podem ser o tamanho dos dados, a memória alocada, a velocidade de E/S, a largura de banda da rede e os parâmetros da máquina virtual. O aprendizado de máquina é bastante flexível e, se você identificar as variáveis, poderá usá-lo para modelar várias combinações dessas variáveis para descobrir um conjunto "ótimo".

Por exemplo, o distinto engenheiro da F5, Laurent Querel, e o Sr. da F5. O arquiteto Sebastien Soudan se uniu e publicou recentemente um artigo descrevendo como eles projetaram um modelo para “construir uma maneira eficiente de obter dados do PubSub para o BigQuery”.

Eles também explicam por que o uso do aprendizado de máquina é uma escolha melhor para otimização de software hoje, e o fizeram tão bem que vou apenas citá-los: 

“Hoje, a otimização de software é um processo iterativo e principalmente manual, em que os profilers são usados para identificar os gargalos de desempenho no código do software. Os profilers medem o desempenho do software e geram relatórios que os desenvolvedores podem revisar e otimizar ainda mais o código. A desvantagem dessa abordagem manual é que a otimização depende da experiência do desenvolvedor e, portanto, é muito subjetiva. É lento, não exaustivo, propenso a erros e suscetível ao preconceito humano. A natureza distribuída dos aplicativos nativos da nuvem complica ainda mais o processo de otimização manual.

Uma abordagem subutilizada e mais global é outro tipo de engenharia de desempenho que depende de experimentos de desempenho e algoritmos de otimização de caixa preta. Mais especificamente, pretendemos otimizar o custo operacional de um sistema complexo com muitos parâmetros.”

Os fatores que impulsionam o uso de IA — especificamente aprendizado de máquina — no desenvolvimento são muito semelhantes aos fatores que impulsionam sua adoção nas operações de TI: os processos manuais são lentos, propensos a erros e suscetíveis ao preconceito humano.

Quando falamos sobre a modernização da TI e a marcha constante em direção a um negócio totalmente digital, isso inclui desenvolvimento/engenharia.

Recomendo a leitura de “ Otimize seus aplicativos usando o Google Vertex AI Vizier ”, mesmo que seja apenas para ter uma ideia do processo de criação de um modelo apropriado e o que aprenderam com a experiência.