Por Eduardo Cesar Garrido Merchán
Profesor de Métodos Cuantitativos, Universidad Pontificia Comillas.
Pincha aquí para ver el vídeo sobre este post
Si has estado siguiendo nuestra serie, ya sabes cuándo y cómo usar la optimización Bayesiana. ¡Te estás volviendo todo un experto! Sin embargo, como mencioné al principio, la optimización Bayesiana no es solo un algoritmo, sino una clase de métodos. Esto significa que hay muchos más escenarios en los que podemos aplicar la optimización Bayesiana, más allá del que ya hemos discutido sobre optimizar una función. ¿Te gustaría descubrir cuáles son? ¡Vamos a ello!
En el aprendizaje automático, hay muchos objetivos importantes además del rendimiento predictivo de un modelo. Por ejemplo, podríamos utilizar la optimización Bayesiana para determinar el mejor número de neuronas para minimizar el error de un modelo. Sin embargo, hay muchos otros objetivos igualmente importantes. Algunos ejemplos incluyen el tiempo de predicción del modelo, crucial para aplicaciones en tiempo real como el transporte o las redes sociales. También está la optimización del tamaño del modelo, especialmente relevante en la era de los modelos de lenguaje extensos. Si los modelos fueran más pequeños, podrían ser entrenados y desplegados más fácilmente en los servidores de las organizaciones. Otro ejemplo importante es el consumo energético, fundamental para ser responsables con el medio ambiente.
El verdadero desafío no es optimizar cada objetivo individualmente, sino hacerlo de manera conjunta. Esto no es sencillo porque los objetivos suelen ser contradictorios. Si una configuración mejora un objetivo, es probable que otro empeore. Por ejemplo, en redes neuronales, un mayor número de capas puede reducir el error de predicción, pero aumentará el tiempo de predicción, lo cual puede ser inviable para aplicaciones en tiempo real. En lugar de buscar una configuración óptima única, buscamos un conjunto de configuraciones que representen el mejor equilibrio entre varios objetivos. A este conjunto se le llama «conjunto de Pareto», y los valores de los objetivos en este conjunto se denominan «frontera de Pareto». En la optimización Bayesiana multi-objetivo, el objetivo es encontrar la frontera de Pareto óptima. La configuración final del conjunto de Pareto que se elige depende del usuario final y sus preferencias, utilizando la teoría de la decisión. Existen muchos más escenarios en los que se puede aplicar la optimización Bayesiana, además del problema multi-objetivo. Un ejemplo actual es cuando se puede evaluar no solo una configuración recomendada, sino un conjunto de configuraciones simultáneamente, como en un clúster de computación. En este caso, la optimización Bayesiana debe recomendar un conjunto de puntos que, en promedio, reduzcan más la incertidumbre del problema, añadiendo una dificultad metodológica extra pero haciendo el proceso mucho más eficiente en la práctica.
Desde su exitoso uso en 2012 para la optimización de hiperparámetros de modelos de aprendizaje automático, la optimización Bayesiana ha crecido para abarcar innumerables escenarios. Algunos de ellos incluyen situaciones donde ciertas configuraciones deben cumplir restricciones obligatorias, como evitar sesgos en los modelos de lenguaje. Otro ejemplo es el uso de distintas fidelidades, donde no siempre se entrena una red neuronal al máximo en cada iteración, sino con menos épocas para hacer el proceso más eficiente.