Език AI РЪКОВОДСТВО

FlashAttention

FlashAttention е ефективен по отношение на паметта алгоритъм, който изчислява точно същото внимание като стандартните трансформатори, но без изобщо да пише гигантската матрица на вниманието, за да забави GPU паметта.

2 min readПоследна актуализация

Преглед

It made long-context training and inference dramatically faster and cheaper.

Дълбоко гмуркане

Стандартното внимание изчислява резултат за всяка двойка токени, създавайки N-по-N матрица. За последователност от 4000 токена това е 16 милиона резултата, а матрицата трябва да бъде записана и прочетена обратно от паметта с висока честотна лента (HBM) на GPU. Този трафик на паметта, а не математиката, е истинското тясно място. FlashAttention, въведен от Tri Dao и колеги през 2022 г., преструктурира изчислението, така че матрицата никога да не се материализира напълно. Той обработва последователността в плочки, които се побират в малката, ултра-бърза SRAM в чипа на GPU, като изчислява softmax постепенно, докато върви. Резултатът е математически идентичен със стандартното внимание, но използва много по-малко памет и работи няколко пъти по-бързо, позволявайки много по-дълги контекстни прозорци.

Техническа информация

Номерът е „онлайн софтмакс“ в комбинация с подреждане. FlashAttention зарежда малки блокове от заявки, ключове и стойности в SRAM, изчислява частични изходи за внимание и премащабира текущите суми при пристигането на нови блокове, така че нормализацията на softmax да остане правилна, без да вижда всички резултати наведнъж. Тъй като никога не съхранява пълната матрица N-by-N в HBM, паметта се мащабира линейно, а не квадратично, и ядрото се слива в една операция на GPU, за да се минимизират бавните четения и записи в паметта.

Стратегическо въздействие

Speed and scale

Езиковите работни процеси могат да се движат по-бързо, без да се жертва последователността.

Access and reach

Той разширява достъпа между езици и стилове на комуникация.

Clearer decisions

Екипите могат да отделят повече време за преценка, докато автоматизацията се справя с повторението.

Бъдещето на FlashAttention

FlashAttention се превърна в градивен елемент по подразбиране. FlashAttention-2 подобри разделянето на работата на GPU, а FlashAttention-3 използва по-новите хардуерни функции на Hopper като асинхронност и FP8 с ниска точност. Очаквайте продължително съвместно проектиране с чипове, по-дълбока интеграция в сървъри за изводи за дълги документи и варианти, настроени за оскъдно внимание или внимание на плъзгащ се прозорец. Тъй като контекстните прозорци се стремят към милиони токени, IO-съзнаващи ядра като това остават от съществено значение за поддържане на управляеми разходи за обучение и обслужване.

Внедряване в реалния свят

Обучение на големи езикови модели като Llama и системи в стил GPT по-бързо и с по-ниска цена на GPU

Обслужване на асистенти за чат с дълъг контекст, които поглъщат цели книги или кодови бази, без да изчерпват паметта

Ускоряване на тръбопроводите за обобщаване на документи, които обработват десетки хиляди токени наведнъж

Захранващи визуални и мултимодални трансформатори, където дългите последователности от изображения правят вниманието скъпо

Рискове и предпазни огради

Халюцинираните факти могат тихо да влязат в отчети, потоци за поддръжка или резултати от изследвания.

Бързата чувствителност може да създаде противоречиви резултати при подобни заявки.

Чувствителните текстови данни могат да бъдат разкрити, ако контролите за достъп са слаби.

Пътна карта за изпълнение

1

Определете изходен формат, тон и стандарти за качество преди внедряване.

2

Наземни отговори с доверени източници винаги, когато точността има значение.

3

Поддържайте контролна точка за човешки преглед за изходи с високи залози.

4

Проследявайте моделите на неуспехи и редовно обучавайте подкани или работни потоци.

Продължете да изследвате

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the FlashAttention quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Start quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Next guide

Вграждане на ротационна позиция

Frequently asked questions

What is FlashAttention?

FlashAttention е ефективен по отношение на паметта алгоритъм, който изчислява точно същото внимание като стандартните трансформатори, но без изобщо да пише гигантската матрица на вниманието, за да забави GPU паметта. Това направи обучението в дълъг контекст и изводите драматично по-бързи и по-евтини.

Кое е основното пречка, към което FlashAttention се стреми в стандартното внимание?

Стандартното внимание е обвързано с паметта: преместването на огромната N-по-N матрица към и от паметта с висока честотна лента доминира времето, а не самата аритметика.

Как изходът на FlashAttention се сравнява със стандартното внимание?

FlashAttention изчислява точно същите стойности на вниманието; той просто реорганизира изчислението, за да избегне материализирането на пълната матрица.

Коя GPU памет използва FlashAttention, като обработва данни в плочки?

FlashAttention зарежда малки плочки в бързата вградена SRAM памет на графичния процесор, поддържайки тежката работа близо до изчислителните единици.

Каква техника позволява на FlashAttention да изчислява softmax, без да вижда всички резултати наведнъж?

Онлайн softmax поддържа текущи максимуми и суми, като премащабира частичните резултати при пристигането на нови плочки, така че окончателната нормализация да е правилна.

От какво конкретно се възползва FlashAttention-3?

FlashAttention-3 е проектиран съвместно с модерни графични процесори Hopper, използвайки асинхронно изпълнение и FP8 с ниска точност за допълнителни ускорявания.