Promouvoir le partage et la durabilité dans la recherche en développement logiciel
Cette étude examine le partage de ressources et la transparence énergétique dans la recherche en ingénierie logicielle.
― 8 min lire
Table des matières
- Objectifs
- Méthodes
- Résultats
- Ingénierie Logicielle Durable
- Utilisation d'Énergie dans les Modèles d'Apprentissage Automatique
- Procédure de Recherche de Littérature
- Aperçu des Résultats
- Consommation d'Énergie des Modèles
- Partage et Efficacité
- Recommandations pour la Recherche Future
- Conclusion
- Travaux Futurs
- Disponibilité des Données
- Source originale
- Liens de référence
Les grands modèles de langage entraînés sur du code informatique peuvent aider pour différentes tâches en développement logiciel. Ils peuvent aider à faire des suggestions de code, corriger des erreurs, et plus encore. Ces modèles ont besoin de beaucoup de données pour bien fonctionner, mais les entraîner prend du temps et consomme beaucoup d’énergie. Quand les chercheurs partagent leur code, ça permet aux autres de l’utiliser sans avoir à passer par le processus coûteux et long d’entraînement des modèles à nouveau.
Le but principal de cette étude est de vérifier combien de papiers de recherche qui entraînent des modèles de langage pour des tâches logicielles partagent vraiment leur Code source et les modèles qu'ils créent. On veut aussi voir à quel point ils sont transparents sur l'énergie qu'ils utilisent pendant l'entraînement.
Objectifs
L'étude vise à explorer deux choses principales :
- La proportion de recherches sur des tâches d'Ingénierie logicielle qui partagent du code et des Modèles entraînés.
- Le niveau de transparence dans le rapport à l’usage d’énergie pendant l’entraînement de ces modèles.
Méthodes
Pour mener cette étude, on a utilisé une méthode appelée "snowballing". Ça veut dire qu'on a commencé avec un petit nombre de papiers de recherche et qu'on a cherché d'autres papiers qui les citaient. On a ensuite collecté tous les papiers qui parlent de modèles de langage pour le code, en se concentrant sur leur réutilisabilité en tenant compte de la Durabilité. De notre recherche, on a trouvé plusieurs études pertinentes qui utilisaient des modèles de langage pour des tâches liées au codage.
On a découvert qu'un petit pourcentage de ces études a rendu leurs modèles et outils disponibles pour réutilisation. On a aussi regardé le matériel utilisé pour entraîner ces modèles, car cela affecte la Consommation d'énergie pendant le développement.
Résultats
Notre recherche a montré que beaucoup d'études ne partagent pas leur code source ni leurs modèles entraînés. Une part significative des papiers qu'on a examinés ne fournissait aucune ressource pour que d'autres puissent reproduire leur travail. On recommande aux chercheurs de partager non seulement leur code source mais aussi les modèles entraînés pour permettre une approche plus durable du développement logiciel.
En plus, ce serait bénéfique que les chercheurs divulguent des détails sur le temps pris pour entraîner leurs modèles et le matériel utilisé. Ces infos sont cruciales pour comprendre l'impact environnemental de leur travail.
Ingénierie Logicielle Durable
L'ingénierie logicielle durable se concentre sur deux aspects principaux : créer des logiciels qui soutiennent des applications écologiques et le faire d'une manière efficace concernant l'utilisation des ressources.
Une approche pour améliorer la durabilité dans le logiciel est de refactoriser le code. Ça veut dire améliorer la structure du code, ce qui peut mener à une meilleure performance et à une consommation d'énergie réduite. Par exemple, il a été prouvé que nettoyer un code mal écrit en Java peut considérablement réduire la consommation d'énergie.
Le modèle GREENSOFT met l'accent sur l'importance de considérer la consommation d'énergie tout au long du cycle de vie du logiciel, depuis son développement jusqu'à son utilisation quotidienne. En utilisant des outils qui automatisent certaines tâches d'ingénierie logicielle, les développeurs peuvent réduire leur charge de travail et l'énergie nécessaire pour maintenir leurs projets.
Utilisation d'Énergie dans les Modèles d'Apprentissage Automatique
L'entraînement des modèles d'apprentissage automatique soulève de plus en plus de préoccupations en raison de leur forte consommation d'énergie. Ces modèles ont souvent besoin de beaucoup de puissance de calcul, ce qui peut entraîner des coûts significatifs et des impacts environnementaux.
Récemment, des efforts ont été entrepris pour encourager des pratiques écoénergétiques dans le développement de systèmes d'apprentissage automatique. Par exemple, les chercheurs prennent maintenant en compte à la fois la précision et la consommation d'énergie lorsqu'ils évaluent la performance des modèles d'apprentissage automatique.
Procédure de Recherche de Littérature
Pour trouver des études pertinentes, on a utilisé une approche systématique. On a commencé avec quatre enquêtes qui couvraient les travaux précédents dans le domaine, ce qui a fourni une base solide pour notre recherche. Après avoir soigneusement lu ces papiers, on a appliqué des critères d'inclusion et d'exclusion pour réduire notre sélection à ceux qui étaient les plus pertinents.
On a minutieusement analysé les études sélectionnées pour la disponibilité du code source et des modèles entraînés. Cela nous a aidés à comprendre combien d'infos étaient partagées et combien de ressources étaient mises à disposition pour réutilisation.
Aperçu des Résultats
D'après notre analyse, on a trouvé qu'une majorité d'études ne partage pas leur code source ni ne fournit de modèles entraînés. Nos résultats indiquent qu'un petit pourcentage de publications a rendu ses ressources disponibles pour d'autres, ce qui représente un écart significatif dans le paysage de la recherche actuel.
On a aussi collecté des infos sur l'entraînement des études qui ont partagé des ressources, ce qui nous a permis de faire des estimations sur les ressources nécessaires pour que d'autres puissent reproduire les expériences.
Consommation d'Énergie des Modèles
En examinant la consommation d'énergie des différents modèles, on a trouvé qu'entraîner des modèles plus grands nécessite généralement plus d'énergie. C'est un aspect crucial à considérer car une forte consommation d'énergie peut avoir des effets environnementaux négatifs.
Les informations partagées dans les études concernant la consommation d'énergie sont souvent limitées, ce qui rend difficile d'avoir une image claire de leur empreinte carbone. Les chercheurs doivent être plus transparents en divulguant la consommation d'énergie associée à l'entraînement de leurs modèles.
Partage et Efficacité
Partager des ressources comme le code source et les modèles entraînés peut mener à une utilisation plus efficace de l'énergie. Par exemple, réutiliser des modèles peut faire économiser une quantité significative d'énergie par rapport à entraîner un modèle depuis zéro. Cette économie est particulièrement vraie pour les gros modèles, où l'entraînement peut prendre des jours voire des semaines.
Cependant, il est aussi important de faire attention à l'effet rebond. Si les modèles sont largement partagés et téléchargés excessivement, l'énergie économisée grâce au partage peut être surpassée par l'énergie consommée lors des téléchargements répétés.
Recommandations pour la Recherche Future
D'après nos résultats, on recommande un ensemble de lignes directrices pour aider les chercheurs à améliorer la durabilité de leur travail. Voici quelques points clés à considérer :
- Définissez clairement le champ de votre recherche et les applications prévues des modèles que vous créez.
- Établissez des métriques transparentes pour la consommation d'énergie et la durabilité afin d'assurer un rapport fiable.
- Fournissez des informations détaillées concernant le matériel et les logiciels utilisés pour l'entraînement.
- Partagez des estimations de consommation d'énergie pour permettre aux autres d'évaluer la durabilité de leur travail.
- Documentez l'empreinte carbone liée à la consommation d'énergie, y compris les sources d'énergie utilisées pendant l'entraînement.
- Considérez d'autres impacts environnementaux, comme le stockage de données et l'infrastructure réseau.
- Promouvez l'accès ouvert à vos données et modèles pour favoriser la collaboration et minimiser les efforts redondants.
Conclusion
Cette étude souligne l'importance de partager des ressources dans le domaine de l'apprentissage automatique pour des tâches d'ingénierie logicielle. En rendant les modèles entraînés et le code source plus accessibles, les chercheurs peuvent aider à promouvoir la durabilité et l'efficacité dans leurs pratiques.
Les résultats soulignent le besoin d'une plus grande transparence dans le rapport à la consommation d'énergie et aux impacts environnementaux du développement de modèles de langage. En suivant les lignes directrices recommandées, les chercheurs peuvent faire des avancées significatives vers une approche plus durable dans leur travail, bénéficiant à la fois à la communauté de recherche et à l'environnement.
Travaux Futurs
Les enquêtes futures pourraient se concentrer sur l'analyse de la façon dont l'utilisation de calculatrices d'énergie dans les papiers de recherche peut améliorer la communication autour de la durabilité. Rassembler des preuves sur les meilleures pratiques de partage de ressources pourrait renforcer l'argument en faveur de pratiques de recherche plus ouvertes et efficaces.
Disponibilité des Données
Pour soutenir la science ouverte et permettre la vérification de notre travail, un aperçu des publications collectées et des informations extraites est rendu disponible.
En résumé, il y a un besoin urgent d'un virage vers des pratiques plus durables dans le développement de modèles de langage pour l'ingénierie logicielle, en mettant l'accent sur le partage de ressources et la divulgation d'informations vitales sur l'utilisation d'énergie et l'impact environnemental.
Titre: An Exploratory Literature Study on Sharing and Energy Use of Language Models for Source Code
Résumé: Large language models trained on source code can support a variety of software development tasks, such as code recommendation and program repair. Large amounts of data for training such models benefit the models' performance. However, the size of the data and models results in long training times and high energy consumption. While publishing source code allows for replicability, users need to repeat the expensive training process if models are not shared. The main goal of the study is to investigate if publications that trained language models for software engineering (SE) tasks share source code and trained artifacts. The second goal is to analyze the transparency on training energy usage. We perform a snowballing-based literature search to find publications on language models for source code, and analyze their reusability from a sustainability standpoint. From 494 unique publications, we identified 293 relevant publications that use language models to address code-related tasks. Among them, 27% (79 out of 293) make artifacts available for reuse. This can be in the form of tools or IDE plugins designed for specific tasks or task-agnostic models that can be fine-tuned for a variety of downstream tasks. Moreover, we collect insights on the hardware used for model training, as well as training time, which together determine the energy consumption of the development process. We find that there are deficiencies in the sharing of information and artifacts for current studies on source code models for software engineering tasks, with 40% of the surveyed papers not sharing source code or trained artifacts. We recommend the sharing of source code as well as trained artifacts, to enable sustainable reproducibility. Moreover, comprehensive information on training times and hardware configurations should be shared for transparency on a model's carbon footprint.
Auteurs: Max Hort, Anastasiia Grishina, Leon Moonen
Dernière mise à jour: 2023-07-05 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2307.02443
Source PDF: https://arxiv.org/pdf/2307.02443
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.