
Заключение: ваттенция для упрощенного, высокопроизводительного вывода LLM
18 июня 2025 г.Таблица ссылок
Аннотация и 1 введение
2 фон
2.1 Модели больших языков
2.2 Фрагментация и Pagegataturation
3 проблемы с моделью Pagegatatturetion и 3.1 требуют переписывания ядра внимания
3.2 Добавляет избыточность в рамки порции и 3,3 накладных расходов
4 понимания систем обслуживания LLM
5 Vattument: проектирование системы и 5.1 Обзор дизайна
5.2 Использование поддержки CUDA низкого уровня
5.3 Служение LLMS с ваттенцией
6 -й ваттиция: оптимизация и 6,1 смягчения внутренней фрагментации
6.2 Скрытие задержки распределения памяти
7 Оценка
7.1 Портативность и производительность для предпочтений
7.2 Портативность и производительность для декодов
7.3 Эффективность распределения физической памяти
7.4 Анализ фрагментации памяти
8 Связанная работа
9 Заключение и ссылки
9 Заключение
Pagegatattureation стал стандартом де -факто для динамического распределения памяти при выводе LLM. Pagegatattureation устраняет необходимость резервировать память графических процессоров заранее и, следовательно, повышает пропускную способность обслуживания путем установки большего размера партии в памяти графического процессора. В то время как Pagegatattureation эффективно справляется с фрагментацией памяти, мы утверждаем, что его подход к хранению KV-Cache в несвязанной виртуальной памяти, вводит сложность программного обеспечения, а также проблемы с переносимостью и эффективностью. Вместо этого мы показываем, что использование системной поддержки низкоуровневой системы для подтяжки спроса может избежать ловушек Pagegatattureation. Наш предлагаемая система системы добавляет поддержку динамического распределения физической памяти в существующие ядра внимания, устраняя необходимость переписать код графического процессора или записать диспетчер памяти в рамках обслуживания. Мы показываем, что ваттенция снижает сложность программного обеспечения, одновременно улучшая портативность и производительность.
Ссылки
[1] [n. д.]. Amazon Codewhisperer. https://aws.amazon.com/ codewhisperer/.
[2] [n. д.]. Антропический Клод. https://claude.ai.
[3] [n. д.]. Bing ai. https://www.bing.com/chat.
[4] [n. д.]. Более быстрые ядра трансформатора. https://github.com/nvidia/ fastertransformer/tree/main/src/fastertransformer/kernels/decoder_masked_multihead_attention.
[5] [n. д.]. GitHub Copilot. https://github.com/features/copilot.
[6] [n. д.]. Google Bard. https://bard.google.com.
[7] [n. д.]. Применить призрачный писатель. https://replit.com/site/ghostwriter.
[8] [n. д.]. Вывод генерации текста. https://huggingface.co/textgeneration-inference.
[9] 2022. Флэш -ов. https://github.com/dao-ailab/flash-atration.
[10] 2023. Флэш-декодирование для вывода с длинным контекстом. https: //crfm.stanford. EDU/2023/10/12/FlashDecoding.html.
[11] 2023. FlashInfer: библиотека ядра для LLM Horging. https://github.com/ flashinfer-ai/flashinfer.
[12] 2023. Lightllm: легкий и быстрый сервис вывода для LLM. https: //github.com/modeltc/lightllm.
[13] 2023. Размещение производительности при использовании внимания. https: // github. com/nvidia/tensorrt-llm/uppess/75.
[14] 2023. Tensorrt-LLM: инструмент инструментов Tensorrt для оптимизированного вывода модели большого языка. https://github.com/nvidia/tensorrt-llm.
[15] 2023. Используйте оптимизированные ядра для MQA/GQA. https://github.com/vllmproject/vllm/issues/1880.
[16] 2024. Добавьте поддержку для небольших размеров страниц. https://github.com/daoailab/flash-attention/pull/824.
[17] 2024. Документация CUDA Toolkit: управление виртуальной памятью. https://docs.nvidia.com/cuda/cuda-river-api/group__cuda_ _va.html. [18] 2024. более быстрый трансформатор. https://github.com/nvidia/ fastertransformer.
[19] 2024. Исправлена энергичная производительность режима. https://github.com/vllm-project/ vllm/pull/2377.
[20] 2024. Реализация кэша страницы KV. https://github.com/dao-ailab/flashatturet/commit/54e80a3829c6d2337570d01e78ebd9529c02d342.
[21] 2024. РЕФКРАЦИОННОЕ ВНИМАНИЕ Возьмите 2. https://github.com/vllm-project/ vllm/pull/3462.
[22] 2024. Отдельные бэкэнды внимания. https://github.com/vllm-project/ vllm/pull/3005/.
[23] 2024. Поддержка KV-разделения для ядра BatchPrefill для страничного и рваного кв-кеша. https://github.com/flashinfer-ai/flashinfer/pull/75.
[24] 2024. Используйте FlashInfer для декодирования. https://github.com/vllm-project/ vllm/pull/4353.
[25] Эми Агравал, Нитин Кедия, Ашиш Панвар, Джаяшри Мохан, Нипун Кватра, Бхаргав С. Гулавани, Алексей Туманов и Рамачандран Рамаджи. 2024. Укрощение компромисса пропускной способности в выводе LLM с помощью Sarathi-Serve. arxiv: 2403.02310 [cs.lg]
[26] Эми Агравал, Ашиш Панвар, Джаяшри Мохан, Нипун Кватра, Бхаргав С. Гулавани и Рамачандран Рамджи. 2023. Сарати: эффективный вывод LLM путем декодирования с помощью скорплав с кусочками. arxiv: 2308.16369 [Cs.lg]
[27] Джошуа Эйнсли, Джеймс Ли-Торп, Михиэль де Йонг, Юрь Землянки, Федерико Леброн и Сумит Санхай. 2023. GQA: Обучение обобщенных моделей многопрофильных трансформаторов с многоуровневых контрольных точек. arxiv: 2305.13245 [Cs.cl]
[28] Pratheek B, Neha Jawalkar и Arkaprava Basu. 2023. Проектирование системы виртуальной памяти графических процессоров MCM. В материалах 55 -го ежегодного международного симпозиума IEEE/ACM по микроархитектуре (, Чикаго, Иллинойс, США) (Micro ’22). IEEE Press, 404–422. https://doi.org/10.1109/micro56248.2022.00036
[29] Из Белтаги, Мэтью Э. Питерс и Арман Кохан. 2020. Longformer: длинный трансформатор. Arxiv: 2004.05150 [Cs.cl]
[30] Ганеш Бикшанди и Джей Шах. 2023. Тематическое исследование в слиянии ядра CUDA: реализация Flashattention-2 на архитектуре Nvidia Hopper с использованием библиотеки Cutlass. arxiv: 2312.11918 [cs.lg]
[31] Rewon Child, Скотт Грей, Алек Рэдфорд и Илья Саускевер. 2019. Генерация длинных последовательностей с редкими трансформаторами. Arxiv: 1904.10509 [Cs.lg]
[32] Ааканкша Чоудери, Шаран Наранг, Джейкоб Девлин, Мартен Босма, Гаурав Мишра, Адам Робертс, Пол Бархэм, Хёнг Вон Чунг, Чарльз Саттон, Себастьян Германн, Паркер Шух, Кенсен Ши, Саша -Тсвичччошенко, ДЖОСА, ДЖОСА, Абхен, Абхен, Абхен, Абен -Барнес, Абхен Ши, Абхен -Раош, Абхен -Ши, Саша -Айсенко, Абхен -Ши, Саша -Айсенко, Абхэт -Ши, Саша -Айсенко, Барнс -Барн. Tay, Noam Shazeer, Vinodkumar Prabhakaran, Emily Reif, Nan Du, Ben Hutchinson, Reiner Pope, James Bradbury, Jacob Austin, Michael Isard, Guy Gur-Ari, Pengcheng Yin, Toju Duke, Anselm Levskaya, Sanjay Ghemawat, Sunipa Dev, Henryk Michalewski, Xavier Гарсия, Ведант Мисра, Кевин Робинсон, Лиам Федус, Денни Чжоу, Дафна Иппполито, Дэвид Луан, Хеонтек Лим, Баррет Зоф, Александр Спиридонов, Райан Сейппис, Дэвид Дохан, Шивани Агравал, Марк Омоник, Эндрю М. Дей, Анумалайан Санкарайан, Маранараяна, Маранараяна, Маранараяна, Маранараяна, Марайан, Маранараяна, Маранараяна, Маранараяна, Маранараяна, Маранараяна. Lewkowycz, Эрика Морейра, Rewon Child, Oleksandr Polozov, Katherine Lee, Zongwei Zhou, Xuezhi Wang, Brennan Saeta, Mark Diaz, Orhan Firat, Michele Catasta, Jason Wei, Kathy Meier-Hellstern, Douglas Eck, Jeff Dean, Slav-Petrov и Noah. 2022. Пальма: масштабирование языкового моделирования с помощью путей. Corr Abs/2204.02311 (2022). https://doi.org/10.48550/arxiv.2204.02311 Arxiv: 2204.02311
[33] Три Дао. 2023. Flashattention-2: более быстрое внимание с лучшим параллелизмом и разделением работы. Arxiv: 2307.08691 [Cs.lg]
[34] Три Дао, Даниэль Ю. Фу, Стефано Эрмон, Атри Рудра и Кристофер Рене. 2022. Флэш-осведомленность: быстрое и эффективное внимание памяти с i-avessence. arxiv: 2205.14135 [Cs.lg]
[35] Конг Го, Руи Чжан, Цзяле Сюй, Цзинвен Ленг, Зихан Лю, Зию Хуанг, Миньи Го, Хао Ву, Шурен Чжао, Джунпинг Чжао и Ке Чжан. 2024. GMLAKE: эффективная и прозрачная дефрагментация памяти графического процессора для крупномасштабного обучения DNN с виртуальной памятью. В материалах 29 -й Международной конференции ACM по архитектурной поддержке языков программирования и операционных систем, том 2 (La Jolla, CA, USA) (ASPLOS ’24). Ассоциация компьютерной машины, Нью -Йорк, Нью -Йорк, США, 450–466. https: //doi.org/10.1145/3620665.3640423
[36] Коннор Холмс, Масахиро Танака, Майкл Уайетт, Аммар Ахмад Аван, Джефф Расли, Самиам Раджбандари, Реза Яздани Аминабади, Хейанг Цинь, Араш Бахтиари, Лев Куриленко и Йексион. 2024. Deepspeed-Fastgen: высокопроизводительная генерация текста для LLMS через MII и DeepSpeed Inference. Arxiv: 2401.08671 [Cs.pf]
[37] Ке Хонг, Гохао Дай, Цзимин Сюй, Цюли Мао, Сюхонг Ли, Джун Лю, Канди Чен, Юхан Донг и Ю Ван. 2024. FlashDecoding ++: более быстрый вывод модели с большим языком на графических процессорах. arxiv: 2311.01282 [Cs.lg]
[38] Cunchen Hu, Heyang Huang, Liangliang Xu, Xusheng Chen, Jiang Xu, Shuang Chen, Hao Feng, Chenxi Wang, Sa Wang, Yungang Bao, et al. 2024. Вывод без помех: дезагрегировать вывод LLM для смешанных рабочих нагрузок. Arxiv Preprint arxiv: 2401.11181 (2024).
[39] Woosuk Kwon, Zhuohan Li, Siyuan Zhuang, Ying Sheng, Lianmin Zheng, Cody Hao Yu, Joseph Gonzalez, Hao Zhang и Ion Stoica. 2023. Эффективное управление памятью для модели крупной языка, служащей с Pagegatattention (SOSP ’23). Ассоциация компьютерной машины, Нью -Йорк, Нью -Йорк, США, 611–626. https://doi.org/10.1145/3600006. 3613165
[40] Openai. 2023. Технический отчет GPT-4. Corr Abs/2303.08774 (2023). https://doi.org/10.48550/arxiv.2303.08774 Arxiv: 2303.08774
[41] Пратюш Патель, Эша Чуксе, Чаоджи Чжан, íñigo Goiri, Аашака Шах, Саид Малеки и Рикардо Бьянчини. 2023. Splitwise: эффективный генеративный вывод LLM с использованием фазового разделения. arxiv: 2311.18677 [cs.ar]
[42] Ноам Шейзер. 2019. Быстрая декодирование трансформатора: одна из них-это все, что вам нужно. Arxiv: 1911.02150 [Cs.ne]
[43] Ying Sheng, Lianmin Zheng, Binhang Yuan, Zhuohan Li, Max Ryabinin, Daniel Y. Fu, Zhiqiang Xie, Beidi Chen, Clark Barrett, Joseph E. Gonzalez, Percy Liang, Кристофер Рей, Ион Стоика и Ce Zhang. 2023. Flexgen: высокопроизводительный генеративный вывод крупных языковых моделей с одним графическим процессором. arxiv: 2303.06865 [Cs.lg]
[44] Ашиш Васвани, Ноам Шейзер, Ники Пармар, Якоб Ускорет, Ллион Джонс, Эйдан Н Гомес, Укаш Кайзер и Илья Полосухин. 2017. Внимание - это все, что вам нужно. В достижениях в системах обработки нейронной информации, И. Гайон, У. Фон Люксбург, С. Бенгио, Х. Уоллах, Р. Фергус, С. Вишванатан и Р. Гарнетт (ред.), Vol. 30. Curran Associates, Inc. https://proceedings.neurips.cc/paper_files/paper/2017/ file/3f5ee243547dee91fbd053c1c4a845aa-paper.pdf
[45] Бингьян Ву, Иньмин Чжун, Зили Чжан, Ганг Хуанг, Сюаньче Лю и Синь Джин. 2023. Быстрый распределенный вывод, обслуживающий для больших языковых моделей. arxiv: 2305.05920 [Cs.lg]
[46] Zihao Ye, Lequn Chen, Ruihang Lai, Yilong Zhao, Size Zheng, Junru Shao, Bohan Hou, Hongyi Jin, Yifei Zuo, Liangsheng Yin, Tianqi Chen и Luis Ceze. 2024. Ускорение самооценки для LLM, обслуживающего FlashInfer. https://flashinfer.ai/2024/02/02/introduce-flashinfer.html
[47] Gyeong-in Yu, Joo Seong Jeong, Geon-Woo Kim, Soojeong Kim и Byung-Gon Chun. 2022. ORCA: распределенная система обслуживания для генеративных моделей на основе трансформаторов. В 16 -м симпозиуме USENIX по проектированию и реализации операционных систем (OSDI 22). Ассоциация USENIX, Карлсбад, Калифорния, 521–538. https://www.usenix.org/conference/ osdi22/presentation/yu
[48] Чжений Чжан, Йин Шенг, Тиани Чжоу, Тянлонг Чен, Лианмин Чжэн, Руизи Кай, Чжао Сонг, Юандонг Тянь, Кристофер Рене, Кларк Барретт, Чжангьянг Ванг и Бейди Чен. 2023. H2O: Oracle Heavite-Hitter для эффективного генеративного вывода крупных языковых моделей. arxiv: 2306.14048 [Cs.lg]
[49] Иньмин Чжун, Шенгю Лю, Джунда Чен, Цзянбо Ху, Ибо Чжу, Сюаньчхе Лю, Синь Цзинь и Хао Чжан. 2024. Distserve: дезагрегирование префилля и декодирование для оптимизированной большой языковой модели. Arxiv: 2401.09670 [Cs.DC]
Эта статья естьДоступно на ArxivПод CC по лицензии 4.0.
Авторы:
(1) Рамья Прабху, Microsoft Research India;
(2) Аджай Наяк, Индийский институт науки и участвовал в этой работе в качестве стажера в Microsoft Research India;
(3) Джаяшри Мохан, Microsoft Research India;
(4) Рамачандран Рамджи, Microsoft Research India;
(5) Ашиш Панвар, Microsoft Research India.
Оригинал