инструменты 1 мин

Самодельный Triton-бэкенд разогнал 10B-модель до 97 tok/s на RTX 5070

Энтузиаст написал специализированный GPU-бэкенд для запуска 1.58-битной Falcon3-10B, добившись 97.5 токенов/сек на RTX 5070 — почти в 10 раз быстрее стандартного Transformers. Использует упакованные тернарные веса, Triton-ядра и CUDA Graph. Код опубликован, автор ищет независимые проверки на других GPU.

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

Разгон через низкоуровневую оптимизацию

Разработчик под ником OCV_Researcher опубликовал экспериментальный бэкенд для инференса Falcon3-10B-Instruct-1.58bit — модели с экстремальной квантизацией до тернарных весов (1.58 бита на параметр). На RTX 5070 его решение выдаёт 97.5 токенов/сек при декодировании против 9.9 tok/s у стандартного Transformers — ускорение в 9.86 раза.

Технические детали

Реализация опирается на: - Упакованные тернарные веса (K-contiguous packing) - DP4A-инструкции для int8-матмула - Triton-ядра и StaticCache - CUDA Graph replay для минимизации оверхеда

Префилл тоже ускорился: 426.6 tok/s против 298.7 базового — прирост ~43%.

Валидация

Автор провёл строгие численные проверки: - 64 инкрементальных шага дали побитово идентичные логиты (131,072 значений на позицию) - 24 сгенерированные последовательности и 1,194 токена полностью совпали с эталоном - Синтетические тесты сошлись с PyTorch-референсом

Важные оговорки

Сравнение — против ванильного Transformers, а не Microsoft BitBLAS, vLLM или SGLang. Замеры исключают загрузку модели, токенизацию, JIT-компиляцию и graph capture. Тестировалось на одной системе (Windows/PyTorch/Triton).

Что дальше?

Код выложен на GitHub с подробной документацией. Автор призывает сообщество протестировать на архитектурах Ampere, Hopper, Ada и других Blackwell-GPU, а также сравнить с продакшн-системами для низкобитных моделей.

DP4A для упакованных весов — известная техника, но интеграция с Falcon3/Transformers/CUDA Graph и открытая публикация замеров — ценный вклад для LocalLLaMA-комьюнити.

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

  • Специализированные GPU-ядра могут дать 10-кратное ускорение даже для экзотических форматов (1.58-bit) против универсальных фреймворков
  • Тернарная квантизация (1.58 bit) + правильная упаковка позволяет эффективно использовать int8-инструкции типа DP4A
  • Побитовая идентичность логитов подтверждает численную корректность оптимизации — важный benchmarking-стандарт
  • Разрыв между хакерскими прототипами и production-системами (vLLM, SGLang) остаётся значительным — нужны прямые сравнения
  • Open-source энтузиасты продолжают находить неочевидные оптимизации даже для нишевых форматов моделей

Автор: Юлия Тарасова · Источник: reddit.com

Мнение редакции

**Редакция:** Вот это правильный подход к публикации результатов — не «я сделал быстро», а подробные цифры, численная валидация и призыв к независимым проверкам. Разработчик честно оговаривает, с чем сравнивал (ванильный Transformers, а не специализированные движки), что исключил из замеров и какие архитектуры не тестировал.

Вопрос в том, насколько это масштабируется за пределы конкретной связки Falcon3/RTX 5070/Windows. 1.58-битные модели — пока экзотика, но если подход обобщается на другие низкобитные форматы и GPU-архитектуры, это серьёзная заявка. Ждём репродукций от сообщества — особенно интересно сравнение с vLLM и BitBLAS на том же железе. Пока что это доказательство концепции, но очень аккуратное и честное.

Ещё по теме

Комментарии