Los investigadores utilizan el aprendizaje automático para crear un nuevo codificador automático variacional discreto para mejorar automáticamente la eficiencia del código

Estás leyendo la publicación: Los investigadores utilizan el aprendizaje automático para crear un nuevo codificador automático variacional discreto para mejorar automáticamente la eficiencia del código

Escribir código computacionalmente eficiente es una habilidad que todos han querido dominar desde que escribieron Hello World por primera vez en sus computadoras. Afortunadamente, los investigadores de Google y Georgia Tech han encontrado una manera de facilitar la vida de todos los codificadores (especialmente los desarrolladores de software) a través de su modelo de aprendizaje automático diseñado para que los programadores identifiquen múltiples opciones para un código que tenga una mayor eficiencia computacional. Entonces, ahora, el programa producirá resultados más rápido que el código original, lo que es un paso adelante en la automatización del proceso. Este modelo contiene un marco que aplica múltiples transformaciones categóricas en un solo programa utilizando un nuevo codificador variacional discreto (siempre cambiante). El lenguaje utilizado aquí por los desarrolladores para estudiar el código es Python, ya que solo quieren explorar las complejidades del código, y el conjunto de datos de los problemas de codificación utilizados se toma de la competencia internacional de programación competitiva Google Code Jam. Estas soluciones hacen que el código producido sea más eficiente que el código del desarrollador.

El objetivo es crear un algoritmo que pueda ayudar a los desarrolladores a comprender múltiples variantes de código que sean más eficientes desde el punto de vista computacional. El éxito del algoritmo se basa en tres condiciones y la primera es que las sugerencias proporcionadas, aunque no sean perfectas, deben ser sintácticamente similares y lógicamente comprensibles. La segunda condición establece que el modelo debería ser más eficiente computacionalmente, para lo cual los investigadores se basaron en la similitud textual entre el código del modelo y el código de la base de datos con mayor eficiencia. Al mismo tiempo, la tercera condición establece que para un código ideal, el modelo debe generar tantas variaciones diferentes como sea posible del código original. El proceso de creación de código eficiente ocurre en 2 pasos. En el primer paso, se entrena a un transformador en el código optimizado de línea de base provisto para que el modelo pueda proporcionar altos niveles de sugerencias de lenguaje natural. Las pistas pretenden ser mucho más altas que las versiones anteriores del modelo. A través del conjunto de datos, se vio que hay múltiples categorías discretas para mejorar el código. Por lo tanto, la propuesta fue utilizar un autocodificador variacional discreto (siempre cambiante) para aprender estas categorías de forma no supervisada. Los investigadores también querían editar el código para que cada tipo de edición aprendida que se debe realizar en el código represente un cambio local o conceptual.

🔥 Recomendado:  Cómo establecer la cantidad mínima de pedido en Magento 2

Todos los modelos se implementan en Jax y los datos se entrenan con una tasa de aprendizaje de .01. Todos los modelos se entrenan con un tamaño de lote de 16 para 100 épocas usando un método de entrenamiento paralelo en 64 núcleos de Google TPU y 16 máquinas host. Después del proceso de entrenar los datos y luego dar las sugerencias como resultado del modelo, cuando analizamos los resultados, encontramos que las ediciones que se describen en el párrafo anterior a menudo son responsables de un cambio sintáctico. Podemos tomar diferentes transformaciones en el mismo programa variando el código latente. Si el código variable ha aprendido a aplicar los cambios, se ve que el código que tardó en proporcionar los resultados ahora proporciona resultados más rápidos.

En conclusión, este modelo es un paso concreto hacia la automatización de optimizaciones de código que ahorrará mucho tiempo y horas-persona relacionadas con la optimización de código. A medida que el futuro avanza hacia los modelos de aprendizaje automático que pueden escribir código, es esencial centrarse en la optimización del código, ya que el código más lento contribuye al costo, pero también a la huella de carbono de la empresa. A través de este modelo, estamos un paso más cerca de reducir un poco la huella de carbono de las computadoras.

Este artículo está escrito como un artículo de resumen de investigación por el personal de Marktechpost basado en el trabajo de investigación Preprint ‘APRENDER A MEJORAR LA EFICIENCIA DEL CÓDIGO‘. Todo el crédito de esta investigación es para los investigadores de este proyecto. Revisar la papel y artículo de referencia.

Por favor no olvides unirte Nuestro subreddit de ML

Echa un vistazo a https://aitoolsclub.com para encontrar 100 de Cool AI Tools