Vylepšení vLLM backendu pro modely transformers
Nový transformers backend ve vLLM se u mnoha kompatibilních architektur přibližuje rychlosti nativních implementací a někdy je i překonává.
Hugging Face popisuje vylepšení transformers backendu ve vLLM. U mnoha kompatibilních LLM architektur má nyní dosahovat rychlosti srovnatelné s ručně psanými nativními implementacemi ve vLLM, a v některých případech je podle zdroje i překonávat.
Pointa není v tom, že by inference byla finančně zdarma. Výraz „for free“ ve zdroji znamená spíš to, že autoři modelů mohou použít implementaci z knihovny Transformers uvnitř vLLM bez ručního portování a bez psaní samostatné optimalizované implementace pro vLLM.
Použití backendu je přitom jednoduché. Model lze spustit s přepínačem:
--model-impl transformers
Transformers knihovna podporuje více než 450 architektur přes konzistentní API. To je důležité hlavně pro nové nebo méně běžné modely, u kterých by ruční portování do vLLM mohlo brzdit rychlé nasazení.
Nový backend používá torch.fx ke statické analýze grafu modelu. Když najde známé vzory, může upravit zdrojový kód tak, aby některé operace nahradil optimalizovanými vLLM bloky. Zdroj zmiňuje například optimalizace pro tensor parallelism nebo expert parallelism.
Hugging Face ukazuje výsledky na třech modelech Qwen3: 4B dense, 32B dense a 235B FP8 MoE. Cílem je ukázat, že transformers backend už nemusí být jen pohodlnější, ale pomalejší varianta. U vybraných kompatibilních architektur se může rychlostí přiblížit nativnímu vLLM kódu.
Důležité jsou ale i limity. Modely s lineární pozorností zatím podle zdroje podporované nejsou. Pravděpodobně nebudou fungovat ani některé custom modely, jejichž kód žije přímo v repozitáři na Hubu místo ve standardní implementaci Transformers.
Výhoda tohoto přístupu je v tom, že implementace v Transformers nezůstává jen inference kódem. Stejný modelový kód lze použít pro trénink, evaluace nebo RL rollouty, zatímco vLLM dodá optimalizovanou inference vrstvu.
Zajímavé na tom je, že se zmenšuje mezera mezi pohodlnou implementací modelu v Transformers a ručně optimalizovaným servírováním přes vLLM. Pro autory modelů to může znamenat rychlejší cestu od nové architektury k použitelnému inference serveru, aniž by museli udržovat dvě oddělené implementace.