ChatPaper.aiChatPaper

NanoFlow: Verso una Produttività Ottimale nel Servizio di Modelli Linguistici di Grandi Dimensioni

NanoFlow: Towards Optimal Large Language Model Serving Throughput

August 22, 2024
Autori: 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

Abstract

L'uso crescente dei Large Language Models (LLM) ha portato a una domanda in forte aumento per sistemi di servizio su scala planetaria, dove decine di migliaia di GPU servono continuamente centinaia di milioni di utenti. Di conseguenza, il throughput (sotto vincoli di latenza ragionevoli) è emerso come una metrica chiave che determina le prestazioni dei sistemi di servizio. Per aumentare il throughput, sono stati esplorati vari metodi di parallelismo inter-dispositivo (ad esempio, dati, tensori, pipeline). Tuttavia, i metodi esistenti non considerano la sovrapposizione dell'utilizzo di diverse risorse all'interno di un singolo dispositivo, portando a una sottoutilizzazione e a prestazioni subottimali. Proponiamo NanoFlow, un nuovo framework di servizio che sfrutta il parallelismo intra-dispositivo, sovrapponendo l'uso di risorse come calcolo, memoria e rete all'interno di un singolo dispositivo attraverso la co-pianificazione delle operazioni. Per sfruttare il parallelismo intra-dispositivo, NanoFlow introduce due innovazioni chiave: in primo luogo, NanoFlow suddivide le richieste in nano-batch a livello di operazioni, rompendo la dipendenza delle operazioni sequenziali nell'inferenza dei LLM e consentendo la sovrapposizione; poi, per trarre vantaggio dalla sovrapposizione, NanoFlow utilizza una pipeline a livello di operazioni con pianificazione delle unità di esecuzione, che partiziona le unità funzionali del dispositivo ed esegue contemporaneamente diverse operazioni in ciascuna unità. NanoFlow automatizza la configurazione della pipeline utilizzando un algoritmo di ricerca dei parametri, che consente di portare facilmente NanoFlow su diversi modelli. Abbiamo implementato NanoFlow su GPU NVIDIA e valutato il throughput end-to-end del servizio su diversi modelli popolari come LLaMA-2-70B, Mixtral 8x7B, LLaMA-3-8B, ecc. Con carichi di lavoro pratici, NanoFlow fornisce un aumento del throughput di 1,91x rispetto ai sistemi di servizio all'avanguardia, raggiungendo dal 59% al 72% del throughput ottimale nei modelli portati.
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.
PDF182November 16, 2024