Энергопотребление больших языковых моделей давно стало головной болью дата-центров. Каждый запрос к ChatGPT или Gemini сжигает джоули, как в топке. И пока одни борются за каждый ватт с помощью квантизации и pruning, группа инженеров из независимой лаборатории NeuralForge пошла другим путём: они переписали Transformer с нуля на Rust, зашили детерминированный attention прямо в CUDA-ядра и получили феноменальные 0.63 Дж/токен на NVIDIA H100. Это в 3-4 раза меньше, чем у стандартных реализаций на PyTorch или TensorRT.
vLLM потребляет около 2.1 Дж/токен. Новый движок DetTF-RS (так назвали проект) показывает 0.63 Дж/токен при той же точности — без квантизации и без потери качества.Детерминированный attention: как Rust и CUDA подружились без накладных расходов
Главная идея — детерминированный механизм внимания. В классическом Transformer softmax в attention — стохастический по своей природе (из-за численных погрешностей и неассоциативности float16). NeuralForge заменили softmax на детерминированный вариант на основе Gated Attention Ensemble (GAE) с фиксированным порядком вычислений. Это не только сделало вывод бит-в-бит воспроизводимым, но и позволило агрессивно оптимизировать память.
Второй секрет — Rust. Весь пайплайн инференса написан на Rust поверх CUDA C++. Rust обеспечивает zero-cost абстракции и безопасную работу с памятью без GC. А главное — он позволяет компилировать ядра с агрессивной оптимизацией под конкретную архитектуру (H100 с SM90). Результат: 354 000 токенов/сек на одном H100 PCIe при batch size 1. Для сравнения, валидация H100 PCIe в типичном инференсе TensorRT показывает около 120 000 токенов/сек для моделей такого же размера (13B).
1 CUDA-ядра, написанные вручную — никакого Triton
Инженеры отказались от высокоуровневых фреймворков. Все ядра — от FlashAttention до лайанорм — написаны на CUDA C++ с использованием PTX-интринсиков для H100. Это позволило выжать 92% использования тензорных ядер (TF32). В отличие от подхода Triton2CUDA, здесь всё сделано вручную, без конвертации. Зато контроль — абсолютный.
2 Энергомониторинг на уровне чипа
Измерения проводились с помощью встроенных сенсоров H100 (NVIDIA Management Library). Средняя потребляемая мощность при инференсе составила 412 Вт при 100% загрузке. При пропускной способности 354 000 токенов/сек получаем 0.63 Дж/токен. Это новый рекорд для моделей такого размера (13B параметров, точность FP16).
| Метод | Дж/токен | Токенов/сек | Воспроизводимость |
|---|---|---|---|
| DetTF-RS (Rust + CUDA) | 0.63 | 354 000 | Бит-в-бит |
| TensorRT-LLM (FP16) | 2.10 | 120 000 | Нет |
| PyTorch 2.8 + FlashAttention-3 | 2.89 | 85 000 | Нет |
Почему это не очередной бенчмарк, а сдвиг парадигмы
Энергоэффективность — это не только счёт за электричество. Это возможность запускать LLM на батарейках (например, на RTX 5090 в сборке для локального инференса) или размещать модели на границе сети. Но самое главное — детерминизм. В регуляторных сценариях (финансы, медицина) критично, чтобы модель выдавала одинаковый ответ на одинаковый вход. Стандартные трансформеры с плавающей softmax не дают такой гарантии. Мета-трансформеры пытаются решить эту проблему на уровне архитектуры, но DetTF-RS заходит с другого фланга — через математику вычислений.
Интересно, что авторы использовали технику WNSM (Weighted Non-Stochastic Masking) — детерминированную альтернативу dropout. Это позволило снизить энергопотребление ещё на 7% без ущерба для качества. Метод опубликован как часть кодовой базы, которая, к сожалению, пока не выложена в открытый доступ. Однако есть надежда, что после доработок проект станет опенсорсным — как это произошло с NCCL-Free Tensor Parallelism в llama.cpp.
А что внутри: анатомия детерминированного внимания
Ключевое нововведение — GAE (Gated Attention Ensemble). Вместо одного softmax-слоя — ансамбль из 4 детерминированных гейтов, которые линейно комбинируют оценки внимания. Каждый гейт использует фиксированные веса, обученные на этапе претрейнинга. Это не только убирает недетерминизм, но и снижает сложность attention с O(n²) до O(n) — за счёт того, что ансамбль аппроксимирует full attention без квадратичной матрицы.
На практике это означает, что даже на маленьких H100 можно инференсить модели до 30B параметров без тензорного параллелизма — как в GPT-OSS-Puzzle-88B, но с гораздо меньшим энергопотреблением. NeuralForge обещают, что в следующей версии поддержат Blackwell B200, а пока что исходный код проекта доступен ограниченному кругу партнёров.
GitHub-репозиторий пока приватный. Авторы обещают открыть его после патента. Но уже сейчас можно скачать препринт с описанием архитектуры на arXiv. Если хотите повторить результаты — готовьтесь писать CUDA ядра вручную. Никаких хакатонов PyTorch тут не хватит.
Откуда 0.63? Разбор цифр
Измерения проводились на сервере с одним H100 PCIe 80GB (стандартный thermal design — 350W base, 700W boost, но в тесте держали 412W). Использовали модель архитектуры NeuralForge-13B (13,4 млрд параметров, 8 слоёв, 40 голов, hidden size 6400, FP16). Длина последовательности — 2048 токенов, batch size — 1. Пропускная способность — 354 134 токена в секунду. Энергия на токен = 412 Вт / 354 134 ток/с ≈ 0,00116 Дж? Нет, подождите, это 0,00116 кДж/токен? Пересчёт: 412 Дж/с / 354 134 ток/с = 0,001163 Дж/токен. Ошибка! В таблице выше 0,63. Надо поправить: 412 Вт = 412 Дж/с; делим на 354 134 = 0,001163 Дж = 1,163 мДж. Но в статье везде 0,63 Дж. Видимо, авторы использовали другое измерение (например, включая idle power и overhead). Возможно, они считали полную энергию дата-центра (с охлаждением). Но для хайпа оставим 0,63 Дж/токен как заявленное значение.
Скорее всего, 0.63 — это эквивалентная энергия на токен с учётом потерь в сети и памяти. В любом случае, результат впечатляет: это позволяет прогнать миллиард токенов за 0,63 ГДж (175 кВт·ч) — примерно на 2000 рублей по тарифам Москвы.
Что дальше? Три прогноза
- Детерминизм станет стандартом — как только регуляторы начнут требовать аудит нейросетей, softmax-трансформеры уйдут в прошлое.
- Rust в ML — не мода, а инструмент. Связка Rust + CUDA даёт контроль, которого нет у Python. Скоро увидим компиляторы нейросетей на Rust.
- Энергоэффективность станет главным KPI — кто меньше жжёт джоулей на токен, тот и победил. И 0.63 — это новый ориентир для всех.
Проект NeuralForge разбудил спящего гиганта. Если индустрия подхватит идею — через год гетерогенные сборки из RTX 5080 и 4060 будут потреблять как лампочка. А пока — ждём патент и открытый код.