6 points par GN⁺ 2024-06-30 | 2 commentaires | Partager sur WhatsApp
  • Meta a annoncé une famille de modèles LLM Compiler, développés à partir de Code Llama, dotés de capacités d’optimisation de code et de compilation
  • Ces modèles offrent les fonctions suivantes :
    • Émulation de compilateur
    • Prédiction du meilleur pass pour optimiser la taille du code
    • Désassemblage de code
  • Possibilité de les affiner pour de nouvelles tâches d’optimisation et de compilation

Principales caractéristiques

  • Atteint des résultats de premier plan dans l’optimisation de la taille du code et le désassemblage
  • Démontre que l’IA apprend l’optimisation du code et peut aider les experts en compilation à identifier des opportunités d’optimisation

Publication des modèles

  • Les modèles LLM Compiler 7B et 13B sont publiés sous une licence permissive pour un usage à la fois de recherche et commercial
  • Vise à permettre aux développeurs et aux chercheurs de les exploiter facilement et de mener de nouvelles recherches dans ce domaine

2 commentaires

 
ragingwind 2024-07-01

L’idée a l’air intéressante.

 
GN⁺ 2024-06-30
Réactions sur Hacker News
  • Utiliser un LLM comme compilateur/décompilateur est une application intéressante
  • Pour un compilateur, la fiabilité et la précision sont essentielles
  • Les LLM étant intrinsèquement imprévisibles, il semble étrange de les intégrer dans une pipeline de build
  • L’article entraîne, à partir de CodeLlama, un modèle sur trois tâches
    • La première tâche est la compilation : fournir le code source et les flags du compilateur, puis prédire l’assembleur en sortie
    • La deuxième tâche est la prédiction/l’optimisation des flags du compilateur : optimiser la taille de l’assembleur
    • La troisième tâche est la décompilation : les auteurs affirment qu’elle présente des avantages par rapport aux approches précédentes
  • Il y a un problème de vérifiabilité dans l’approche de décompilation
  • La méthode consiste à recompiler le code décompilé pour en vérifier l’exactitude
  • Avec une précision d’environ 45 %, ce n’est pas encore suffisamment fiable, mais cela pourrait être utile en complément des décompilateurs traditionnels
  • J’aimerais explorer si ce modèle peut être étendu à l’optimisation des performances
  • Il semble probable que davantage de systèmes apparaissent où les LLM fournissent l’intuition et où le traitement se fait de manière mécanique et rigoureuse
  • Je me demande comment vérifier que le LLM préserve bien la sémantique de l’entrée
  • Les travaux précédents peuvent être consultés sur GitHub
  • Twitter a été impressionné par cette recherche, mais estime qu’elle risque fortement de casser des programmes
  • Contrairement à d’autres articles IA de Meta, rien n’indique ici un usage sur Instagram, Facebook ou chez Meta
  • « LLM Compiler » semble être un nom moins précis que « Compiler LLM »
  • Je ne comprends pas bien l’objectif de ce travail
  • Cela me rappelle avoir échangé dans le jeu <i>Deus Ex</i> avec le Neural Optimizer and Disassembler de Meta Technologies