Uno de los aspectos por los que más se preocupa Google es un que apenas vemos mucho: sus centros de datos. En 12 instalaciones repartidas por el mundo están los servidores que nos proporcionan Gmail, el buscador o YouTube y guardan nuestros datos. La compañía de Mountain View se ha preocupado mucho por la eficiencia de estos centros, con técnicas como la refrigeración por agua de mar o haciendo modelos de temperatura.
Sin embargo, donde Google destaca de verdad es en el software, en el mundo de los programas, no en el de las cosas físicas. Y precisamente usando _software_ es como uno de sus ingenieros, Jim Gao, ha abierto la puerta a crear centros de datos mucho más eficientes.
A lo largo de los años, Google ha ido recopilando datos de sus instalaciones, tanto internos (eficiencia energética, carga de los servidores, número de torres de refrigeración y bombas de agua en funcionamiento...) como externos (temperatura ambiente, viento...). A partir de ellos, uno podría tratar de predecir qué efectos va a tener en la eficiencia energética subir la temperatura de los servidores, dar más potencia a las bombas de agua, etc.
La cuestión es, ¿cómo podemos predecir cómo se va a comportar la eficiencia energética (o PUE) con tantos factores que hay en juego? Por ejemplo, no sabemos exactamente cuánto afecta la temperatura exterior al rendimiento de los servidores, que a su vez afecta a la energía que tenemos que dedicar a refrigerar... En definitiva, sería muy difícil crear una fórmula matemática que nos dé la solución y prediga los valores que queramos, ¿no?
La realidad es que no es tan difícil. Un área de la informática, el aprendizaje automático, se dedica precisamente a eso: a enseñar a las máquinas para que "aprendan" cómo funcionan las cosas (en este caso, la eficiencia energética de un centro de datos de Google) y después usen ese "conocimiento" para hacer predicciones.
Jim Gao usó un concepto llamado redes neuronales, basado precisamente en la idea de funcionamiento del cerebro animal. Estas redes están formadas por varias capas de neuronas. Las neuronas reciben una serie de parámetros y pesos que dar a cada uno de ellos y dan como salida un valor numérico acorde, más alto cuanto mayor sea las entradas y más bajo cuanto menor sean.
Por supuesto, esto es una introducción simple y rápida a redes neuronales: para algo más completo recomendaría el primer capítulo de _Neural Networks and Deep Learning_, y, si tiráis más por el lado matemático, este artículo sobre redes neuronales y topología explica cómo funciona, gráficamente, una red neuronal.
Volviendo a lo nuestro. Una vez diseñada la red neuronal con las capas y neuronas por capa que sean, se ejecuta un algoritmo de aprendizaje. En el caso de Google la red recibe como entradas los parámetros del centro de datos, y la salida es la eficiencia energética o PUE. Con cada registro, el algoritmo va adaptando los pesos para que la red tenga la salida deseada (esto es, el PUE que se midió originalmente).
Jim Gao consiguió, con una red de cinco capas y cincuenta neuronas por capa, un modelo que predecía correctamente la eficiencia energética con una precisión del 99,6%.
Aplicando el modelo a la realidad
¿Qué puede hacer Google con un modelo tan preciso? La primera es poder modificar los parámetros de control del centro de datos para ver cómo responde la eficiencia energética sin peligro de dejar fuera de línea servidores o de recibir una factura de la luz más abultada de lo habitual. Por ejemplo, descubrieron que podían subir la temperatura del agua que enviaban para refrigerar los servidores tres grados Fahrenheit (unos 5.4º Celsius) para mejorar la eficiencia de sus centros de datos.
Otro caso curioso es la detección de sensores anómalos. Los ingenieros de Google instalaron sondas para medir el uso de gas natural en sus instalaciones, pero detectaron algo extraño: cuando se usaba gas natural, la eficiencia energética medida se desviaba considerablemente de la que predecía la red neuronal de Jim Gao. Eso les llevó a investigar y darse cuenta de que las sondas no usaban la misma escala y se estaban leyendo los datos de forma incorrecta.
Los modelos de Gao también ayudaron a mantener un alto nivel de eficiencia en situaciones excepcionales. En una mejora de las infraestructuras, los equipos de Google desviarían el 40% del tráfico de un centro de datos para que se pudiesen hacer los cambios necesarios con seguridad. Con la red neuronal no sólo consiguieron mantener la eficiencia energética, sino que la redujeron en 0.02 puntos mientras duraban los trabajos de mejora.
Poco a poco, con estas pequeñas mejoras que cualquiera puede proponer gracias a los modelos de Gao, Google ahorra en energía con poco esfuerzo. Además, no deja de ser una historia curiosa y una buena forma de demostrar las aplicaciones reales que tienen esos conceptos tan etéreos de "aprendizaje automático" o "redes neuronales".
Vía | The Official Google Blog Más información | Machine Learning Applications for Data Center Optimization
Ver 8 comentarios