Фреймворк демонстрирует значительные улучшения по сравнению с такими фреймворками, как Hugging Face’s Transformers.

Недавно я запустил образовательный информационный бюллетень, посвященный ИИ, у которого уже более 160 000 подписчиков. TheSequence — это информационный бюллетень, ориентированный на машинное обучение, без BS (то есть без шумихи, без новостей и т. д.), чтение которого занимает 5 минут. Цель состоит в том, чтобы держать вас в курсе проектов машинного обучения, научных работ и концепций. Пожалуйста, попробуйте, подписавшись ниже:



Несмотря на значительный прогресс в области больших языковых моделей (LLM), многие аспекты управления их жизненным циклом остаются сложной задачей. Это особенно актуально для нового поколения LLM с открытым исходным кодом, которые быстро появляются на рынке. Среди этих аспектов обслуживание остается особенно сложным. Учитывая архитектурные сложности LLM, очень часто наблюдается низкая производительность даже при работе на дорогом оборудовании. Чтобы решить некоторые из этих проблем, команда из Калифорнийского университета в Беркли разработала vLLM с открытым исходным кодом, платформу для ускорения логического вывода и производительности обслуживания LLM. Фреймворк показал значительный прирост производительности по сравнению с основными фреймворками, такими как Hugging Face’s Transformers. Ядро vLLM основано на суперкреативном новом алгоритме.

Постраничное внимание

В области vLLM мы обнаружили узкое место в памяти, которое снижает производительность обслуживания LLM. В процессе авторегрессионного декодирования LLM генерирует ключ внимания и тензоры значений для всех входных токенов, которые сохраняются в памяти графического процессора для создания последующих токенов. Чтобы решить эту проблему, vLLM представляет PagedAttention, алгоритм внимания, вдохновленный концепцией виртуальной памяти и подкачки в операционных системах. В отличие от традиционных алгоритмов внимания, PagedAttention позволяет хранить непрерывные ключи и значения в несмежных областях памяти. В частности, PagedAttention делит кэш KV каждой последовательности на блоки…