Generating Energy-Efficient Code via Large-Language Models -- Where are we now?
2509.10099v1
cs.SE, cs.AI
2025-09-16
Авторы:
Radu Apsan, Vincenzo Stoico, Michel Albonico, Rudra Dhar, Karthik Vaidhyanathan, Ivano Malavolta
Резюме на русском
#### Контекст
С появлением Large Language Models (LLMs), их применение в разработке программного обеспечения стало достаточно широким. Однако вопросы энергоэффективности кода, генерируемого LLMs, остаются открытыми. Эта статья обобщает научные работы, которые исследуют энергоэффективность Python-кода, сгенерированного LLMs, в сравнении с ручной разработкой. Целью является определение текущего состояния LLMs в области создания энергоэффективного кода.
#### Метод
В этом исследовании проводился эмпирический анализ энергоэффективности Python-кода, сгенерированного 6 различными LLMs, используя 4 различных техники подачи запросов. Для сравнения были использованы 363 решения 9 разных задач из задачных наборов EvoEval. Эти решения были сравнивались с ручными решениями, разработанными разработчиками, а также с кодом, созданным экспертом в области эко-программирования. Энергопотребление измерялось на трех различных оборудованиях: сервере, персональном компьютере и Raspberry Pi, что привело к использованию около 881 часов (36.7 дней) вычислительных ресурсов.
#### Результаты
Результаты показали, что ручные решения энергоэффективнее LLMs-генерируемого кода на 16% на сервере и 3% на Raspberry Pi. Тем не менее, на ПК, LLMs показали лучшую энергоэффективность, превосходя ручные решения на 25%. Тем не менее, энергоэффективность LLMs-кода зависит от типа задачи и характеристик оборудования. Например, лучшая энергоэффективность кода была достигнута при использовании конкретных подходов к подаче запросов. Эксперт-разработчик, специализирующийся на эко-программировании, создал код, энергоэффективный на 17%–30% по сравнению с решениями LLMs на всех устройствах.
#### Значимость
LLMs демонстрируют достаточно высокую эффективность в генерировании кода, но ни одно решение не превосходит ручной разработки, особенно в сфере энергоэффективности. Это говорит о необходимости сочетания технологий и экспертного знания для создания энергоэффективных программ. Исследование также открывает пути для дальнейшего исследования в области энергоэффективного кода, в том числе исследования методов повышения энергоэффективности LLMs-кода и создания новых моделей, которые были бы более эффективными в этом направлении.
#### Выводы
LLMs показали свою способность генерировать код, но не могут еще заменить человеческую экспертизу в разработке энергоэффективных решений. Эксперт-разработчик, специализирующийся на эко-программировании, превосходил LLMs на всех платформах. Таким образом, требуется продолжительная работа над улучшением LLMs для более широко
Abstract
Context. The rise of Large Language Models (LLMs) has led to their widespread
adoption in development pipelines. Goal. We empirically assess the energy
efficiency of Python code generated by LLMs against human-written code and code
developed by a Green software expert. Method. We test 363 solutions to 9 coding
problems from the EvoEval benchmark using 6 widespread LLMs with 4 prompting
techniques, and comparing them to human-developed solutions. Energy consumption
is measured on three different hardware platforms: a server, a PC, and a
Raspberry Pi for a total of ~881h (36.7 days). Results. Human solutions are 16%
more energy-efficient on the server and 3% on the Raspberry Pi, while LLMs
outperform human developers by 25% on the PC. Prompting does not consistently
lead to energy savings, where the most energy-efficient prompts vary by
hardware platform. The code developed by a Green software expert is
consistently more energy-efficient by at least 17% to 30% against all LLMs on
all hardware platforms. Conclusions. Even though LLMs exhibit relatively good
code generation capabilities, no LLM-generated code was more energy-efficient
than that of an experienced Green software developer, suggesting that as of
today there is still a great need of human expertise for developing
energy-efficient Python code.
Ссылки и действия
Дополнительные ресурсы: