API-сервер принимает HTTP-запросы, а AsyncLLM выполняет токенизацию и асинхронную отправку запросов в EngineCore через IPC.
EngineCore работает в отдельном процессе и содержит главный цикл, который получает запросы из внутренней очереди, выполняет планирование и запускает шаги обработки модели.
Scheduler осуществляет непрерывную батчинг-алгоритм, объединяя токены из разных запросов в одну итерацию для максимальной загрузки GPU и обеспечивает справедливость обработки.
KVCacheManager управляет блоками памяти GPU для хранения ключей и значений внимания, разбивая кеш на фиксированные блоки для эффективного распределения ресурсов.
ModelRunner на GPU загружает модель и выполняет прямой проход через все слои трансформера, используя оптимизацию FlashAttention и CUDA-графы для ускорения вычислений.
ModelExecutor координирует распределённую нагрузку на несколько GPU через ray, управляя процессами-воркерами и их ModelRunners.
После генерации токенов EngineCore отправляет результаты обратно AsyncLLM, который детокенизирует их и либо аккумулирует окончательный ответ, либо стримит частичные результаты клиенту.
Благодаря разделению на компоненты и асинхронному взаимодействию vLLM V1 достигает высокой пропускной способности и эффективного масштабирования при обслуживании LLM.
Get notified when new stories are published for "🇷🇺 Hacker News Русский"