F

FlashAttention

Также известен как: Flash Attention
Машинное обучение

Определение

FlashAttention — алгоритм вычисления attention, оптимизированный для GPU, который значительно снижает использование памяти и ускоряет обучение и inference.

Простое объяснение

FlashAttention — как умное чтение большой книги. Вместо того чтобы разложить все страницы на огромном столе, вы читаете по главам, держа в руках только текущую.

Подробнее

FlashAttention переосмысливает вычисление attention с точки зрения иерархии памяти GPU. Вместо материализации полной матрицы NxN attention (что требует O(N²) памяти), алгоритм разбивает вычисления на блоки, которые помещаются в быструю SRAM GPU. Используется tiling и kernel fusion для минимизации обращений к медленной HBM. FlashAttention-2 дополнительно оптимизирует параллелизм. Позволяет обрабатывать контексты в 4-16x длиннее при том же потреблении памяти.

Связанные термины

Zero-shot Learning

Zero-shot обучение — способность AI выполнять задачи, на которых модель не обучалась напрямую, используя общие знания и инструкции.

VAE

Variational Autoencoder — генеративная модель, которая учится кодировать данные в компактное латентное пространство и декодировать обратно, используя вероятностный подход.

Self-Attention

Самовнимание — разновидность attention, где каждый элемент последовательности сравнивается со всеми остальными элементами той же последовательности.

KV Cache

KV Cache — механизм кэширования ключей (Keys) и значений (Values) в трансформерах для ускорения авторегрессивной генерации.

Pre-training

Предобучение — начальный этап обучения AI-модели на огромных объёмах неразмеченных данных для формирования базовых знаний и способностей.

Embedding

Эмбеддинг — представление данных (текста, изображений, аудио) в виде числовых векторов, где семантически близкие объекты располагаются рядом в векторном пространстве.