2025-11-15T16:58:11.980929

Prompt engineering and its implications on the energy consumption of Large Language Models

Rubei, Moussaid, di Sipio et al.
Reducing the environmental impact of AI-based software systems has become critical. The intensive use of large language models (LLMs) in software engineering poses severe challenges regarding computational resources, data centers, and carbon emissions. In this paper, we investigate how prompt engineering techniques (PETs) can impact the carbon emission of the Llama 3 model for the code generation task. We experimented with the CodeXGLUE benchmark to evaluate both energy consumption and the accuracy of the generated code using an isolated testing environment. Our initial results show that the energy consumption of LLMs can be reduced by using specific tags that distinguish different prompt parts. Even though a more in-depth evaluation is needed to confirm our findings, this work suggests that prompt engineering can reduce LLMs' energy consumption during the inference phase without compromising performance, paving the way for further investigations.
academic

Инженерия подсказок и её влияние на энергопотребление больших языковых моделей

Основная информация

  • ID статьи: 2501.05899
  • Название: Prompt engineering and its implications on the energy consumption of Large Language Models
  • Авторы: Riccardo Rubei, Aicha Moussaid, Claudio Di Sipio, Davide Di Ruscio (Университет L'Aquila)
  • Классификация: cs.SE (Программная инженерия)
  • Дата публикации: 10 января 2025 г.
  • Ссылка на статью: https://arxiv.org/abs/2501.05899

Аннотация

На фоне растущего внимания к экологическому воздействию систем искусственного интеллекта интенсивное использование больших языковых моделей (LLM) в программной инженерии создаёт серьёзные проблемы с вычислительными ресурсами, центрами обработки данных и выбросами углерода. В данной работе исследуется, как методы инженерии подсказок (PETs) влияют на выбросы углерода модели Llama 3 при выполнении задач генерации кода. Исследование использует эталонный набор CodeXGLUE для оценки энергопотребления и точности сгенерированного кода в изолированной тестовой среде. Предварительные результаты показывают, что использование специальных меток для различения различных частей подсказки может снизить энергопотребление LLM. Хотя требуется более глубокая оценка для подтверждения результатов исследования, данная работа демонстрирует, что инженерия подсказок может снизить энергопотребление на этапе вывода LLM без влияния на производительность.

Исследовательский контекст и мотивация

Определение проблемы

Основной вопрос, который решает данное исследование: Как можно использовать методы инженерии подсказок для снижения энергопотребления больших языковых моделей на этапе вывода, сохраняя при этом производительность задач генерации кода?

Анализ значимости

  1. Экологическое воздействие: Процессы обучения и вывода LLM потребляют значительные вычислительные ресурсы, создавая заметный углеродный след. Например, выбросы углерода некоторых моделей эквивалентны пожизненным выбросам пяти автомобилей
  2. Проблемы с ресурсами: LLM требуют высокопроизводительных вычислительных кластеров, процесс обучения может длиться недели или месяцы
  3. Сложность оценки: Измерение энергопотребления в среде HPC особенно сложно из-за параллельных задач и неэксклюзивного использования кластера
  4. Отсутствие стандартов: Даже хорошо поддерживаемые эталонные рейтинги LLM не сообщают об энергопотреблении, сосредоточиваясь только на метриках точности

Ограничения существующих подходов

  1. Существующие исследования в основном сосредоточены на измерении воздействия на уровне оборудования, отсутствует систематическое исследование энергосберегающего эффекта методов инженерии подсказок
  2. Отсутствуют стандартизированные руководства по измерению выбросов углерода и информация о них
  3. Оценка потребления LLM сложна из-за более высокой вариативности сгенерированного кода

Исследовательская мотивация

На основе потребностей развития зелёной программной инженерии (GSE) данная работа сосредоточена на использовании методов инженерии подсказок для смягчения энергопотребления LLM на этапе вывода, предлагая новые решения для устойчивого развития систем искусственного интеллекта.

Основные вклады

  1. Первое систематическое исследование: Изучение влияния различных методов инженерии подсказок и пользовательских меток на энергопотребление LLM при выполнении задач завершения кода
  2. Анализ компромиссов: Исследование взаимосвязи между выбросами углерода, временем выполнения и точностью сгенерированного кода, изучение баланса между энергоэффективностью и точностью модели
  3. Экспериментальные результаты: Доказательство того, что использование пользовательских меток может значительно снизить энергопотребление (на 99% при one-shot, на 83% при few-shots)
  4. Вклад в открытый исходный код: Предоставление полного пакета для воспроизведения, способствующего дальнейшим исследованиям в этой области

Подробное описание методологии

Определение задачи

Задача: Завершение кода (Code Completion)

  • Входные данные: Неполный фрагмент кода на Java
  • Выходные данные: Одна строка кода для завершения фрагмента
  • Ограничения: Минимизация энергопотребления при сохранении точности

Архитектура эксперимента

Исследование разработало полный рабочий процесс эксперимента:

  1. Источник данных: Набор данных CodeXGLUE
  2. Генератор подсказок: Преобразование входных данных в формат, понятный Llama 3
  3. Усилитель подсказок: Усиление подсказок с использованием пользовательских меток
  4. Локально развёрнутая Llama 3: Выполнение задач завершения кода
  5. Мониторинг энергопотребления: Использование инструмента CodeCarbon для мониторинга каждого выполнения
  6. Хранилище результатов: Сохранение задач, ответов и результатов измерений

Проектирование конфигураций подсказок

Исследование определило 5 различных конфигураций подсказок:

C0 - Конфигурация по умолчанию:

  • Определение роли модели, предоставление неполного фрагмента кода без каких-либо пользовательских настроек
  • Zero-shot без примеров, one-shot с одним примером, few-shots с пятью примерами

C1 - Пользовательские метки без объяснения:

{
  "role": "user",
  "content": "<code>package com.lmax.disruptor.support;</code><incomplete>public final</incomplete>"
}

C2 - Пользовательские метки с объяснением: Встраивание объяснения значения пользовательских меток в подсказку

C3 - Пользовательские подсказки в роли системы: Размещение объяснения меток в части роли системы

C4 - Без определения системы: Полное отсутствие определения роли системы, включение описания задачи непосредственно в пользовательскую подсказку

Технические инновации

  1. Система пользовательских меток: Введение меток <code> и <incomplete> для явного различения входного кода и части, требующей завершения
  2. Многомерная оценка: Одновременное рассмотрение метрик энергопотребления, времени выполнения и точности
  3. Комбинирование количественных методов: Использование 16-битных чисел с плавающей точкой вместо стандартных 32-битных для снижения вычислительных затрат
  4. Изолированная тестовая среда: Обеспечение точности и воспроизводимости измерений

Экспериментальная установка

Набор данных

  • Набор данных: Задача завершения кода CodeXGLUE
  • Масштаб: 1000 случайно выбранных неполных фрагментов кода на Java
  • Причина выбора: Специально разработан для задач LLM, связанных с кодом, поддерживает прямое сравнение с эталонными значениями

Метрики оценки

Метрики энергоэффективности:

  • Энергопотребление: Потребление энергии GPU (кВт⋅ч), рассчитанное CodeCarbon
  • Время выполнения: Продолжительность этапа вывода (секунды), исключая время загрузки модели

Метрики точности:

  • Расстояние редактирования: Использование расстояния Левенштейна для расчёта сходства с эталонным значением
  • Точное совпадение: Случаи, когда расстояние редактирования ≤ 2, рассматриваются как точное совпадение (с учётом случайных символов в выходных данных LLM)

Методы сравнения

  • Базовые методы: Три стандартных метода инженерии подсказок (zero-shot, one-shot, few-shots)
  • Улучшенные методы: Пять конфигураций пользовательских меток

Детали реализации

  • Модель: Llama 3 8B-Instruct (квантованная версия)
  • Оборудование: AMD Ryzen 7 5800X CPU + Nvidia RTX 4060 TI (8 ГБ)
  • Операционная система: Xubuntu 23.04
  • Количество повторений: Каждый тест повторялся 5 раз с интервалом 10 секунд между тестами
  • Общее время выполнения: Более 250 часов

Результаты экспериментов

Основные результаты

RQ1: Влияние пользовательских меток на энергоэффективность

Результаты энергопотребления показывают значительное улучшение:

  • Zero-shot: Снижение с 0,0000157 кВт⋅ч до 0,0000146 кВт⋅ч в конфигурации C2 (-7%)
  • One-shot: Снижение с 0,0000347 кВт⋅ч до 0,0000174 кВт⋅ч в конфигурации C2 (-99%)
  • Few-shots: Снижение с 0,0000537 кВт⋅ч до 0,0000293 кВт⋅ч в конфигурации C2 (-83%)

Улучшение времени выполнения:

  • One-shot: Снижение с 1,54 секунды до 0,74 секунды (-52%)
  • Few-shots: Снижение с 2,1 секунды до 1,09 секунды (-48%)
  • Zero-shot: Снижение с 0,74 секунды до 0,63 секунды в конфигурации C1 (-14,8%)

RQ2: Влияние пользовательских меток на точность

Улучшение точного совпадения:

  • Zero-shot: Повышение с 63 до 82 в конфигурации C1 (+23%)
  • One-shot и Few-shots: Улучшение примерно на 44% в конфигурации C3

Снижение расстояния редактирования:

  • Zero-shot: Улучшение на 24% в конфигурации C2
  • One-shot: Снижение на 64% в конфигурации C2
  • Few-shots: Улучшение на 70% в конфигурации C2

Ключевые выводы

  1. Оптимальность конфигурации C2: Конфигурация, включающая объяснение меток в подсказку, показала лучшие результаты в большинстве случаев
  2. Проблемы конфигурации C4: Полное отсутствие определения роли системы привело к неконтролируемому генерированию ответов моделью
  3. Надёжность Few-shots: Техника few-shots была наименее подвержена влиянию при отсутствии явного определения роли
  4. Положительная корреляция энергопотребления и точности: Пользовательские метки одновременно улучшили энергоэффективность и точность

Статистическая значимость

Благодаря пятикратному повторению экспериментов и интервалу в 10 секунд между ними обеспечена статистическая надёжность результатов, снижены погрешности измерений и влияние выбросов.

Связанные работы

Исследования оценки энергопотребления LLM

  1. Методы временного сдвига: Jagannadharao и др. исследовали снижение выбросов углерода путём приостановки и возобновления обучения
  2. Сравнение моделей: Liu и Yin сравнили выбросы углерода моделей BERT, DistilBERT и T5
  3. Влияние оборудования: Samsi и др. сравнили энергопотребление различных размеров моделей Llama и конфигураций GPU
  4. Эффективность генерации кода: Cursaro и др. исследовали энергоэффективность генерирования кода CodeLlama в сравнении с кодом, написанным человеком

Исследования настройки подсказок

  1. Влияние характеристик: Fagadau и др. проанализировали влияние 8 характеристик подсказок на выходные данные Copilot
  2. Оптимизация структуры: Reynolds и McDonell исследовали стратегии подсказок без примеров
  3. Тестирование мутаций: Li и др. использовали тестирование мутаций для исследования модификации подсказок
  4. Мягкие подсказки: Wang и др. предложили методы настройки подсказок с использованием виртуальных токенов

Заключение и обсуждение

Основные выводы

  1. Улучшение энергоэффективности: Пользовательские метки могут значительно снизить энергопотребление LLM при выполнении задач завершения кода
  2. Сохранение производительности: Снижение энергопотребления сопровождается повышением точности модели
  3. Зависимость от конфигурации: Энергопотребление LLM в высокой степени зависит от используемого метода инженерии подсказок
  4. Двойная оптимизация: Инженерия подсказок может одновременно оптимизировать энергоэффективность и производительность

Ограничения

  1. Ограничения набора данных: Тестирование проводилось только на 1000 фрагментах кода, что ограничено временными затратами (примерно 900 секунд на фрагмент)
  2. Единственная задача: Исследование сосредоточено только на задаче завершения кода, другие задачи могут требовать различных энергетических ресурсов
  3. Единственная модель: Тестирование проводилось только на Llama 3, обобщаемость результатов требует проверки
  4. Зависимость от оборудования: Эксперименты проводились на конкретной конфигурации оборудования, различные среды могут дать различные результаты

Направления будущих исследований

  1. Расширение исследования: Распространение исследования на большее количество LLM и задач, связанных с кодом
  2. Продвинутые методы: Исследование влияния RAG или тонкой настройки на выбросы углерода
  3. Оценка нескольких задач: Изучение эффективности пользовательских подсказок в различных задачах программной инженерии
  4. Стандартизация: Установление стандартизированной методологии для измерения энергопотребления LLM

Глубокая оценка

Преимущества

Методологическая инновативность:

  1. Первое систематическое исследование влияния инженерии подсказок на энергопотребление LLM
  2. Разработка многомерной схемы конфигураций пользовательских меток
  3. Установление аналитической базы для компромиссов между энергоэффективностью и точностью

Достаточность экспериментов:

  1. Использование стандартизированного эталонного набора CodeXGLUE
  2. Применение изолированной тестовой среды для обеспечения точности измерений
  3. Многократное повторение экспериментов для повышения надёжности результатов
  4. Предоставление полного пакета для воспроизведения

Убедительность результатов:

  1. Значительное снижение энергопотребления (максимум 99%)
  2. Одновременное повышение точности
  3. Подробный анализ абляционных экспериментов

Недостатки

Методологические ограничения:

  1. Использование квантования может повлиять на универсальность результатов
  2. Проектирование пользовательских меток относительно простое, отсутствуют более сложные семантические структуры
  3. Рассмотрено только энергопотребление GPU, игнорируется вклад CPU и памяти

Дефекты экспериментальной установки:

  1. Ограниченный размер выборки (1000 фрагментов)
  2. Единственный язык программирования (Java)
  3. Фиксированное количество примеров few-shots (5)
  4. Отсутствие сравнения с другими методами энергосбережения

Недостаточность анализа:

  1. Отсутствие анализа различной сложности кода
  2. Недостаточное изучение теоретической основы механизма меток
  3. Недостаточный анализ аномальных результатов (например, конфигурация C4)

Влияние

Академический вклад:

  1. Открытие нового направления исследований в области зелёных вычислений для LLM
  2. Установление связи между инженерией подсказок и оптимизацией энергоэффективности
  3. Предоставление практических методов для устойчивого развития искусственного интеллекта

Практическая ценность:

  1. Прямое применение к существующим системам генерации кода
  2. Низкие затраты на реализацию, простота развёртывания
  3. Значительное снижение энергопотребления при сохранении производительности

Воспроизводимость: Предоставление подробного описания экспериментальной установки и пакета с открытым исходным кодом поддерживает проверку и расширение результатов исследования.

Применимые сценарии

  1. Сервисы генерации кода: Онлайн-платформы для дополнения и генерирования кода
  2. Интеграция в среду разработки: Интеллектуальные помощники кода в IDE
  3. Крупномасштабное развёртывание: Корпоративные системы, требующие обработки большого количества запросов на генерирование кода
  4. Приложения в среде с ограниченными ресурсами: Генерирование кода на периферийных вычислениях или мобильных устройствах
  5. Инициативы в области зелёных вычислений: Разработка систем искусственного интеллекта, учитывающих экологическое воздействие

Список литературы

Данная работа цитирует 42 соответствующих источника, охватывающих важные работы в нескольких областях исследований, включая зелёную программную инженерию, оценку энергопотребления LLM и инженерию подсказок, обеспечивая прочную теоретическую базу и справочные материалы для сравнения.


Общая оценка: Это исследование имеет важную практическую ценность, впервые систематически изучая влияние инженерии подсказок на энергопотребление LLM. Несмотря на некоторые ограничения, результаты исследования обнадёживают и предлагают новые идеи и методы для устойчивого развития искусственного интеллекта. Данная работа может способствовать проведению дополнительных исследований в области зелёного искусственного интеллекта и оптимизации энергопотребления.