Что знать про FlashAttention на LLM-интервью
На LLM serving собеседовании спрашивают: знаешь ли ты что-то про FlashAttention? Как объяснить идею без ухода в низкоуровневые детали?
Короткий ответ
FlashAttention ускоряет attention за счет более эффективной работы с GPU memory: не материализует всю attention matrix в памяти и считает блоками с учетом SRAM/HBM.
Полный разбор
Обычный attention дорог не только по FLOPs, но и по обращениям к памяти. На длинных последовательностях большая attention matrix создает сильную нагрузку на memory bandwidth.
FlashAttention перестраивает вычисление attention так, чтобы читать и писать меньше промежуточных данных в медленную GPU memory. Он считает attention блоками, использует tiling и online softmax, поэтому не нужно полностью материализовать матрицу attention.
В интервью достаточно объяснить эффект: быстрее и memory-efficient attention, особенно на длинных контекстах. В production это влияет на latency, throughput и максимальную длину контекста, но его надо рассматривать вместе с KV cache, batching и остальными оптимизациями serving stack.
Теория
FlashAttention — пример hardware-aware оптимизации: алгоритмически результат тот же, но порядок вычислений лучше соответствует иерархии памяти GPU.
Типичные ошибки
- Сказать только "это быстрее attention" без причины.
- Путать FlashAttention с quantization или speculative decoding.
- Не упомянуть memory bandwidth и отсутствие полной materialization attention matrix.
Как отвечать на собеседовании
- Объясняй через память: меньше чтений/записей, блоковые вычисления, online softmax.
- Свяжи с production-эффектом: длинный context, latency, throughput.