• Home
  • Química
  • Astronomía
  • Energía
  • Naturaleza
  • Biología
  • Física
  • Electrónica
  • La herramienta predice qué tan rápido se ejecutará el código en un chip

    Crédito:CC0 Public Domain

    Los investigadores del MIT han inventado una herramienta de aprendizaje automático que predice qué tan rápido los chips de computadora ejecutarán el código de varias aplicaciones.

    Para que el código se ejecute lo más rápido posible, los desarrolladores y compiladores (programas que traducen el lenguaje de programación en código legible por máquina) suelen utilizar modelos de rendimiento que ejecutan el código mediante una simulación de arquitecturas de chip determinadas.

    Los compiladores utilizan esa información para optimizar automáticamente el código, y los desarrolladores lo utilizan para abordar los cuellos de botella de rendimiento en los microprocesadores que lo ejecutarán. Pero los modelos de rendimiento para el código de máquina están escritos a mano por un grupo relativamente pequeño de expertos y no están debidamente validados. Como consecuencia, las mediciones de rendimiento simuladas a menudo se desvían de los resultados de la vida real.

    En una serie de ponencias de conferencias, los investigadores describen una novedosa canalización de aprendizaje automático que automatiza este proceso, haciéndolo más fácil, más rápido, y más precisa. En un documento presentado en la Conferencia Internacional sobre Aprendizaje Automático en junio, los investigadores presentaron Ithemal, un modelo de red neuronal que se entrena con datos etiquetados en forma de "bloques básicos" (fragmentos fundamentales de instrucciones informáticas) para predecir automáticamente cuánto tiempo tarda un chip determinado en ejecutar bloques básicos nunca antes vistos. Los resultados sugieren que Ithemal funciona con mucha más precisión que los modelos tradicionales afinados a mano.

    Luego, en el Simposio internacional IEEE de noviembre sobre caracterización de cargas de trabajo, los investigadores presentaron un conjunto de referencia de bloques básicos de una variedad de dominios, incluido el aprendizaje automático, compiladores, criptografía, y gráficos que se pueden utilizar para validar modelos de desempeño. Juntaron más de 300, 000 de los bloques perfilados en un conjunto de datos de código abierto llamado BHive. Durante sus evaluaciones, Ithemal predijo la rapidez con la que los chips Intel ejecutarían el código incluso mejor que un modelo de rendimiento construido por la propia Intel.

    Por último, los desarrolladores y compiladores pueden utilizar la herramienta para generar código que se ejecute de forma más rápida y eficiente en un número cada vez mayor de diseños de chips diversos y de "caja negra". "Los procesadores de computadora modernos son opacos, terriblemente complicado, y difícil de entender. También es increíblemente desafiante escribir código de computadora que se ejecute lo más rápido posible para estos procesadores, "dice el coautor Michael Carbin, profesor asistente en el Departamento de Ingeniería Eléctrica e Informática (EECS) e investigador en el Laboratorio de Ciencias de la Computación e Inteligencia Artificial (CSAIL). "Esta herramienta es un gran paso hacia el modelado completo del rendimiento de estos chips para mejorar la eficiencia".

    Más reciente, en un artículo presentado en la conferencia NeurIPS en diciembre, el equipo propuso una nueva técnica para generar automáticamente optimizaciones del compilador. Específicamente, generan automáticamente un algoritmo, llamado Vemal, que convierte cierto código en vectores, que se puede utilizar para computación en paralelo. Vemal supera a los algoritmos de vectorización hechos a mano utilizados en el compilador LLVM, un compilador popular utilizado en la industria.

    Aprendiendo de los datos

    Diseñar modelos de rendimiento a mano puede ser "un arte negro, "Carbin dice. Intel proporciona una amplia documentación de más de 3, 000 páginas que describen las arquitecturas de sus chips. Pero actualmente existe solo un pequeño grupo de expertos que construirán modelos de desempeño que simulen la ejecución de código en esas arquitecturas.

    "Los documentos de Intel no están libres de errores ni están completos, e Intel omitirá ciertas cosas, porque es propietario, "Dice Mendis". Sin embargo, cuando usas datos, no necesita conocer la documentación. Si hay algo oculto, puede aprenderlo directamente a partir de los datos ".

    Para hacerlo los investigadores registraron el número promedio de ciclos que toma un microprocesador para calcular las instrucciones básicas de los bloques; básicamente, la secuencia de arranque, ejecutar, y cerrar, sin intervención humana. La automatización del proceso permite la creación rápida de perfiles de cientos de miles o millones de bloques.

    Arquitecturas específicas de dominio

    Entrenando, el modelo Ithemal analiza millones de bloques básicos perfilados automáticamente para aprender exactamente cómo las diferentes arquitecturas de chips ejecutarán la computación. En tono rimbombante, Ithemal toma texto sin formato como entrada y no requiere agregar características manualmente a los datos de entrada. En prueba, Ithemal se puede alimentar con bloques básicos nunca antes vistos y un chip dado, y generará un solo número que indica qué tan rápido el chip ejecutará ese código.

    Los investigadores encontraron que Ithemal redujo las tasas de error en la precisión, es decir, la diferencia entre la velocidad predicha y la velocidad del mundo real, en un 50 por ciento con respecto a los modelos tradicionales hechos a mano. Más lejos, en su próximo trabajo, demostraron que la tasa de error de Ithemal era del 10 por ciento, mientras que la tasa de error del modelo de predicción de rendimiento de Intel fue del 20 por ciento en una variedad de bloques básicos en múltiples dominios diferentes.

    La herramienta ahora facilita el aprendizaje rápido de las velocidades de rendimiento para cualquier nueva arquitectura de chip. Dice Mendis. Por ejemplo, arquitecturas específicas de dominio, como la nueva Unidad de procesamiento de tensor de Google utilizada específicamente para redes neuronales, se están construyendo ahora pero no se entienden ampliamente. "Si desea entrenar un modelo en alguna arquitectura nueva, simplemente recopila más datos de esa arquitectura, ejecutarlo a través de nuestro generador de perfiles, usar esa información para entrenar a Ithemal, y ahora tienes un modelo que predice el rendimiento, "Dice Mendis.

    Próximo, los investigadores están estudiando métodos para hacer que los modelos sean interpretables. Gran parte del aprendizaje automático es una caja negra, por lo que no está muy claro por qué un modelo en particular hizo sus predicciones. "Nuestro modelo dice que se necesita un procesador, decir, 10 ciclos para ejecutar un bloque básico. Ahora, estamos tratando de averiguar por qué "Dice Carbin." Ese es un buen nivel de granularidad que sería asombroso para este tipo de herramientas ".

    También esperan utilizar Ithemal para mejorar aún más el rendimiento de Vemal y lograr un mejor rendimiento de forma automática.

    Esta historia se vuelve a publicar por cortesía de MIT News (web.mit.edu/newsoffice/), un sitio popular que cubre noticias sobre la investigación del MIT, innovación y docencia.




    © Ciencia https://es.scienceaq.com