Large Language Models (LLMs), like ChatGPT, have garnered significant media attention and attracted a growing user base. These models can be trained on source code from platforms like GitHub, enabling them to acquire both semantic and syntactic structure of code. As a result, they can assist with various Software Engineering (SE) tasks, ultimately saving software developers valuable time on laborious tasks, such as bug fixing and code writing. Such Code Language Models (CLMs) rely on extensive pre-training corpora, but the sheer scale of these data and models leads to prolonged training times and high energy consumption.
The computational costs associated with training state-of-the-art Machine Learning (ML) and Deep Learning (DL) models increased by a factor of 300,000 between 2012 and 2018, a concerning trend highlighted in various studies. More recent models, like BLOOM, trained on 46 natural and 13 programming languages required more than a million GPU hours, 433,196 kWh of energy, and produced 81 tons of CO2. This surge in computational costs poses challenges for researchers with limited computational resources, and also raises environmental concerns due to the associated CO2 emissions.
Therefore, it is imperative to assess ML model quality and performance not only on metrics such as accuracy, but also on energy consumption. Techniques to improve training efficiency include quantization, model pruning, algorithm optimisation and dataset reduction. Consequently, this project studies a more sustainable training of CLMs following efficient training paradigms, specifically with data refinement techniques, while maintaining competitive performance on SE tasks.