lhao499/RingAttention

Large Context Attention

Инференс⭐ 773Pythonпоследний релиз: v0.1.2
Открыть на GitHub ↗

Что это за инструмент

Реализация Ring Attention на JAX для вычисления внимания в трансформерах с использованием блочного параллелизма.

Зачем нужен

Позволяет обучать модели с контекстом в десятки миллионов токенов, распределяя вычисления и коммуникацию между несколькими GPU/TPU. Это устраняет ограничения по памяти, характерные для стандартных подходов, и перекрывает коммуникацию с вычислениями для ускорения работы.

Что можно реализовать

  • Обучение Large World Model (LWM) для обработки длинных последовательностей в задачах vision-language
  • Тренировка LLM с контекстом, превышающим возможности стандартного BPT (Blockwise Parallel Transformer)
  • Инференс с кэшированием весов внимания для ускорения генерации на длинных последовательностях
  • Оптимизация памяти при работе с большими моделями на кластерах GPU/TPU

Ключевые возможности

  • Поддержка контекста до 'количество устройств' * длины, доступной для BPT
  • Блочное вычисление внимания и feedforward-сетей без накладных расходов на коммуникацию
  • Гибкая настройка размеров чанков (query_chunk_size, key_chunk_size) для балансировки памяти и скорости
  • Встроенная поддержка кэширования (cache_idx) для инференса
  • Интеграция с JAX shard_map для распределения вычислений по mesh

👤 Кому подойдёт: Исследователи в области NLP и Computer Vision, ML-инженеры, работающие с крупными языковыми моделями и нуждающиеся в эффективном обучении на длинных контекстах

Релизы