Самодельный 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 на том же железе. Пока что это доказательство концепции, но очень аккуратное и честное.
Комментарии