BLOG | OFICINA DEL CTO

Cómo los ingenieros de F5 utilizan la IA para optimizar el software

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 22 de febrero de 2022


Hay mucho entusiasmo en torno al uso de la IA en todo, desde el marketing hasta el reclutamiento, las operaciones y la seguridad. Nuestra investigación anual indica que la mayoría de las organizaciones están considerando con interés la IA en las áreas de negocios, operaciones y seguridad.

Planes de IA

Nada de esto es una sorpresa. Hay encuestas tras encuestas que indican una adopción saludable de la IA para respaldar una amplia variedad de funciones comerciales y de TI.

De lo que no siempre se habla es de cómo se está incorporando la IA al desarrollo.

La premisa central del valor de la IA para los negocios y la seguridad radica en su capacidad de reconocer patrones y relaciones que producen información útil. Muchos no consideran el “motor” detrás de esa capacidad, por lo que nunca profundizan en los detalles de qué tecnologías de IA se están utilizando para descubrir mágicamente información valiosa.

El aprendizaje automático es una rama específica de la IA que se centra en el análisis y modelado de datos. Su uso es aplicable a la seguridad porque, con suficiente tiempo y datos, es capaz de identificar patrones que indican un comportamiento anómalo en tiempo real. De manera similar, puede encontrar relaciones oscuras en datos comerciales que representan oportunidades para comercializar productos y servicios.

Pero el aprendizaje automático también se destaca en el modelado, es decir, en la ejecución de cientos de escenarios hipotéticos para producir una mejor comprensión de la compleja relación entre múltiples variables. En el desarrollo (ingeniería), esas variables podrían ser el tamaño de los datos, la memoria asignada, la velocidad de E/S, el ancho de banda de la red y los parámetros de la máquina virtual . El aprendizaje automático es bastante flexible y, si identificas las variables, puedes usarlo para modelar varias combinaciones de esas variables para descubrir un conjunto "óptimo".

Por ejemplo, el ingeniero distinguido de F5 Laurent Querel y el Sr. El arquitecto Sébastien Soudan se asoció con ellos y publicó recientemente un artículo que describe cómo diseñaron un modelo para "construir una forma eficiente de obtener datos de PubSub a BigQuery".

También explican por qué el uso del aprendizaje automático es una mejor opción para optimizar el software hoy en día, y lo hicieron tan bien que simplemente los voy a citar: 

“Hoy en día, la optimización de software es un proceso iterativo y mayoritariamente manual en el que se utilizan perfiladores para identificar los cuellos de botella de rendimiento en el código de software. Los perfiladores miden el rendimiento del software y generan informes que los desarrolladores pueden revisar y optimizar aún más el código. La desventaja de este enfoque manual es que la optimización depende de la experiencia del desarrollador y, por lo tanto, es muy subjetiva. Es lento, no exhaustivo, propenso a errores y susceptible al sesgo humano. La naturaleza distribuida de las aplicações nativas de la nube complica aún más el proceso de optimización manual.

Un enfoque subutilizado y más global es otro tipo de ingeniería de rendimiento que se basa en experimentos de rendimiento y algoritmos de optimización de caja negra. “Más específicamente, nuestro objetivo es optimizar el coste operativo de un sistema complejo con muchos parámetros”.

Los factores que impulsan el uso de IA (específicamente el aprendizaje automático) en el desarrollo son muy similares a los factores que impulsan su adopción en las operaciones de TI: los procesos manuales son lentos, propensos a errores y susceptibles a sesgos humanos.

Cuando hablamos de la modernización de TI y la marcha constante hacia un negocio totalmente digital, eso incluye el desarrollo/ingeniería.

Recomiendo leer “ Optimice sus aplicações con Google Vertex AI Vizier ”, aunque sea solo para tener una idea del proceso de diseño de un modelo apropiado y lo que aprendieron de su experiencia.