Ядерный модуль CUDA для ускорения вывода LLM через объединенные квантованные умножения матриц.

 FLUTE: A CUDA Kernel Designed for Fused Quantized Matrix Multiplications to Accelerate LLM Inference

FLUTE: Решение для ускорения вывода LLM с помощью квантованных матричных умножений

Большие языковые модели (LLM) сталкиваются с проблемами в развертывании из-за задержек, вызванных ограничениями пропускной способности памяти. Для решения этих проблем исследователи используют квантование только весов, чтобы сжать параметры LLM до меньшей точности. Этот подход улучшает задержку и снижает требования к памяти GPU. Реализация этого эффективно требует кастомизированных ядер умножения матриц различных типов, которые эффективно перемещают, деквантовывают и обрабатывают веса. Существующие ядра, такие как bits and bytes, Marlin и BitBLAS, показали значительное ускорение, но часто ограничены 4-битным квантованием. Недавние достижения в методах квантования с нечетным битом и неравномерным квантованием подчеркивают необходимость более гибких ядер, способных поддерживать более широкий спектр настроек для максимизации потенциала квантования в развертывании LLM.

Практические решения:

  1. Offline Matrix Restructuring: Переупорядочивание квантованных весов для оптимизации операций Tensor Core, обработка нестандартных битовых ширин (например, 3-битных) путем разделения весов на битовые срезы и их комбинирование в регистрах.
  2. Vectorized Lookup in Shared Memory: Оптимизация деквантования с использованием векторизованной таблицы поиска, хранящейся в общей памяти, с доступом к двум элементам одновременно, а также использованием дублирования таблицы для уменьшения конфликтов банков.
  3. Stream-K Workload Partitioning: Равномерное распределение нагрузки по SM (мультипроцессорам) с использованием декомпозиции Stream-K для устранения проблем квантования в низкобитовых и низкопакетных сценариях.

FLUTE демонстрирует впечатляющую производительность на различных формах матриц на графических процессорах A6000 и A100. Оно показывает эффективность в развертывании LLM через объединенные квантованные матричные умножения, обеспечивая улучшенную производительность в различных сценариях.

Мобильная разработка на заказ и готовые решения

Мобильная разработка

Готовые и индивидуальные решения

Веб решения - разработка сайтов и сервисов

Web решения

Получите бесплатную консультацию по веб-разработке прямо сейчас

Аутсорсинг, подбор специалистов и команд разработки

Аутсорсинг

Выберите своего специалиста сегодня и начните свой проект