Найти Π² Π”Π·Π΅Π½Π΅

🧠⚑️ Как устроСн ΠΌΠΈΡ€ запросов ΠΊ LLM: Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ vLLM ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ

Π’ послСднСС врСмя ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ языковыС ΠΌΠΎΠ΄Π΅Π»ΠΈ (LLM) стали основной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ созданию ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сСрвисов. Однако ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ задумываСтся, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Ρ‚Π°ΠΊΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. БСгодня ΠΌΡ‹ заглянСм ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ базируСтся популярный Π΄Π²ΠΈΠΆΠΎΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с LLM β€” vLLM. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ LLM (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GPT-4, Llama, Claude ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅) состоят ΠΈΠ· ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ отправляСт запрос, модСль Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ тСкст ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π²ΠΈΠΆΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€Π΅Π΄Π΅Π»Π΅ возмоТностСй GPU, сохраняя ΠΏΡ€ΠΈ этом ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ. vLLM β€” это спСциализированный Π΄Π²ΠΈΠΆΠΎΠΊ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов ΠΊ большим языковым модСлям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅Π΄Π°Π²Π½ΠΎ обновился Π΄ΠΎ вСрсии V1. Π•Π³ΠΎ Π³Π»Π°Π²Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ: Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрим, ΠΊΠ°ΠΊ устроСна ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ запроса Π² vLLM V1: 1️⃣ ΠŸΡ€ΠΈΠ΅ΠΌ ΠΈ токСнизация ΠŸΡƒΡ‚ΡŒ начинаСтся с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΏΡ€Π°
ОглавлСниС
НСоновыС Π»ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΡΡ‚Ρ€Π΅ΠΌΠ»ΡΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ устройства ΠΊ ряду GPU-сСрвСров Π² футуристичСском Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π΅, визуализируя ΠΏΡƒΡ‚ΡŒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒInference-запросов vLLM.
НСоновыС Π»ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΡΡ‚Ρ€Π΅ΠΌΠ»ΡΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ устройства ΠΊ ряду GPU-сСрвСров Π² футуристичСском Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π΅, визуализируя ΠΏΡƒΡ‚ΡŒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒInference-запросов vLLM.

Π’ послСднСС врСмя ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ языковыС ΠΌΠΎΠ΄Π΅Π»ΠΈ (LLM) стали основной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ, ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ созданию ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сСрвисов. Однако ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ задумываСтся, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Ρ‚Π°ΠΊΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. БСгодня ΠΌΡ‹ заглянСм ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ базируСтся популярный Π΄Π²ΠΈΠΆΠΎΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с LLM β€” vLLM.

πŸš€ ΠŸΠΎΡ‡Π΅ΠΌΡƒ vLLM Ρ‚Π°ΠΊ Π²Π°ΠΆΠ΅Π½?

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ LLM (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GPT-4, Llama, Claude ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅) состоят ΠΈΠ· ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ отправляСт запрос, модСль Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ тСкст ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π²ΠΈΠΆΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€Π΅Π΄Π΅Π»Π΅ возмоТностСй GPU, сохраняя ΠΏΡ€ΠΈ этом ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ.

vLLM β€” это спСциализированный Π΄Π²ΠΈΠΆΠΎΠΊ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов ΠΊ большим языковым модСлям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅Π΄Π°Π²Π½ΠΎ обновился Π΄ΠΎ вСрсии V1. Π•Π³ΠΎ Π³Π»Π°Π²Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

  • πŸ“ˆ Максимально эффСктивноС использованиС GPU;
  • πŸ”„ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ мноТСства ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов;
  • ⚑️ Быстрая потоковая ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.
АрхитСктура vLLM. Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: https://www.ubicloud.com/blog/life-of-an-inference-request-vllm-v1
АрхитСктура vLLM. Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: https://www.ubicloud.com/blog/life-of-an-inference-request-vllm-v1

🌐 ΠŸΡƒΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ запроса: ΠΎΡ‚ HTTP Π΄ΠΎ GPU ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрим, ΠΊΠ°ΠΊ устроСна ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ запроса Π² vLLM V1:

1️⃣ ΠŸΡ€ΠΈΠ΅ΠΌ ΠΈ токСнизация

ΠŸΡƒΡ‚ΡŒ начинаСтся с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ отправляСт HTTP-запрос Π½Π° сСрвСр API (совмСстимый с OpenAI API). Π‘Π΅Ρ€Π²Π΅Ρ€ выполняСт Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ запрос Π΄Π²ΠΈΠΆΠΊΡƒ AsyncLLM, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ запроса (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ тСкст Π² числовыС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹).

πŸ› οΈ Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ тСхничСский нюанс:
ВокСнизация ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ асинхронном процСссС, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈ GIL (Global Interpreter Lock) Python ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ CPU-интСнсивныС ΠΈ GPU-интСнсивныС Π·Π°Π΄Π°Ρ‡ΠΈ.

2️⃣ АсинхронноС взаимодСйствиС ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π—Π°Ρ‚Π΅ΠΌ запрос отправляСтся Π² EngineCore, сСрдцС Π΄Π²ΠΈΠΆΠΊΠ°, Ρ‡Π΅Ρ€Π΅Π· мСТпроцСссноС взаимодСйствиС (IPC). Π—Π΄Π΅ΡΡŒ запрос поступаСт Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈ Π·Π° Π΄Π΅Π»ΠΎ бСрётся Scheduler.

Scheduler ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Continuous batching:

  • 🎯 Он ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ запросы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ GPU;
  • πŸ”’ ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ запрос разбиваСтся Π½Π° части Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ суммарноС количСство Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π»ΠΎ Π»ΠΈΠΌΠΈΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 10 Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ†ΠΈΠΊΠ»);
  • ♻️ Π­Ρ‚ΠΎ позволяСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ дСсятки запросов Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π½Π΅ тСряя ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ это ΠΊΠ°ΠΊ тСтрис, Π³Π΄Π΅ Scheduler идСально ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Π΅Ρ‚ запросы ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ, оптимизируя ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ GPU.

3️⃣ Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° GPU ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Scheduler Π²Ρ‹Π±Ρ€Π°Π» подходящиС запросы, наступаСт этап выполнСния. Π—Π΄Π΅ΡΡŒ вступаСт Π² ΠΈΠ³Ρ€Ρƒ ModelExecutor:

  • πŸ”₯ МодСль (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Llama 4 ΠΈΠ»ΠΈ GPT) загруТаСтся Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ GPU, Π³Π΄Π΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ всС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΈΠ· Π±Π°Ρ‚Ρ‡Π°;
  • πŸ“š ΠšΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΈΠ³Ρ€Π°Π΅Ρ‚ оптимизация Ρ€Π°Π±ΠΎΡ‚Ρ‹ с GPU: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ CUDA-ядра, ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ SIMD ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FlashAttention для свСрхбыстрой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ внимания (attention) ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ;
  • πŸ—ƒοΈ KV Cache Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ вычислСний для ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ†ΠΈΠΊΠ»Π°Ρ…, избСгая ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… вычислСний ΠΈ ускоряя Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ².

Π€Π°ΠΊΡ‚ для Π»ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…:
FlashAttention-3 β€” это тСхнология, которая Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускоряСт вычислСния внимания, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° GPU.

4️⃣ ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Π°Ρ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ GPU Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ вычислСния, Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· IPC Π² AsyncLLM, Π³Π΄Π΅ происходит дСтокСнизация (ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ чисСл ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² тСкст). Π—Π°Ρ‚Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ сразу ΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ тСкст Π² Ρ‡Π°Ρ‚Π΅ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π±ΡƒΠΊΠ²Π° Π·Π° Π±ΡƒΠΊΠ²ΠΎΠΉ сразу ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π΅Π³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ, Π±Π΅Π· нСобходимости ΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

🌟 ВСхнологичСскиС особСнности vLLM V1, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ:

  • πŸŒ€ АсинхронноС ядро (AsyncLLM), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° CPU ΠΈ GPU.
  • 🧩 Continuous batching, ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ GPU.
  • 🚦 Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Scheduler, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ простои ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
  • πŸ“¦ KVCacheManager, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ GPU, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° систСму Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти с Π±Π»ΠΎΠΊΠ°ΠΌΠΈ фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

πŸ’‘ АвторскоС ΠΌΠ½Π΅Π½ΠΈΠ΅: ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ для Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ AI?

На ΠΌΠΎΠΉ взгляд, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, ΠΊΠ°ΠΊ vLLM, β€” это шаг ΠΊ появлСнию Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡˆΡ‘Π²Ρ‹Ρ…, эффСктивных ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… AI-сСрвисов. Π’Π°ΠΊΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π΅ просто ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ Π²Ρ‹Π²ΠΎΠ΄, Π½ΠΎ ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ использованиС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ доступнСС для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ стартапов, снимая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ слоТныС инфраструктуры ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

ИмСнно благодаря Ρ‚Π°ΠΊΠΈΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌ, ΠΊΠ°ΠΊ continuous batching ΠΈ асинхронноС ядро, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ сСрвисы уровня ChatGPT Enterprise, сохраняя ΠΏΡ€ΠΈ этом ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ.

πŸ–‡οΈ Π’Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΈ ссылки для погруТСния Π² Ρ‚Π΅ΠΌΡƒ:

Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ vLLM, позволяСт Π½Π΅ просто Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π·Π° кулисы Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ соврСмСнный AI, Π½ΠΎ ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΅Π³ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ инфраструктуру для своих Π·Π°Π΄Π°Ρ‡, максимально эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ доступныС рСсурсы.

Π’Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π³Π»ΡƒΠ±ΠΆΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² Π΄Π΅Ρ‚Π°Π»ΠΈ vLLM, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с:

Π­Ρ‚ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ vLLM для Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π·Π°Π΄Π°Ρ‡.