ChatPaper.aiChatPaper

NanoFlow: Op weg naar optimale doorvoer voor het serveren van grote taalmodellen

NanoFlow: Towards Optimal Large Language Model Serving Throughput

August 22, 2024
Auteurs: Kan Zhu, Yilong Zhao, Liangyu Zhao, Gefei Zuo, Yile Gu, Dedong Xie, Yufei Gao, Qinyu Xu, Tian Tang, Zihao Ye, Keisuke Kamahori, Chien-Yu Lin, Stephanie Wang, Arvind Krishnamurthy, Baris Kasikci
cs.AI

Samenvatting

Het toenemende gebruik van Large Language Models (LLM's) heeft geleid tot een sterk stijgende vraag naar planetaire schaalsystemen voor het serveren van modellen, waarbij tienduizenden GPU's continu honderden miljoenen gebruikers bedienen. Als gevolg hiervan is doorvoer (onder redelijke latentiebeperkingen) een belangrijke maatstaf geworden die de prestaties van serversystemen bepaalt. Om de doorvoer te verhogen, zijn verschillende methoden van inter-apparaatparallelisme (bijvoorbeeld data-, tensor- en pipelineparallelisme) onderzocht. Bestaande methoden houden echter geen rekening met het overlappen van het gebruik van verschillende bronnen binnen een enkel apparaat, wat leidt tot onderbenutting en suboptimale prestaties. Wij stellen NanoFlow voor, een nieuw serverframework dat intra-apparaatparallelisme benut door het gebruik van bronnen zoals rekenkracht, geheugen en netwerk binnen een enkel apparaat te overlappen via operatie-co-scheduling. Om intra-apparaatparallelisme te benutten, introduceert NanoFlow twee belangrijke innovaties: Ten eerste splitst NanoFlow verzoeken in nano-batches op het niveau van operaties, waardoor de afhankelijkheid van sequentiële operaties bij LLM-inferentie wordt doorbroken en overlapping mogelijk wordt gemaakt. Vervolgens gebruikt NanoFlow een operatie-level pipeline met planning van uitvoeringseenheden, waarbij de functionele eenheden van het apparaat worden gepartitioneerd en verschillende operaties gelijktijdig in elke eenheid worden uitgevoerd. NanoFlow automatiseert de pipeline-instelling met behulp van een parameterzoekalgoritme, waardoor het eenvoudig wordt om NanoFlow naar verschillende modellen te porten. We implementeren NanoFlow op NVIDIA GPU's en evalueren de end-to-end serverdoorvoer op verschillende populaire modellen zoals LLaMA-2-70B, Mixtral 8x7B, LLaMA-3-8B, enz. Met praktische workloads biedt NanoFlow een doorvoerverbetering van 1,91x vergeleken met state-of-the-art serversystemen, waarbij 59% tot 72% van de optimale doorvoer wordt bereikt over de geporteerde modellen.
English
The increasing usage of Large Language Models (LLMs) has resulted in a surging demand for planet-scale serving systems, where tens of thousands of GPUs continuously serve hundreds of millions of users. Consequently, throughput (under reasonable latency constraints) has emerged as a key metric that determines serving systems' performance. To boost throughput, various methods of inter-device parallelism (e.g., data, tensor, pipeline) have been explored. However, existing methods do not consider overlapping the utilization of different resources within a single device, leading to underutilization and sub-optimal performance. We propose NanoFlow, a novel serving framework that exploits intra-device parallelism, which overlaps the usage of resources including compute, memory, and network within a single device through operation co-scheduling. To exploit intra-device parallelism, NanoFlow introduces two key innovations: First, NanoFlow splits requests into nano-batches at the granularity of operations, which breaks the dependency of sequential operations in LLM inference and enables overlapping; then, to get benefit from overlapping, NanoFlow uses an operation-level pipeline with execution unit scheduling, which partitions the device's functional units and simultaneously executes different operations in each unit. NanoFlow automates the pipeline setup using a parameter search algorithm, which enables easily porting NanoFlow to different models. We implement NanoFlow on NVIDIA GPUs and evaluate end-to-end serving throughput on several popular models such as LLaMA-2-70B, Mixtral 8x7B, LLaMA-3-8B, etc.. With practical workloads, NanoFlow provides 1.91x throughput boost compared to state-of-the-art serving systems achieving 59% to 72% of optimal throughput across ported models.

Summary

AI-Generated Summary

PDF182November 16, 2024